From 4902263bd18d88538e282f75a9b687816b9625a8 Mon Sep 17 00:00:00 2001 From: yss <17921@qq.com> Date: Sun, 23 Apr 2023 15:42:08 +0800 Subject: [PATCH] =?UTF-8?q?=E9=AB=98=E8=B4=A8=E9=87=8F=E8=BF=90=E8=90=A5-?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 5 + .../HighQualityClientController.java | 124 ++++++++++ .../HighQualityMaintainController.java | 167 +++++++++++++ .../dao/HighQualityCommentMapper.java | 13 ++ .../dao/HighQualityContactMapper.java | 9 + .../HighQualityContactSuggestionMapper.java | 13 ++ .../dao/HighQualityLikesMapper.java | 13 ++ .../dao/HighQualityMockDataMapper.java | 9 + .../dao/HighQualityStyleMapper.java | 9 + .../dao/mapper/HighQualityCommentMapper.xml | 23 ++ .../dao/mapper/HighQualityContactMapper.xml | 25 ++ .../HighQualityContactSuggestionMapper.xml | 29 +++ .../dao/mapper/HighQualityLikesMapper.xml | 20 ++ .../dao/mapper/HighQualityMockDataMapper.xml | 19 ++ .../dao/mapper/HighQualityStyleMapper.xml | 23 ++ .../entity/HighQualityComment.java | 72 ++++++ .../entity/HighQualityContact.java | 130 +++++++++++ .../entity/HighQualityContactSuggestion.java | 111 +++++++++ .../highquality/entity/HighQualityLikes.java | 57 +++++ .../entity/HighQualityMockData.java | 88 +++++++ .../highquality/entity/HighQualityStyle.java | 148 ++++++++++++ .../enums/HighQualityExceptionEnum.java | 32 +++ .../service/HighQualityCommentService.java | 17 ++ .../service/HighQualityContactService.java | 24 ++ .../service/HighQualityLikesService.java | 17 ++ .../service/HighQualityMockDataService.java | 22 ++ .../service/HighQualityStyleService.java | 35 +++ .../service/IHighQualityCommentService.java | 16 ++ .../IHighQualityContactSuggestionService.java | 25 ++ .../service/IHighQualityLikesService.java | 16 ++ .../impl/HighQualityCommentServiceImpl.java | 45 ++++ .../impl/HighQualityContactServiceImpl.java | 60 +++++ ...ghQualityContactSuggestionServiceImpl.java | 130 +++++++++++ .../impl/HighQualityLikesServiceImpl.java | 50 ++++ .../impl/HighQualityMockDataServiceImpl.java | 112 +++++++++ .../impl/HighQualityStyleServiceImpl.java | 221 ++++++++++++++++++ .../vo/HighQualityMaintainInVO.java | 84 +++++++ .../vo/HighQualityMaintainOutVO.java | 108 +++++++++ .../vo/HighQualityMockDataValue.java | 41 ++++ .../highquality/vo/HighQualityQueryInVO.java | 45 ++++ .../vo/HighQualityRightDataVO.java | 42 ++++ .../uploadOss/service/IUploadOssService.java | 12 + .../service/impl/UploadOssServiceImpl.java | 97 ++++++++ 43 files changed, 2358 insertions(+) create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/controller/HighQualityClientController.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/controller/HighQualityMaintainController.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/HighQualityCommentMapper.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/HighQualityContactMapper.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/HighQualityContactSuggestionMapper.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/HighQualityLikesMapper.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/HighQualityMockDataMapper.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/HighQualityStyleMapper.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/mapper/HighQualityCommentMapper.xml create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/mapper/HighQualityContactMapper.xml create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/mapper/HighQualityContactSuggestionMapper.xml create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/mapper/HighQualityLikesMapper.xml create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/mapper/HighQualityMockDataMapper.xml create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/mapper/HighQualityStyleMapper.xml create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/entity/HighQualityComment.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/entity/HighQualityContact.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/entity/HighQualityContactSuggestion.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/entity/HighQualityLikes.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/entity/HighQualityMockData.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/entity/HighQualityStyle.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/enums/HighQualityExceptionEnum.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/HighQualityCommentService.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/HighQualityContactService.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/HighQualityLikesService.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/HighQualityMockDataService.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/HighQualityStyleService.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/IHighQualityCommentService.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/IHighQualityContactSuggestionService.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/IHighQualityLikesService.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/impl/HighQualityCommentServiceImpl.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/impl/HighQualityContactServiceImpl.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/impl/HighQualityContactSuggestionServiceImpl.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/impl/HighQualityLikesServiceImpl.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/impl/HighQualityMockDataServiceImpl.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/impl/HighQualityStyleServiceImpl.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/vo/HighQualityMaintainInVO.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/vo/HighQualityMaintainOutVO.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/vo/HighQualityMockDataValue.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/vo/HighQualityQueryInVO.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/vo/HighQualityRightDataVO.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/uploadOss/service/IUploadOssService.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/uploadOss/service/impl/UploadOssServiceImpl.java diff --git a/pom.xml b/pom.xml index f2ad00d..30887a1 100644 --- a/pom.xml +++ b/pom.xml @@ -95,6 +95,11 @@ system ${basedir}/lib/bcprov-jdk15to18-1.65.jar + + com.aliyun.oss + aliyun-sdk-oss + 3.10.2 + diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/controller/HighQualityClientController.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/controller/HighQualityClientController.java new file mode 100644 index 0000000..0371f35 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/controller/HighQualityClientController.java @@ -0,0 +1,124 @@ +package com.chinaunicom.mall.ebtp.extend.highquality.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; +import com.chinaunicom.mall.ebtp.extend.highquality.entity.*; +import com.chinaunicom.mall.ebtp.extend.highquality.service.*; +import com.chinaunicom.mall.ebtp.extend.highquality.vo.HighQualityQueryInVO; +import com.chinaunicom.mall.ebtp.extend.partyMemberEvent.entity.EventContactSuggestion; +import com.chinaunicom.mall.ebtp.extend.signature.entity.ExpertSignature; +import com.chinaunicom.mall.ebtp.extend.uploadOss.service.IUploadOssService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.apache.commons.lang.StringUtils; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.List; +import java.util.Map; + +@RestController +@Api(tags = "高质量运营客户端") +@RequestMapping("/v1/highqualityclient") +public class HighQualityClientController { + + @Resource + private HighQualityMockDataService highQualityMockDataService; + @Resource + private HighQualityStyleService highQualityStyleService; + @Resource + private HighQualityContactService highQualityContactService; + @Resource + private HighQualityLikesService highQualityLikesService; + @Resource + private HighQualityCommentService highQualityCommentService; + @Resource + private IUploadOssService iUploadOssService; + @Resource + private IHighQualityContactSuggestionService highQualityContactSuggestionService; + + @ApiOperation("右侧专业线数据") + @GetMapping("/data/list") + public BaseResponse> getProfessionalDataList() { + return BaseResponse.success(highQualityMockDataService.getProfessionalDataList()); + } + + @ApiOperation("活动风采轮播列表") + @GetMapping("/eventStyle/banner") + public BaseResponse> getHighQualityStyleBanner() { + return BaseResponse.success(highQualityStyleService.getHighQualityStyle("banner",null)); + } + + @ApiOperation("活动联系人列表-按公司分组") + @PostMapping("/eventContact/group") + public BaseResponse>> getHighQualityContactGroup(@RequestBody(required = false) HighQualityQueryInVO inVO) { + return BaseResponse.success(highQualityContactService.getHighQualityContactGroup(inVO)); + } + + @ApiOperation("活动联系人列表") + @GetMapping("/eventContact/list") + public BaseResponse> getHighQualityContactList() { + return BaseResponse.success(highQualityContactService.getHighQualityContactList()); + } + + @ApiOperation("活动课题列表") + @PostMapping("/eventSubject/list") + public BaseResponse> getHighQualitySubjectList(@RequestBody(required = false) HighQualityQueryInVO inVO) { + return BaseResponse.success(highQualityStyleService.getHighQualitySubjectList(inVO)); + } + + + @ApiOperation("活动风采列表") + @PostMapping("/eventStyle/list") + public BaseResponse> getHighQualityStyleList(@RequestBody(required = false) HighQualityQueryInVO inVO) { + return BaseResponse.success(highQualityStyleService.getHighQualityStyle("list", inVO)); + } + + + @ApiOperation("保存联系人") + @PostMapping("/save/contact") + public BaseResponse saveContact(@RequestBody HighQualityContact inVO) { + return BaseResponse.success(highQualityContactService.saveContact(inVO)); + } + @ApiOperation("点赞") + @PostMapping("/saveLikes") + public BaseResponse saveLikes(@RequestBody HighQualityLikes inVO) { + return highQualityLikesService.saveLikes(inVO); + } + + @ApiOperation("保存评论") + @PostMapping("/saveComment") + public BaseResponse saveComment(@RequestBody HighQualityComment inVO) { + return highQualityCommentService.saveComment(inVO); + } + @ApiOperation("查询评论") + @PostMapping("/findComments") + public BaseResponse findComments(@RequestBody HighQualityComment inVO) { + if(StringUtils.isBlank(inVO.getReId())){ + BaseResponse.fail("查询不能为空"); + } + inVO.setDeleteFlag(0); + LambdaQueryWrapper queryWrapper= Wrappers.lambdaQuery(inVO); + queryWrapper.orderByDesc(HighQualityComment::getCreateTime); + return BaseResponse.success(highQualityCommentService.list(queryWrapper)); + } + + @ApiOperation("oss文件下载") + @PostMapping("/download") + public void download(@RequestParam String key, HttpServletResponse response) throws IOException { + iUploadOssService.download(response,key); + } + + @ApiOperation("我要提意见") + @PostMapping("/submitSuggestion") + public BaseResponse submitSuggestion(@ApiParam(value = "对象数据", required = true) @RequestBody HighQualityContactSuggestion inVO) { + return BaseResponse.success(highQualityContactSuggestionService.submitSuggestion(inVO)); + } + +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/controller/HighQualityMaintainController.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/controller/HighQualityMaintainController.java new file mode 100644 index 0000000..7231eab --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/controller/HighQualityMaintainController.java @@ -0,0 +1,167 @@ +package com.chinaunicom.mall.ebtp.extend.highquality.controller; + + +import com.chinaunicom.mall.ebtp.common.base.entity.BasePageResponse; +import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; +import com.chinaunicom.mall.ebtp.common.log.OperationLogDetail; +import com.chinaunicom.mall.ebtp.common.log.enums.EbtpLogBusinessModule; +import com.chinaunicom.mall.ebtp.common.log.enums.EbtpLogType; +import com.chinaunicom.mall.ebtp.common.poiExport.constant.ExportConstant; +import com.chinaunicom.mall.ebtp.common.poiExport.entity.ExcelTable; +import com.chinaunicom.mall.ebtp.extend.highquality.entity.*; +import com.chinaunicom.mall.ebtp.extend.highquality.service.*; +import com.chinaunicom.mall.ebtp.extend.highquality.vo.HighQualityMaintainInVO; +import com.chinaunicom.mall.ebtp.extend.highquality.vo.HighQualityMaintainOutVO; +import com.chinaunicom.mall.ebtp.extend.highquality.vo.HighQualityRightDataVO; +import com.chinaunicom.mall.ebtp.extend.partyMemberEvent.entity.EventContactSuggestion; +import com.chinaunicom.mall.ebtp.extend.partyMemberEvent.entity.EventMaintainInVO; +import com.chinaunicom.mall.ebtp.extend.uploadOss.service.IUploadOssService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.*; +import java.util.List; + +@RestController +@Api(tags = "高质量运营运维接口") +@Slf4j +@RequestMapping("/v1/highqualitymaintain") +public class HighQualityMaintainController { + + @Resource + private HighQualityMockDataService highQualityMockDataService; + @Resource + private HighQualityStyleService highQualityStyleService; + @Resource + private HighQualityContactService highQualityContactService; + @Resource + private IUploadOssService iUploadOssService; + @Resource + private IHighQualityContactSuggestionService highQualityContactSuggestionService; + + @ApiOperation("保存联系人") + @PostMapping("/save/contact") + public BaseResponse saveContact(@RequestBody HighQualityContact inVO) { + return BaseResponse.success(highQualityContactService.saveContact(inVO)); + } + + + @ApiOperation("保存攻坚项目") + @PostMapping("/save/subject") + public BaseResponse saveSubject(@RequestBody HighQualityStyle inVO) { + return BaseResponse.success(highQualityStyleService.saveSubject(inVO)); + } + + + @ApiOperation("保存活动风采") + @PostMapping("/save/style") + public BaseResponse saveStyle(@RequestBody HighQualityStyle inVO) { + return BaseResponse.success(highQualityStyleService.saveStyle(inVO)); + } + + @ApiOperation("更新右侧栏数据") + @PostMapping("/save/rightData") + public BaseResponse saveRightData(@RequestBody HighQualityRightDataVO inVO) { + return BaseResponse.success(highQualityMockDataService.saveRightData(inVO)); + } + + + @ApiOperation("查询右侧栏数据") + @PostMapping("/query/rightData") + public BaseResponse queryRightData() { + return BaseResponse.success(highQualityMockDataService.queryRightData()); + } + + @ApiOperation("后台查询列表") + @PostMapping("/styleProject/list") + public BasePageResponse queryStyleAndProject(@RequestBody(required = false) HighQualityMaintainInVO inVO) { + return BasePageResponse.success(highQualityStyleService.queryStyleAndProject(inVO)); + } + + @ApiOperation("保存风采或项目") + @PostMapping("/styleProject/save") + public BaseResponse saveStyleOrProject(@RequestBody HighQualityMaintainOutVO inVO) { + return BaseResponse.success(highQualityStyleService.saveStyleOrProject(inVO)); + } + + @ApiOperation("发送风采或项目") + @GetMapping("/styleProject/send") + public BaseResponse sendStyleOrProject(@RequestParam("id") String id,@RequestParam("status") String status) { + return BaseResponse.success(highQualityStyleService.sendStyleOrProject(id, status)); + } + + @ApiOperation("删除风采或项目") + @GetMapping("/styleProject/delete") + public BaseResponse deleteStyleOrProject(@RequestParam("id") String id) { + return BaseResponse.success(highQualityStyleService.deleteStyleOrProject(id)); + } + + @ApiOperation("oss文件上传") + @PostMapping("/upload") + @OperationLogDetail(businessModule = EbtpLogBusinessModule.OTHER, operationType = EbtpLogType.SELECT, detail = "高质量-视频上传") + public BaseResponse upload(@RequestParam("file") MultipartFile file) throws IOException { + return BaseResponse.success(iUploadOssService.uploadFile(file,"oss/highquality")); + } + @ApiOperation("后台查询列表") + @PostMapping("/suggestion/list") + public BasePageResponse querySuggestion(@RequestBody(required = false) EventMaintainInVO inVO) { + return BasePageResponse.success(highQualityContactSuggestionService.querySuggestion(inVO)); + } + + @GetMapping(value = "/suggestion/export/") + public BaseResponse export(@RequestParam(value = "ids",required = false) List ids) { + ExcelTable table = highQualityContactSuggestionService.export(ids); + ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + HttpServletResponse response = requestAttributes.getResponse(); + this.exportGetlist(response, table); + return BaseResponse.success(true); + } + + public void exportGetlist(HttpServletResponse response, ExcelTable table) { + + OutputStream out = null; + InputStream is = null; + File file = null; + try { + file = ExportConstant.generateExcelByTable(table); + response.addHeader("content-disposition", "attachment;filename=" + + java.net.URLEncoder.encode(file.getName(), "utf-8")); + out = response.getOutputStream(); + is = new FileInputStream(file); + + byte[] b = new byte[4096]; + int size = is.read(b); + while (size > 0) { + out.write(b, 0, size); + size = is.read(b); + } + out.close(); + is.close(); + } catch (Exception e) { + log.error("error: {}, {}", table.toString(), e.getMessage()); + } finally { + try { + if (is != null) { + is.close(); + } + if (out != null) { + out.close(); + } + } catch (IOException e) { + log.error("error: {}, {}", table.toString(), e.getMessage()); + } + if (file != null) { + boolean delete = file.delete(); + log.info("delete:{}", delete); + } + } + } +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/HighQualityCommentMapper.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/HighQualityCommentMapper.java new file mode 100644 index 0000000..4c367e6 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/HighQualityCommentMapper.java @@ -0,0 +1,13 @@ +package com.chinaunicom.mall.ebtp.extend.highquality.dao; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.chinaunicom.mall.ebtp.extend.highquality.entity.HighQualityComment; + +/** +* @auto.generated +*/ +public interface HighQualityCommentMapper extends BaseMapper { + + +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/HighQualityContactMapper.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/HighQualityContactMapper.java new file mode 100644 index 0000000..d4492e7 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/HighQualityContactMapper.java @@ -0,0 +1,9 @@ +package com.chinaunicom.mall.ebtp.extend.highquality.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.chinaunicom.mall.ebtp.extend.highquality.entity.HighQualityContact; + +public interface HighQualityContactMapper extends BaseMapper { + + +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/HighQualityContactSuggestionMapper.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/HighQualityContactSuggestionMapper.java new file mode 100644 index 0000000..94946e2 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/HighQualityContactSuggestionMapper.java @@ -0,0 +1,13 @@ +package com.chinaunicom.mall.ebtp.extend.highquality.dao; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.chinaunicom.mall.ebtp.extend.highquality.entity.HighQualityContactSuggestion; + +/** +* @auto.generated +*/ +public interface HighQualityContactSuggestionMapper extends BaseMapper { + + +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/HighQualityLikesMapper.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/HighQualityLikesMapper.java new file mode 100644 index 0000000..57f597d --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/HighQualityLikesMapper.java @@ -0,0 +1,13 @@ +package com.chinaunicom.mall.ebtp.extend.highquality.dao; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.chinaunicom.mall.ebtp.extend.highquality.entity.HighQualityLikes; + +/** +* @auto.generated +*/ +public interface HighQualityLikesMapper extends BaseMapper { + + +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/HighQualityMockDataMapper.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/HighQualityMockDataMapper.java new file mode 100644 index 0000000..dd56026 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/HighQualityMockDataMapper.java @@ -0,0 +1,9 @@ +package com.chinaunicom.mall.ebtp.extend.highquality.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.chinaunicom.mall.ebtp.extend.highquality.entity.HighQualityMockData; + +public interface HighQualityMockDataMapper extends BaseMapper { + + +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/HighQualityStyleMapper.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/HighQualityStyleMapper.java new file mode 100644 index 0000000..0d215e5 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/HighQualityStyleMapper.java @@ -0,0 +1,9 @@ +package com.chinaunicom.mall.ebtp.extend.highquality.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.chinaunicom.mall.ebtp.extend.highquality.entity.HighQualityStyle; + +public interface HighQualityStyleMapper extends BaseMapper { + + +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/mapper/HighQualityCommentMapper.xml b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/mapper/HighQualityCommentMapper.xml new file mode 100644 index 0000000..6a50bf8 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/mapper/HighQualityCommentMapper.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + update high_quality_comment + set + delete_flag="deleted" + where ID=#{id,jdbcType=BIGINT} + + \ No newline at end of file diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/mapper/HighQualityContactMapper.xml b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/mapper/HighQualityContactMapper.xml new file mode 100644 index 0000000..fcaf480 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/mapper/HighQualityContactMapper.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/mapper/HighQualityContactSuggestionMapper.xml b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/mapper/HighQualityContactSuggestionMapper.xml new file mode 100644 index 0000000..17929f9 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/mapper/HighQualityContactSuggestionMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + update high_quality_contact_suggestion + set + delete_flag="deleted" + where ID=#{id,jdbcType=BIGINT} + + \ No newline at end of file diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/mapper/HighQualityLikesMapper.xml b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/mapper/HighQualityLikesMapper.xml new file mode 100644 index 0000000..657a29a --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/mapper/HighQualityLikesMapper.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + update high_quality_likes + set + delete_flag="deleted" + where ID=#{id,jdbcType=BIGINT} + + \ No newline at end of file diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/mapper/HighQualityMockDataMapper.xml b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/mapper/HighQualityMockDataMapper.xml new file mode 100644 index 0000000..b1cfc04 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/mapper/HighQualityMockDataMapper.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/mapper/HighQualityStyleMapper.xml b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/mapper/HighQualityStyleMapper.xml new file mode 100644 index 0000000..1e8f0d8 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/dao/mapper/HighQualityStyleMapper.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/entity/HighQualityComment.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/entity/HighQualityComment.java new file mode 100644 index 0000000..905cc2b --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/entity/HighQualityComment.java @@ -0,0 +1,72 @@ +package com.chinaunicom.mall.ebtp.extend.highquality.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.chinaunicom.mall.ebtp.common.config.CustomLocalDateTimeTypeHandler; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; +import java.io.Serializable; + +/** + * 实体类 HighQualityComment + * + * @auto.generated + */ +@Data +@Accessors(chain = true) +@ApiModel +@EqualsAndHashCode(callSuper = false) +@TableName(value = "high_quality_comment", autoResultMap = true) +public class HighQualityComment implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * + */ + @ApiModelProperty(value = "") + private String id; + + /** + * 关联表的主键id + */ + @ApiModelProperty(value = "关联表的主键id") + private String reId; + + /** + * 评论内容 + */ + @ApiModelProperty(value = "评论内容") + private String context; + + /** + * 评论人id + */ + @ApiModelProperty(value = "评论人id") + private String createrId; + + /** + * 评论人姓名 + */ + @ApiModelProperty(value = "评论人姓名") + private String createrName; + + /** + * 评论时间 + */ + @ApiModelProperty(value = "评论时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @TableField(typeHandler = CustomLocalDateTimeTypeHandler.class) + private java.time.LocalDateTime createTime; + + @ApiModelProperty(value = "删除标识") + private Integer deleteFlag; + +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/entity/HighQualityContact.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/entity/HighQualityContact.java new file mode 100644 index 0000000..c26c071 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/entity/HighQualityContact.java @@ -0,0 +1,130 @@ +package com.chinaunicom.mall.ebtp.extend.highquality.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.chinaunicom.mall.ebtp.common.config.CustomLocalDateTimeTypeHandler; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; + +/** + * 实体类 EventContact + * + * @auto.generated + */ +@Data +@Accessors(chain = true) +@ApiModel +@TableName(value = "high_quality_contact", autoResultMap = true) +public class HighQualityContact implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId + @ApiModelProperty(value = "id") + private String id; + + /** + * 联系人名称 + */ + @ApiModelProperty(value = "联系人名称") + private String contactName; + + /** + * 联系人id + */ + @ApiModelProperty(value = "联系人id") + private String contactId; + + /** + * 联系人编码 + */ + @ApiModelProperty(value = "联系人编码") + private String contactCode; + + /** + * 头像 + */ + @ApiModelProperty(value = "头像") + private String image; + + /** + * 排序 + */ + @ApiModelProperty(value = "排序") + private Integer sort; + + /** + * 状态 0-无效 1-有效 + */ + @ApiModelProperty(value = "状态 0-无效 1-有效") + private String status; + + /** + * 用户单位 + */ + @ApiModelProperty(value = "用户单位") + private String contactUnit; + + /** + * 用户单位编码 + */ + @ApiModelProperty(value = "用户单位编码") + private String contactUnitCode; + + /** + * 部门/处室 + */ + @ApiModelProperty(value = "部门/处室") + private String contactDepartment; + + /** + * 部门/处室编码 + */ + @ApiModelProperty(value = "部门/处室编码") + private String contactDepartmentCode; + + /** + * 用户类别 + */ + @ApiModelProperty(value = "用户类别") + private String contactClass; + + /** + * 联系电话 + */ + @ApiModelProperty(value = "联系电话") + private String contactMobiphone; + + /** + * 联系邮箱 + */ + @ApiModelProperty(value = "联系邮箱") + private String contactEmail; + + /** + * 备注 + */ + @ApiModelProperty(value = "备注") + private String remark; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @TableField(typeHandler = CustomLocalDateTimeTypeHandler.class) + private java.time.LocalDateTime createTime; + + +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/entity/HighQualityContactSuggestion.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/entity/HighQualityContactSuggestion.java new file mode 100644 index 0000000..29b2674 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/entity/HighQualityContactSuggestion.java @@ -0,0 +1,111 @@ +package com.chinaunicom.mall.ebtp.extend.highquality.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.chinaunicom.mall.ebtp.common.config.CustomLocalDateTimeTypeHandler; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; +import java.io.Serializable; + +/** + * 实体类 HighQualityContactSuggestion + * + * @auto.generated + */ +@Data +@Accessors(chain = true) +@ApiModel +@EqualsAndHashCode(callSuper = false) +@TableName(value = "high_quality_contact_suggestion", autoResultMap = true) +public class HighQualityContactSuggestion implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * id + */ + @ApiModelProperty(value = "id") + private String id; + + /** + * 联系人名称 + */ + @ApiModelProperty(value = "联系人名称") + private String contactName; + + /** + * 联系人id event_contact表id + */ + @ApiModelProperty(value = "联系人id event_contact表id") + private String contactId; + + /** + * 意见类型:1-指导型 2-建设型 3-规划型 4-政策型 + */ + @ApiModelProperty(value = "意见类型:1-指导型 2-建设型 3-规划型 4-政策型") + private String suggestionType; + + /** + * 意见内容 + */ + @ApiModelProperty(value = "意见内容") + private String suggestionContent; + + /** + * 补充说明 + */ + @ApiModelProperty(value = "补充说明") + private String instructions; + + /** + * 意见提出人 + */ + @ApiModelProperty(value = "意见提出人") + private String suggestionSponsor; + + /** + * 意见提出人id + */ + @ApiModelProperty(value = "意见提出人id") + private String suggestionSponsorId; + + /** + * 意见提出人组织机构 + */ + @ApiModelProperty(value = "意见提出人组织机构") + private String suggestionSponsorUnit; + + /** + * 备注 + */ + @ApiModelProperty(value = "备注") + private String remark; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @TableField(typeHandler = CustomLocalDateTimeTypeHandler.class) + private java.time.LocalDateTime createTime; + + /** + * 附件id + */ + @ApiModelProperty(value = "附件id") + private String attachmentImage; + + /** + * 公司 + */ + @ApiModelProperty(value = "公司") + private String company; + + +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/entity/HighQualityLikes.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/entity/HighQualityLikes.java new file mode 100644 index 0000000..27f8dc5 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/entity/HighQualityLikes.java @@ -0,0 +1,57 @@ +package com.chinaunicom.mall.ebtp.extend.highquality.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.chinaunicom.mall.ebtp.common.config.CustomLocalDateTimeTypeHandler; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; +import java.io.Serializable; + +/** + * 实体类 HighQualityLikes + * + * @auto.generated + */ +@Data +@Accessors(chain = true) +@ApiModel +@EqualsAndHashCode(callSuper = false) +@TableName(value = "high_quality_likes", autoResultMap = true) +public class HighQualityLikes implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @ApiModelProperty(value = "主键") + private String id; + + /** + * 关联表的主键id + */ + @ApiModelProperty(value = "关联表的主键id") + private String reId; + + /** + * 点赞账户 + */ + @ApiModelProperty(value = "点赞账户") + private String account; + + /** + * 点赞时间 + */ + @ApiModelProperty(value = "点赞时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @TableField(typeHandler = CustomLocalDateTimeTypeHandler.class) + private java.time.LocalDateTime createTime; + + +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/entity/HighQualityMockData.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/entity/HighQualityMockData.java new file mode 100644 index 0000000..45de519 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/entity/HighQualityMockData.java @@ -0,0 +1,88 @@ +package com.chinaunicom.mall.ebtp.extend.highquality.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.chinaunicom.mall.ebtp.extend.partyMemberEvent.entity.MockDataValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.List; + +/** + * 实体类 EventMockData + * + * @auto.generated + */ +@Data +@Accessors(chain = true) +@ApiModel +@TableName(value = "high_quality_mock_data", autoResultMap = true) +public class HighQualityMockData implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * id + */ + @ApiModelProperty(value = "id") + private String id; + + /** + * 数据归类 + */ + @ApiModelProperty(value = "数据归类") + private String dataClass; + + /** + * 数据父类 + */ + @ApiModelProperty(value = "数据父类") + private String parentClass; + + /** + * 数据拼音 + */ + @ApiModelProperty(value = "数据拼音") + private String dataPy; + + /** + * 数据值 + */ + @ApiModelProperty(value = "数据值") + private String dataValue; + + /** + * 数据单位 + */ + @ApiModelProperty(value = "数据单位") + private String dataType; + + /** + * 数据名称 + */ + @ApiModelProperty(value = "数据名称") + private String dataName; + + /** + * 同比 + */ + @ApiModelProperty(value = "同比") + private String dataCompare; + + /** + * 同比 + */ + @TableField(exist = false) + @ApiModelProperty(value = "同比") + private List data; + + /** + * 状态 0-无效 1-有效 + */ + @ApiModelProperty(value = "状态 0-无效 1-有效") + private String status; + +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/entity/HighQualityStyle.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/entity/HighQualityStyle.java new file mode 100644 index 0000000..6504041 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/entity/HighQualityStyle.java @@ -0,0 +1,148 @@ +package com.chinaunicom.mall.ebtp.extend.highquality.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.chinaunicom.mall.ebtp.common.config.CustomLocalDateTimeTypeHandler; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; +import org.springframework.web.multipart.MultipartFile; + +import java.io.Serializable; + +/** + * 实体类 EventStyle + * + * @auto.generated + */ +@Data +@Accessors(chain = true) +@ApiModel +@TableName(value = "high_quality_style", autoResultMap = true) +public class HighQualityStyle implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId + @ApiModelProperty(value = "id") + private String id; + + /** + * 标题 + */ + @ApiModelProperty(value = "标题") + private String title; + + /** + * 二级标题 + */ + @ApiModelProperty(value = "二级标题") + private String secordTitle; + + /** + * 图片文字 + */ + @ApiModelProperty(value = "图片文字") + private String imageWord; + + /** + * 头图 + */ + @ApiModelProperty(value = "头图") + private String titleImage; + + /** + * 类别 + */ + @ApiModelProperty(value = "类别 1-首页,2-工作风采,3-高质量运营标杆项目,4-运营小课堂") + private String category; + + /** + * 活动内容正文 + */ + @ApiModelProperty(value = "活动内容正文") + private String content; + + /** + * 活动图片 + */ + @ApiModelProperty(value = "活动图片") + private String image; + + /** + * 显示排序 + */ + @ApiModelProperty(value = "显示排序") + private Integer sort; + + /** + * 是否轮播广告:0-否,1-是 + */ + @ApiModelProperty(value = "是否轮播广告:0-否,1-是") + private String banner; + + /** + * 页面显示状态: 0-隐藏 1-显示 + */ + @ApiModelProperty(value = "页面显示状态: 0-隐藏 1-显示") + private String status; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @TableField(typeHandler = CustomLocalDateTimeTypeHandler.class) + private java.time.LocalDateTime createTime; + + /** + * 发布时间 + */ + @ApiModelProperty(value = "发布时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @TableField(typeHandler = CustomLocalDateTimeTypeHandler.class) + private java.time.LocalDateTime sendTime; + + /** + * 文件地址 + */ + @ApiModelProperty(value = "文件地址") + @TableField(exist = false) + private String filePath; + + /** + * 发布人 + */ + @ApiModelProperty(value = "发布人") + private String createBy; + + + /** + * 删除标识 + */ + @ApiModelProperty(value = "删除标识") + private String deleteFlag; + + + /** + * 正文图片id + */ + @ApiModelProperty(value = "正文图片id") + private String contentImageId; + + /** + * 文件 + */ + @ApiModelProperty(value = "文件") + @TableField(exist = false) + private MultipartFile file; +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/enums/HighQualityExceptionEnum.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/enums/HighQualityExceptionEnum.java new file mode 100644 index 0000000..cd92e40 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/enums/HighQualityExceptionEnum.java @@ -0,0 +1,32 @@ +package com.chinaunicom.mall.ebtp.extend.highquality.enums; + +import com.chinaunicom.mall.ebtp.common.exception.service.BusinessExceptionAssert; +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum HighQualityExceptionEnum implements BusinessExceptionAssert { + /** + * 没有党支部信息 + */ + FRAME_EXCEPTION_NO(2200001, ""), + FRAME_EXCEPTION_NO_IMAGE_INFO_FAIL(2200002, "文档中心异常!"), + FRAME_EXCEPTION_PARAM_IS_NULL_FAIL(2200003, "缺少必要参数!"), + + + + /** + * 判断接口返回是否有数据 + */ + IS_SUCCESS(2200002, "接口返回异常"); + + /** + * 返回码 + */ + private final int code; + /** + * 返回消息 + */ + private final String message; +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/HighQualityCommentService.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/HighQualityCommentService.java new file mode 100644 index 0000000..6231785 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/HighQualityCommentService.java @@ -0,0 +1,17 @@ +package com.chinaunicom.mall.ebtp.extend.highquality.service; + + +import com.baomidou.mybatisplus.extension.service.IService; +import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; +import com.chinaunicom.mall.ebtp.extend.highquality.entity.HighQualityComment; + +/** + * 对数据表 high_quality_comment 操作的 service + * @author Auto create + * + */ +public interface HighQualityCommentService extends IService{ + + + BaseResponse saveComment(HighQualityComment inVo); +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/HighQualityContactService.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/HighQualityContactService.java new file mode 100644 index 0000000..5324a04 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/HighQualityContactService.java @@ -0,0 +1,24 @@ +package com.chinaunicom.mall.ebtp.extend.highquality.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.chinaunicom.mall.ebtp.extend.highquality.entity.HighQualityContact; +import com.chinaunicom.mall.ebtp.extend.highquality.vo.HighQualityQueryInVO; + +import java.util.List; +import java.util.Map; + +/** + * 对数据表 high_quality_contact 操作的 service + * @author Auto create + * + */ +public interface HighQualityContactService extends IService{ + + + + Map> getHighQualityContactGroup(HighQualityQueryInVO inVO); + + List getHighQualityContactList(); + + boolean saveContact(HighQualityContact inVO); +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/HighQualityLikesService.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/HighQualityLikesService.java new file mode 100644 index 0000000..de78de0 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/HighQualityLikesService.java @@ -0,0 +1,17 @@ +package com.chinaunicom.mall.ebtp.extend.highquality.service; + + +import com.baomidou.mybatisplus.extension.service.IService; +import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; +import com.chinaunicom.mall.ebtp.extend.highquality.entity.HighQualityLikes; + +/** + * 对数据表 high_quality_likes 操作的 service + * @author Auto create + * + */ +public interface HighQualityLikesService extends IService{ + + + BaseResponse saveLikes(HighQualityLikes inVo); +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/HighQualityMockDataService.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/HighQualityMockDataService.java new file mode 100644 index 0000000..b5adadc --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/HighQualityMockDataService.java @@ -0,0 +1,22 @@ +package com.chinaunicom.mall.ebtp.extend.highquality.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.chinaunicom.mall.ebtp.extend.highquality.entity.HighQualityMockData; +import com.chinaunicom.mall.ebtp.extend.highquality.vo.HighQualityRightDataVO; + +import java.util.List; + +/** + * 对数据表 high_quality_mock_data 操作的 service + * @author Auto create + * + */ +public interface HighQualityMockDataService extends IService{ + + + List getProfessionalDataList(); + + boolean saveRightData(HighQualityRightDataVO inVO); + + HighQualityRightDataVO queryRightData(); +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/HighQualityStyleService.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/HighQualityStyleService.java new file mode 100644 index 0000000..5710e39 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/HighQualityStyleService.java @@ -0,0 +1,35 @@ +package com.chinaunicom.mall.ebtp.extend.highquality.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import com.chinaunicom.mall.ebtp.extend.highquality.entity.HighQualityStyle; +import com.chinaunicom.mall.ebtp.extend.highquality.vo.HighQualityMaintainInVO; +import com.chinaunicom.mall.ebtp.extend.highquality.vo.HighQualityMaintainOutVO; +import com.chinaunicom.mall.ebtp.extend.highquality.vo.HighQualityQueryInVO; + +import java.util.List; + +/** + * 对数据表 high_quality_style 操作的 service + * @author Auto create + * + */ +public interface HighQualityStyleService extends IService{ + + + List getHighQualityStyle(String type, HighQualityQueryInVO inVO); + + boolean saveStyle(HighQualityStyle inVO); + + IPage queryStyleAndProject(HighQualityMaintainInVO inVO); + + boolean saveStyleOrProject(HighQualityMaintainOutVO inVO); + + boolean sendStyleOrProject(String id,String status); + + boolean deleteStyleOrProject(String id); + + List getHighQualitySubjectList(HighQualityQueryInVO inVO); + + boolean saveSubject(HighQualityStyle inVO); +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/IHighQualityCommentService.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/IHighQualityCommentService.java new file mode 100644 index 0000000..c62432f --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/IHighQualityCommentService.java @@ -0,0 +1,16 @@ +package com.chinaunicom.mall.ebtp.extend.highquality.service; + + +import com.baomidou.mybatisplus.extension.service.IService; +import com.chinaunicom.mall.ebtp.extend.highquality.entity.HighQualityComment; + +/** + * 对数据表 high_quality_comment 操作的 service + * @author Auto create + * + */ +public interface IHighQualityCommentService extends IService{ + + + +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/IHighQualityContactSuggestionService.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/IHighQualityContactSuggestionService.java new file mode 100644 index 0000000..dc3b4d8 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/IHighQualityContactSuggestionService.java @@ -0,0 +1,25 @@ +package com.chinaunicom.mall.ebtp.extend.highquality.service; + + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import com.chinaunicom.mall.ebtp.common.poiExport.entity.ExcelTable; +import com.chinaunicom.mall.ebtp.extend.highquality.entity.HighQualityContactSuggestion; +import com.chinaunicom.mall.ebtp.extend.partyMemberEvent.entity.EventMaintainInVO; + +import java.util.List; + +/** + * 对数据表 high_quality_contact_suggestion 操作的 service + * @author Auto create + * + */ +public interface IHighQualityContactSuggestionService extends IService{ + + + Boolean submitSuggestion(HighQualityContactSuggestion suggestion); + + IPage querySuggestion(EventMaintainInVO inVO); + + ExcelTable export(List ids); +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/IHighQualityLikesService.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/IHighQualityLikesService.java new file mode 100644 index 0000000..54be66b --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/IHighQualityLikesService.java @@ -0,0 +1,16 @@ +package com.chinaunicom.mall.ebtp.extend.highquality.service; + + +import com.baomidou.mybatisplus.extension.service.IService; +import com.chinaunicom.mall.ebtp.extend.highquality.entity.HighQualityLikes; + +/** + * 对数据表 high_quality_likes 操作的 service + * @author Auto create + * + */ +public interface IHighQualityLikesService extends IService{ + + + +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/impl/HighQualityCommentServiceImpl.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/impl/HighQualityCommentServiceImpl.java new file mode 100644 index 0000000..c1d2c99 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/impl/HighQualityCommentServiceImpl.java @@ -0,0 +1,45 @@ +package com.chinaunicom.mall.ebtp.extend.highquality.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.chinaunicom.mall.ebtp.common.base.entity.BaseCacheUser; +import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; +import com.chinaunicom.mall.ebtp.common.base.service.IBaseCacheUserService; +import com.chinaunicom.mall.ebtp.common.util.PropertyUtils; +import com.chinaunicom.mall.ebtp.extend.highquality.dao.HighQualityCommentMapper; +import com.chinaunicom.mall.ebtp.extend.highquality.entity.HighQualityComment; +import com.chinaunicom.mall.ebtp.extend.highquality.entity.HighQualityLikes; +import com.chinaunicom.mall.ebtp.extend.highquality.service.HighQualityCommentService; +import org.apache.commons.lang.StringUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.time.LocalDateTime; + +/** + * 对数据表 high_quality_comment 操作的 serviceImpl + * @auto.generated + * + */ +@Service +public class HighQualityCommentServiceImpl extends ServiceImpl implements HighQualityCommentService { + + @Resource + private IBaseCacheUserService iBaseCacheUserService; + + @Override + public BaseResponse saveComment(HighQualityComment inVo){ + BaseCacheUser cacheUser = iBaseCacheUserService.getCacheUser(); + if(StringUtils.isBlank(inVo.getReId()) || StringUtils.isBlank(inVo.getContext())){ + return BaseResponse.fail("评论失败:评论内容或评论对象不能为空"); + } + inVo.setId(PropertyUtils.getSnowflakeId()); + inVo.setCreaterId(cacheUser.getUserId()); + inVo.setCreaterName(cacheUser.getFullName()); + inVo.setCreateTime(LocalDateTime.now()); + inVo.setDeleteFlag(0); + if(this.save(inVo)){ + return BaseResponse.success("评论成功"); + } + return BaseResponse.fail("评论失败"); + } +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/impl/HighQualityContactServiceImpl.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/impl/HighQualityContactServiceImpl.java new file mode 100644 index 0000000..e10bc1d --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/impl/HighQualityContactServiceImpl.java @@ -0,0 +1,60 @@ +package com.chinaunicom.mall.ebtp.extend.highquality.service.impl; + + +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.chinaunicom.mall.ebtp.common.util.PropertyUtils; +import com.chinaunicom.mall.ebtp.extend.highquality.dao.HighQualityContactMapper; +import com.chinaunicom.mall.ebtp.extend.highquality.entity.HighQualityContact; +import com.chinaunicom.mall.ebtp.extend.highquality.service.HighQualityContactService; +import com.chinaunicom.mall.ebtp.extend.highquality.vo.HighQualityQueryInVO; +import org.springframework.stereotype.Service; + +import java.time.LocalDateTime; +import java.util.*; +import java.util.stream.Collectors; + +/** + * 对数据表 event_contact 操作的 serviceImpl + * @author Auto create + * + */ +@Service +public class HighQualityContactServiceImpl extends ServiceImpl implements HighQualityContactService { + + + @Override + public Map> getHighQualityContactGroup(HighQualityQueryInVO inVO) { + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + query.eq(HighQualityContact::getStatus, "1"); + if (ObjectUtil.isNotNull(inVO) && StrUtil.isNotBlank(inVO.getParam())) { + query.eq(HighQualityContact::getContactUnit, inVO.getParam()); + } + return this.list(query).stream().sorted(Comparator.comparing(HighQualityContact::getSort)).collect(Collectors.groupingBy(HighQualityContact::getContactUnit,LinkedHashMap::new,Collectors.toList())); + } + + @Override + public List getHighQualityContactList() { + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + query.eq(HighQualityContact::getStatus, "1"); + return this.list(query); + } + + @Override + public boolean saveContact(HighQualityContact inVO) { + if (StrUtil.isNotBlank(inVO.getId())) { + return this.updateById(inVO); + } + inVO.setId(PropertyUtils.getSnowflakeId()); + inVO.setStatus("1"); + inVO.setSort(99); + inVO.setCreateTime(LocalDateTime.now()); + return this.save(inVO); + + } + + +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/impl/HighQualityContactSuggestionServiceImpl.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/impl/HighQualityContactSuggestionServiceImpl.java new file mode 100644 index 0000000..657bcdb --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/impl/HighQualityContactSuggestionServiceImpl.java @@ -0,0 +1,130 @@ +package com.chinaunicom.mall.ebtp.extend.highquality.service.impl; + +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.chinaunicom.mall.ebtp.common.base.entity.BaseCacheUser; +import com.chinaunicom.mall.ebtp.common.base.service.IBaseCacheUserService; +import com.chinaunicom.mall.ebtp.common.poiExport.entity.ExcelTable; +import com.chinaunicom.mall.ebtp.common.poiExport.entity.ExcelTd; +import com.chinaunicom.mall.ebtp.common.poiExport.entity.ExcelTr; +import com.chinaunicom.mall.ebtp.common.util.PropertyUtils; +import com.chinaunicom.mall.ebtp.extend.highquality.dao.HighQualityContactSuggestionMapper; +import com.chinaunicom.mall.ebtp.extend.highquality.entity.HighQualityContactSuggestion; +import com.chinaunicom.mall.ebtp.extend.highquality.service.IHighQualityContactSuggestionService; +import com.chinaunicom.mall.ebtp.extend.partyMemberEvent.entity.EventMaintainInVO; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.time.LocalDateTime; +import java.util.Date; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.atomic.AtomicInteger; + +/** + * 对数据表 high_quality_contact_suggestion 操作的 serviceImpl + * @auto.generated + * + */ +@Service +public class HighQualityContactSuggestionServiceImpl extends ServiceImpl implements IHighQualityContactSuggestionService { + + @Resource + private IBaseCacheUserService iBaseCacheUserService; + + @Override + public Boolean submitSuggestion(HighQualityContactSuggestion suggestion) { + BaseCacheUser cacheUser = iBaseCacheUserService.getCacheUser(); + suggestion.setId(PropertyUtils.getSnowflakeId()); + suggestion.setSuggestionSponsor(cacheUser.getFullName()); + suggestion.setSuggestionSponsorId(cacheUser.getUserId()); + suggestion.setSuggestionSponsorUnit(cacheUser.getOrganizationId()); + suggestion.setCreateTime(LocalDateTime.now()); + if (StrUtil.isBlank(suggestion.getCompany())) { + suggestion.setCompany(cacheUser.getOrganizationName()); + } + return this.save(suggestion); + } + + @Override + public IPage querySuggestion(EventMaintainInVO inVO) { + + Page page = new Page<>(inVO.getPageNo(), inVO.getPageSize()); + + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + if (ObjectUtil.isNotNull(inVO.getStartTime())) { + query.gt(HighQualityContactSuggestion::getCreateTime, inVO.getStartTime()); + } + + if (ObjectUtil.isNotNull(inVO.getEndTime())) { + query.lt(HighQualityContactSuggestion::getCreateTime, inVO.getEndTime()); + } + if (StrUtil.isNotBlank(inVO.getSuggestionType())) { + query.eq(HighQualityContactSuggestion::getSuggestionType, inVO.getSuggestionType()); + } + query.orderByDesc(HighQualityContactSuggestion::getCreateTime); + return this.page(page, query); + } + + + @Override + public ExcelTable export(List ids) { + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + if (ids != null) { + query.in(HighQualityContactSuggestion::getId, ids); + } + List list = this.list(query); + Map titleMap = new LinkedHashMap<>(16); + titleMap.put("num", "序号"); + titleMap.put("contactName", "联系人名称"); + titleMap.put("suggestionType", "意见类型"); + titleMap.put("suggestionContent", "意见内容"); + titleMap.put("instructions", "补充说明"); + titleMap.put("suggestionSponsor", "意见提出人"); + titleMap.put("suggestionSponsorId", "意见提出人id"); + titleMap.put("suggestionSponsorUnit", "意见提出人组织机构"); + titleMap.put("createTime", "创建时间"); + titleMap.put("company", "公司"); + //制作表格 + ExcelTable table = new ExcelTable("第一页"); + DateFormat df = new SimpleDateFormat("yyyyMMddhhmmss"); + table.setFileName(df.format(new Date())); + + + + /*第4行开始投递数据表头*/ + ExcelTr tr4 = new ExcelTr(); + tr4.setHeight(480); + for (String key : titleMap.keySet()) { + tr4.add(new ExcelTd().setTdValue(titleMap.get(key)).setCellStyleKey("title1").setWidth(6000)); + } + table.add(tr4); + AtomicInteger num = new AtomicInteger(1); + List> mapList = JSON.parseObject(JSON.toJSONString(list), List.class); + mapList.forEach(info -> { + ExcelTr tr5 = new ExcelTr(); + for (String key : titleMap.keySet()) { + String tValue = ""; + if ("num".equals(key)) { + tValue = num.toString(); + } else { + tValue = info.get(key) != null ? String.valueOf(info.get(key)) : ""; + } + tr5.add(new ExcelTd().setTdValue(tValue).setCellStyleKey("title1").setWidth(6000)); + } + num.addAndGet(1); + table.add(tr5); + }); + + return table; + } +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/impl/HighQualityLikesServiceImpl.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/impl/HighQualityLikesServiceImpl.java new file mode 100644 index 0000000..6db436d --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/impl/HighQualityLikesServiceImpl.java @@ -0,0 +1,50 @@ +package com.chinaunicom.mall.ebtp.extend.highquality.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.ParameterUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.chinaunicom.mall.ebtp.common.base.entity.BaseCacheUser; +import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; +import com.chinaunicom.mall.ebtp.common.base.service.IBaseCacheUserService; +import com.chinaunicom.mall.ebtp.common.util.PropertyUtils; +import com.chinaunicom.mall.ebtp.extend.highquality.dao.HighQualityLikesMapper; +import com.chinaunicom.mall.ebtp.extend.highquality.entity.HighQualityLikes; +import com.chinaunicom.mall.ebtp.extend.highquality.service.HighQualityLikesService; +import org.apache.poi.ss.formula.functions.T; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.time.LocalDateTime; +import java.util.List; + +/** + * 对数据表 high_quality_likes 操作的 serviceImpl + * @auto.generated + * + */ +@Service +public class HighQualityLikesServiceImpl extends ServiceImpl implements HighQualityLikesService { + + @Resource + private IBaseCacheUserService iBaseCacheUserService; + + @Override + public BaseResponse saveLikes(HighQualityLikes inVo){ + BaseCacheUser cacheUser = iBaseCacheUserService.getCacheUser(); + LambdaQueryWrapper query= Wrappers.lambdaQuery(); + query.eq(HighQualityLikes::getReId,inVo.getReId()); + query.eq(HighQualityLikes::getAccount,cacheUser.getUserId()); + List list=this.list(query); + if(list!=null && list.size()>0){ + return BaseResponse.fail("您已点赞"); + } + inVo.setId(PropertyUtils.getSnowflakeId()); + inVo.setAccount(cacheUser.getUserId()); + inVo.setCreateTime(LocalDateTime.now()); + if(this.save(inVo)){ + return BaseResponse.success("点赞成功"); + } + return BaseResponse.fail("点赞失败"); + } +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/impl/HighQualityMockDataServiceImpl.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/impl/HighQualityMockDataServiceImpl.java new file mode 100644 index 0000000..7e9ecd9 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/impl/HighQualityMockDataServiceImpl.java @@ -0,0 +1,112 @@ +package com.chinaunicom.mall.ebtp.extend.highquality.service.impl; + + +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.chinaunicom.mall.ebtp.extend.highquality.dao.HighQualityMockDataMapper; +import com.chinaunicom.mall.ebtp.extend.highquality.entity.HighQualityMockData; +import com.chinaunicom.mall.ebtp.extend.highquality.service.HighQualityMockDataService; +import com.chinaunicom.mall.ebtp.extend.highquality.vo.HighQualityRightDataVO; +import com.chinaunicom.mall.ebtp.extend.partyMemberEvent.entity.MockDataValue; +import com.chinaunicom.mall.ebtp.extend.partyMemberEvent.service.EventPartyBranchService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.function.Function; +import java.util.stream.Collectors; + +/** + * 对数据表 high_quality_mock_data 操作的 serviceImpl + * @author Auto create + * + */ +@Service +public class HighQualityMockDataServiceImpl extends ServiceImpl implements HighQualityMockDataService { + + @Resource + private EventPartyBranchService eventPartyBranchService; + @Override + public List getProfessionalDataList() { + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + wrapper.eq(HighQualityMockData::getStatus, "1"); + List list = this.list(wrapper); + List returnList = list.stream().filter(f -> StrUtil.isBlank(f.getParentClass()) ).collect(Collectors.toList()); + + Map> map = list.stream().filter(f -> StrUtil.isNotBlank(f.getParentClass())).collect(Collectors.groupingBy(HighQualityMockData::getParentClass)); + Map partyBranchMemberCount = eventPartyBranchService.getPartyBranchMemberCount(); + + returnList.forEach(f -> { + if ("dysl".equals(f.getDataPy())) { + f.setDataValue(partyBranchMemberCount.get("member").toString()); + } + if ("dzbsl".equals(f.getDataPy())) { + f.setDataValue(partyBranchMemberCount.get("branch").toString()); + } + List dataList = map.get(f.getDataPy()); + if (ObjectUtil.isNotNull(dataList) && !dataList.isEmpty()) { + List newList = new ArrayList<>(); + dataList.forEach(l -> newList.add(MockDataValue.builder().name(l.getDataName()).value(l.getDataValue()).build())); + f.setData(newList); + } + }); + return returnList; + } + + @Override + public boolean saveRightData(HighQualityRightDataVO inVO) { + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + List list = this.list(query.eq(HighQualityMockData::getStatus, "1")); + list.forEach(l -> { + String dataPy = l.getDataPy(); + if ("ddjyze".equals(dataPy) && StrUtil.isNotBlank(inVO.getDdjyze())) { + l.setDataValue(inVO.getDdjyze()); + } + if ("ddzsl".equals(dataPy) && StrUtil.isNotBlank(inVO.getDdzsl())) { + l.setDataValue(inVO.getDdzsl()); + } + if ("spsl".equals(dataPy) && StrUtil.isNotBlank(inVO.getSpsl())) { + l.setDataValue(inVO.getSpsl()); + } + if ("xysl".equals(dataPy) && StrUtil.isNotBlank(inVO.getXysl())) { + l.setDataValue(inVO.getXysl()); + } + if ("yxdy".equals(dataPy) && StrUtil.isNotBlank(inVO.getYxdy())) { + l.setDataValue(inVO.getYxdy()); + } + if ("ftrs".equals(dataPy) && StrUtil.isNotBlank(inVO.getFtrs())) { + l.setDataValue(inVO.getFtrs()); + } + if ("bzxq".equals(dataPy) && StrUtil.isNotBlank(inVO.getBzxq())) { + l.setDataValue(inVO.getBzxq()); + } + if ("gjknxm".equals(dataPy) && StrUtil.isNotBlank(inVO.getGjknxm())) { + l.setDataValue(inVO.getGjknxm()); + } + }); + return this.saveOrUpdateBatch(list); + } + + @Override + public HighQualityRightDataVO queryRightData() { + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + List list = this.list(query.eq(HighQualityMockData::getStatus, "1")); + Map dataMap = list.stream().collect(Collectors.toMap(HighQualityMockData::getDataPy, Function.identity())); + HighQualityRightDataVO dataVO = new HighQualityRightDataVO(); + dataVO.setDdjyze(dataMap.get("ddjyze").getDataValue()); + dataVO.setDdzsl(dataMap.get("ddzsl").getDataValue()); + dataVO.setSpsl(dataMap.get("spsl").getDataValue()); + dataVO.setXysl(dataMap.get("xysl").getDataValue()); + dataVO.setYxdy(dataMap.get("yxdy").getDataValue()); + dataVO.setFtrs(dataMap.get("ftrs").getDataValue()); + dataVO.setBzxq(dataMap.get("bzxq").getDataValue()); + dataVO.setGjknxm(dataMap.get("gjknxm").getDataValue()); + + return dataVO; + } +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/impl/HighQualityStyleServiceImpl.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/impl/HighQualityStyleServiceImpl.java new file mode 100644 index 0000000..7701dc0 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/service/impl/HighQualityStyleServiceImpl.java @@ -0,0 +1,221 @@ +package com.chinaunicom.mall.ebtp.extend.highquality.service.impl; + +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; +import com.chinaunicom.mall.ebtp.common.util.PropertyUtils; +import com.chinaunicom.mall.ebtp.extend.feign.client.DocumentCenterService; +import com.chinaunicom.mall.ebtp.extend.feign.entity.DocumentDataVO; +import com.chinaunicom.mall.ebtp.extend.highquality.dao.HighQualityStyleMapper; +import com.chinaunicom.mall.ebtp.extend.highquality.entity.HighQualityStyle; +import com.chinaunicom.mall.ebtp.extend.highquality.enums.HighQualityExceptionEnum; +import com.chinaunicom.mall.ebtp.extend.highquality.service.HighQualityStyleService; +import com.chinaunicom.mall.ebtp.extend.highquality.vo.HighQualityMaintainInVO; +import com.chinaunicom.mall.ebtp.extend.highquality.vo.HighQualityMaintainOutVO; +import com.chinaunicom.mall.ebtp.extend.highquality.vo.HighQualityQueryInVO; +import com.chinaunicom.mall.ebtp.extend.uploadOss.service.IUploadOssService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.io.IOException; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.function.Function; +import java.util.stream.Collectors; + +/** + * 对数据表 event_style 操作的 serviceImpl + * @author Auto create + * + */ +@Slf4j +@Service +public class HighQualityStyleServiceImpl extends ServiceImpl implements HighQualityStyleService { + + @Resource + private DocumentCenterService documentCenterService; + @Resource + private IUploadOssService iUploadOssService; + + + @Override + public List getHighQualityStyle(String type, HighQualityQueryInVO inVO) { + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + if (ObjectUtil.isNotNull(inVO) && StrUtil.isNotBlank(inVO.getParam())) { + query.like(HighQualityStyle::getTitle, inVO.getParam()); + } + query.orderByDesc(HighQualityStyle::getCreateTime); + List list; + if ("banner".equals(type)) { + query.eq(HighQualityStyle::getCategory, "1").eq(HighQualityStyle::getStatus, "1").orderByAsc(HighQualityStyle::getSort); + } else { + query.eq(HighQualityStyle::getCategory, "2").eq(HighQualityStyle::getStatus, "1").orderByAsc(HighQualityStyle::getSort); + } + query.ne(HighQualityStyle::getDeleteFlag, "1"); + list = this.list(query); + List imageIdList = list.stream().map(HighQualityStyle::getImage).filter(StrUtil::isNotBlank).distinct().collect(Collectors.toList()); + BaseResponse> queryReturn = documentCenterService.queryReturn(imageIdList); + log.info("文档中心返回:{}", queryReturn.toString()); + HighQualityExceptionEnum.FRAME_EXCEPTION_NO_IMAGE_INFO_FAIL.customValid(!queryReturn.isSuccess()); + Map collect = queryReturn.getData().stream().collect(Collectors.toMap(DocumentDataVO::getObjectId, Function.identity(),(o1,o2) -> o1)); + + list.forEach(l -> l.setFilePath(collect.get(l.getImage()) == null ? "" : collect.get(l.getImage()).getFilePath())); + return list; + } + + @Override + public boolean saveStyle(HighQualityStyle inVO) { + if (StrUtil.isNotBlank(inVO.getId())) { + return this.updateById(inVO); + } + if(!inVO.getCategory().equals("4")){ + if (StrUtil.isNotBlank(inVO.getImage())) { + inVO.setTitleImage(inVO.getImage()); + } else { + inVO.setImage(inVO.getTitleImage()); + } + } + inVO.setId(PropertyUtils.getSnowflakeId()); + inVO.setStatus("1"); + inVO.setCreateTime(LocalDateTime.now()); + return this.save(inVO); + } + @Override + public List getHighQualitySubjectList(HighQualityQueryInVO inVO) { + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + query.eq(HighQualityStyle::getStatus, "1"); + query.eq(HighQualityStyle::getCategory, "3"); + if (ObjectUtil.isNotNull(inVO)) { + query.like(StrUtil.isNotBlank(inVO.getParam()), HighQualityStyle::getTitle, inVO.getParam()); + } + query.ne(HighQualityStyle::getDeleteFlag, "1"); + query.orderByDesc(HighQualityStyle::getCreateTime); + + return this.list(query); + } + + @Override + public boolean saveSubject(HighQualityStyle inVO) { + if (StrUtil.isNotBlank(inVO.getId())) { + return this.updateById(inVO); + } + inVO.setId(PropertyUtils.getSnowflakeId()); + inVO.setStatus("1"); + inVO.setCreateTime(LocalDateTime.now()); + return this.save(inVO); + } + + @Override + public IPage queryStyleAndProject(HighQualityMaintainInVO inVO) { + + LambdaQueryWrapper queryStyle = Wrappers.lambdaQuery(); + queryStyle.ne(HighQualityStyle::getDeleteFlag, "1"); + + if (StrUtil.isNotBlank(inVO.getTitle())) { + queryStyle.like(HighQualityStyle::getTitle, inVO.getTitle()); + } + if (StrUtil.isNotBlank(inVO.getType())) { + queryStyle.eq(HighQualityStyle::getCategory, inVO.getType()); + } + if (StrUtil.isNotBlank(inVO.getStatus())) { + queryStyle.eq(HighQualityStyle::getStatus, inVO.getStatus()); + } + if (ObjectUtil.isNotNull(inVO.getStartTime())) { + queryStyle.gt(HighQualityStyle::getSendTime, inVO.getStartTime()); + } + + if (ObjectUtil.isNotNull(inVO.getEndTime())) { + queryStyle.lt(HighQualityStyle::getSendTime, inVO.getEndTime()); + } + queryStyle.orderByDesc(HighQualityStyle::getCreateTime); + Page page = new Page<>(inVO.getPageNo(), inVO.getPageSize()); + + Page stylePage = this.page(page, queryStyle); + + List outVOList = new ArrayList<>(); + + if (!stylePage.getRecords().isEmpty()) { + stylePage.getRecords().forEach(s -> outVOList.add( + HighQualityMaintainOutVO.builder() + .id(s.getId()) + .sort(s.getSort()) + .status(s.getStatus()) + .image(s.getImage()) + .title(s.getTitle()) + .secordTitle(s.getSecordTitle()) + .content(s.getContent()) + .type(s.getCategory()) + .createTime(s.getCreateTime()) + .createBy(s.getCreateBy()) + .sendTime(s.getSendTime()) + .build())); + } + IPage iPage = new Page<>(); + iPage.setTotal(stylePage.getTotal()); + iPage.setPages(stylePage.getPages()); + iPage.setCurrent(stylePage.getCurrent()); + iPage.setSize(stylePage.getSize()); + iPage.setRecords(outVOList); + return iPage; + } + + @Override + public boolean saveStyleOrProject(HighQualityMaintainOutVO inVO) { + if (ObjectUtil.isNull(inVO) || StrUtil.isBlank(inVO.getType())) { + HighQualityExceptionEnum.FRAME_EXCEPTION_PARAM_IS_NULL_FAIL.customValid(true); + return false; + } + if (StrUtil.isBlank(inVO.getId())) { + inVO.setId(PropertyUtils.getSnowflakeId()); + } + + HighQualityStyle style = new HighQualityStyle(); + style.setId(inVO.getId()); + style.setTitle(inVO.getTitle()); + style.setSecordTitle(inVO.getSecordTitle()); + style.setImageWord(inVO.getTitle()); + style.setTitleImage(inVO.getImage()); + style.setCategory(inVO.getType()); + style.setContent(inVO.getContent()); + style.setImage(inVO.getImage()); + style.setSort(1); + style.setBanner("1".equals(inVO.getType()) ? "1" : "0"); + style.setStatus("0"); + style.setCreateTime(LocalDateTime.now()); + style.setCreateBy(inVO.getCreateBy()); + style.setContentImageId(inVO.getContentImageId()); + style.setDeleteFlag("0"); + return this.saveOrUpdate(style); + } + + @Override + public boolean sendStyleOrProject(String id, String status) { + + HighQualityStyle style = this.getById(id); + if (ObjectUtil.isNotNull(style) && StrUtil.isNotBlank(style.getId())) { + style.setStatus(status); + style.setSendTime(LocalDateTime.now()); + return this.updateById(style); + } + return false; + } + + @Override + public boolean deleteStyleOrProject(String id) { + + HighQualityStyle style = this.getById(id); + if (ObjectUtil.isNotNull(style) && StrUtil.isNotBlank(style.getId())) { + style.setDeleteFlag("1"); + return this.updateById(style); + } + return false; + } +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/vo/HighQualityMaintainInVO.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/vo/HighQualityMaintainInVO.java new file mode 100644 index 0000000..8aedb7a --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/vo/HighQualityMaintainInVO.java @@ -0,0 +1,84 @@ +package com.chinaunicom.mall.ebtp.extend.highquality.vo; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.chinaunicom.mall.ebtp.common.config.CustomLocalDateTimeTypeHandler; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.Min; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * 实体类 EventMaintainInVO + * + * @auto.generated + */ +@Data +@Accessors(chain = true) +@ApiModel +public class HighQualityMaintainInVO implements Serializable { + + private static final long serialVersionUID = 1L; + + + /** + * 标题 + */ + @ApiModelProperty(value = "标题") + private String title; + + + /** + * 类别 + */ + @ApiModelProperty(value = "类别 1-首页,2-活动风采,3-攻坚克难") + private String type; + /** + * 意见类型:1-指导型 2-建设型 3-规划型 4-政策型 + */ + @ApiModelProperty(value = "意见类型:1-指导型 2-建设型 3-规划型 4-政策型") + private String suggestionType; + + + /** + * 页面显示状态: 0-隐藏 1-显示 + */ + @ApiModelProperty(value = "页面显示状态: 0-草稿 1-发布") + private String status; + + + /** + * 发布时间 + */ + @ApiModelProperty(value = "开始时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @TableField(typeHandler = CustomLocalDateTimeTypeHandler.class) + private java.time.LocalDateTime startTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "结束时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @TableField(typeHandler = CustomLocalDateTimeTypeHandler.class) + private LocalDateTime endTime; + + @ApiModelProperty("当前页") + @NotNull + @Min(0L) + private Integer pageNo; + @ApiModelProperty("每页显示条数") + @NotNull + @Min(0L) + private Integer pageSize; +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/vo/HighQualityMaintainOutVO.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/vo/HighQualityMaintainOutVO.java new file mode 100644 index 0000000..11f2b56 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/vo/HighQualityMaintainOutVO.java @@ -0,0 +1,108 @@ +package com.chinaunicom.mall.ebtp.extend.highquality.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Builder; +import lombok.Data; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * 实体类 EventMaintainOutVO + * + * @auto.generated + */ +@Data +@Accessors(chain = true) +@ApiModel +@Builder +public class HighQualityMaintainOutVO implements Serializable { + + private static final long serialVersionUID = 1L; + + + /** + * id + */ + @ApiModelProperty(value = "id") + private String id; + /** + * 标题 + */ + @ApiModelProperty(value = "标题") + private String title; + + + /** + * 类别 + */ + @ApiModelProperty(value = "类别 1-首页,2-活动风采,3-攻坚克难") + private String type; + + /** + * 活动内容正文 + */ + @ApiModelProperty(value = "活动内容正文") + private String content; + /** + * 二级标题 + */ + @ApiModelProperty(value = "二级标题") + private String secordTitle; + /** + * 活动图片 + */ + @ApiModelProperty(value = "活动图片") + private String image; + + /** + * 显示排序 + */ + @ApiModelProperty(value = "显示排序") + private Integer sort; + + /** + * 是否轮播广告:0-否,1-是 + */ + @ApiModelProperty(value = "是否轮播广告:0-否,1-是") + private String banner; + + /** + * 页面显示状态: 0-隐藏 1-显示 + */ + @ApiModelProperty(value = "页面显示状态: 0-草稿 1-发布") + private String status; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + /** + * 发布时间 + */ + @ApiModelProperty(value = "发布时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private LocalDateTime sendTime; + /** + * 发布人 + */ + @ApiModelProperty(value = "发布人") + private String createBy; + + /** + * 正文图片id + */ + @ApiModelProperty(value = "正文图片id") + private String contentImageId; +} + + diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/vo/HighQualityMockDataValue.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/vo/HighQualityMockDataValue.java new file mode 100644 index 0000000..b53dbfc --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/vo/HighQualityMockDataValue.java @@ -0,0 +1,41 @@ +package com.chinaunicom.mall.ebtp.extend.highquality.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Builder; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + * 实体类 MockDataValue + * + * @auto.generated + */ +@Data +@Accessors(chain = true) +@Builder +public class HighQualityMockDataValue implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 数量 + */ + @ApiModelProperty(value = "数量") + private String value; + + /** + * 名称 + */ + @ApiModelProperty(value = "名称") + private String name; + + + /** + * 文字 + */ + @ApiModelProperty(value = "文字") + private String text; + +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/vo/HighQualityQueryInVO.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/vo/HighQualityQueryInVO.java new file mode 100644 index 0000000..36e4ca6 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/vo/HighQualityQueryInVO.java @@ -0,0 +1,45 @@ +package com.chinaunicom.mall.ebtp.extend.highquality.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Builder; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + * 实体类 EventQHighQualityQueryInVOueryInVO + * + * @auto.generated + */ +@Data +@Accessors(chain = true) +@Builder +public class HighQualityQueryInVO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 党支部编码 + */ + @ApiModelProperty(value = "党支部编码") + private String belongBranch; + + /** + * 参数 + */ + @ApiModelProperty(value = "参数") + private String param; + + /** + * 所属党支部名称 + */ + @ApiModelProperty(value = "所属党支部名称") + private String belongBranchName; + + /** + * 所属省名称 + */ + @ApiModelProperty(value = "所属省名称") + private String branchName; +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/vo/HighQualityRightDataVO.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/vo/HighQualityRightDataVO.java new file mode 100644 index 0000000..731fc16 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/highquality/vo/HighQualityRightDataVO.java @@ -0,0 +1,42 @@ +package com.chinaunicom.mall.ebtp.extend.highquality.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + * 实体类 EventRightDataOutVO + * + * @auto.generated + */ +@Data +@Accessors(chain = true) +@ApiModel +public class HighQualityRightDataVO implements Serializable { + + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "订单交易总额") + private String ddjyze; + @ApiModelProperty(value = "订单总数量") + private String ddzsl; + @ApiModelProperty(value = "商品数量") + private String spsl; + @ApiModelProperty(value = "协议数量") + private String xysl; + @ApiModelProperty(value = "一线调研") + private String yxdy; + @ApiModelProperty(value = "访谈人数") + private String ftrs; + @ApiModelProperty(value = "保障需求") + private String bzxq; + @ApiModelProperty(value = "攻坚克难项目") + private String gjknxm; + +} + + diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/uploadOss/service/IUploadOssService.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/uploadOss/service/IUploadOssService.java new file mode 100644 index 0000000..e00dd77 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/uploadOss/service/IUploadOssService.java @@ -0,0 +1,12 @@ +package com.chinaunicom.mall.ebtp.extend.uploadOss.service; + +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + +public interface IUploadOssService { + String uploadFile(MultipartFile file, String prefix) throws IOException; + + void download(HttpServletResponse response, String path); +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/uploadOss/service/impl/UploadOssServiceImpl.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/uploadOss/service/impl/UploadOssServiceImpl.java new file mode 100644 index 0000000..081b1ea --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/uploadOss/service/impl/UploadOssServiceImpl.java @@ -0,0 +1,97 @@ +package com.chinaunicom.mall.ebtp.extend.uploadOss.service.impl; + +import cn.hutool.core.net.URLEncoder; +import cn.hutool.core.util.RandomUtil; +import com.aliyun.oss.OSS; +import com.aliyun.oss.OSSClientBuilder; +import com.aliyun.oss.model.OSSObject; +import com.aliyun.oss.model.ObjectMetadata; +import com.aliyun.oss.model.PutObjectRequest; +import com.chinaunicom.mall.ebtp.extend.uploadOss.service.IUploadOssService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.io.BufferedInputStream; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.nio.charset.StandardCharsets; +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.Locale; + +@Slf4j +@Service +public class UploadOssServiceImpl implements IUploadOssService { + @Value("${oss.endpoint}") + private String endpoint; + @Value("${oss.accessKeyId}") + private String accessKeyId; + @Value("${oss.accessKeySecret}") + private String accessKeySecret; + @Value("${oss.bucketName}") + private String bucketName; + + @Override + public String uploadFile(MultipartFile file, String prefix) throws IOException { + OSS client = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret); + String fileType = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".") + 1); + DateFormat yearMonthPath = new SimpleDateFormat("yyyy/MM/dd"); + String filePathPrefix = prefix + File.separator + yearMonthPath.format(new Date((System.currentTimeMillis()))); + String objectName = filePathPrefix + File.separator + RandomUtil.randomString(32).toUpperCase(Locale.ROOT) + "." + fileType; + log.info("uploadFile--------bucketName:"+bucketName+",objectName:"+objectName+",file:"+file.getSize()+",fileName:"+file.getName()+",fileOriginalFilename:"+file.getOriginalFilename()); + client.putObject(new PutObjectRequest(bucketName, objectName, file.getInputStream(), new ObjectMetadata())); + return bucketName+":"+objectName; + } + + @Override + public void download(HttpServletResponse response, String path){ +// String decryptStr = destool.decryptStr(path); + String decryptStr = path; + InputStream inputStream = null; + BufferedInputStream bis = null; + OSSObject ossObject = null; + OSS ossClient = null; + try { + log.info("文件位置:{}", decryptStr); + ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret); + //如果cfsPath路径种含有冒号,为oss下载 + String[] split = decryptStr.split(":"); + String s = split[0]; + String bucketName = s.substring(s.lastIndexOf("/") + 1); + log.info("bucketName:{}, objectName:{}", bucketName, split[1]); + String suffix = split[1].substring(split[1].lastIndexOf(".")); + response.setHeader("Content-Disposition", String.format("attachment; filename=\"%s\"", + URLEncoder.ALL.encode(RandomUtil.randomString(32), StandardCharsets.UTF_8))); + + ossObject = ossClient.getObject(bucketName, split[1]); + inputStream = ossObject.getObjectContent(); + byte[] buffs = new byte[1024]; + bis = new BufferedInputStream(inputStream, 1024); + int read; + while ((read = bis.read(buffs, 0, 1024)) != -1) { + response.getOutputStream().write(buffs, 0, read); + } + + } catch (IOException e) { + log.error(e.getMessage()); + }finally { + try { + inputStream.close(); + bis.close(); + response.getOutputStream().close(); + ossObject.close(); + if (ossClient != null) { + ossClient.shutdown(); + } + } catch (Exception e) { + log.info("流关闭失败"); + e.printStackTrace(); + } + } + } +}