From e1008dbb1fa76874a28c06913b95c16d18acdfa7 Mon Sep 17 00:00:00 2001 From: wl <173@qq.com> Date: 星期五, 11 十一月 2022 17:54:52 +0800 Subject: [PATCH] 短信模块 消息列表 --- ycl-platform/src/main/java/com/ycl/service/message/impl/SmsTemplateServiceImpl.java | 2 ycl-platform/src/main/java/com/ycl/service/message/impl/SmsAuditServiceImpl.java | 28 - ycl-platform/src/main/resources/application-dev.yml | 17 + ycl-platform/src/main/java/com/ycl/entity/message/Message.java | 4 ycl-platform/src/main/java/com/ycl/controller/video/common/util/RandomNumberGenerator.java | 2 ycl-platform/src/main/java/com/ycl/dto/message/MessageParam.java | 57 --- ycl-platform/src/main/java/com/ycl/controller/text/SmsController.java | 41 +++ ycl-platform/src/main/java/com/ycl/config/RestTemplateConfig.java | 14 + ycl-platform/src/main/java/com/ycl/service/message/impl/MessageServiceImpl.java | 210 ++++++++++++---- ycl-platform/src/main/java/com/ycl/controller/video/common/util/UtilNumber.java | 2 ycl-platform/src/main/java/com/ycl/controller/video/common/constant/BaseCaseStatus.java | 2 ycl-platform/src/main/java/com/ycl/controller/video/common/util/DateUtils.java | 2 ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java | 5 ycl-platform/src/main/java/com/ycl/service/video/impl/VideoInspectionServiceImpl.java | 2 ycl-platform/src/main/java/com/ycl/controller/video/common/util/DateUtil.java | 2 ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/IDispatchHandleServiceImpl.java | 4 ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/CheckHandleServiceImpl.java | 6 ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java | 4 ycl-platform/src/main/java/com/ycl/controller/video/common/util/CommonUtils.java | 2 ycl-platform/src/main/java/com/ycl/controller/video/common/util/ParamsMap.java | 2 ycl-platform/src/main/java/com/ycl/controller/message/MessageController.java | 23 + ycl-platform/src/main/java/com/ycl/entity/message/SendRes.java | 10 ycl-platform/src/test/java/com/ycl/sccgplatform/SccgPlatformApplicationTests.java | 3 ycl-platform/src/main/java/com/ycl/controller/video/common/util/Md5.java | 2 ycl-platform/src/main/java/com/ycl/vo/message/MessageVO.java | 91 +++++++ ycl-platform/src/main/java/com/ycl/service/message/IMessageService.java | 9 ycl-platform/src/main/java/com/ycl/controller/video/common/constant/ChannelCode.java | 2 ycl-platform/src/main/java/com/ycl/controller/video/common/util/RandomStringUtil.java | 2 document/云mas/~$TPS短信接口文档.docx | 0 /dev/null | 75 ------ ycl-platform/src/main/java/com/ycl/controller/message/MessageColumnController.java | 2 ycl-platform/src/main/java/com/ycl/controller/video/common/constant/StepName.java | 2 ycl-platform/src/main/java/com/ycl/mapper/message/MessageMapper.java | 3 ycl-platform/src/main/java/com/ycl/controller/store/StoreInfoController.java | 3 ycl-platform/src/main/resources/application.yml | 1 ycl-platform/src/main/java/com/ycl/entity/message/SendReq.java | 15 + ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java | 6 ycl-platform/src/main/java/com/ycl/controller/video/common/constant/CheckResult.java | 2 ycl-platform/src/main/java/com/ycl/controller/task/TaskController.java | 2 39 files changed, 417 insertions(+), 244 deletions(-) diff --git "a/document/\344\272\221mas/~$TPS\347\237\255\344\277\241\346\216\245\345\217\243\346\226\207\346\241\243.docx" "b/document/\344\272\221mas/~$TPS\347\237\255\344\277\241\346\216\245\345\217\243\346\226\207\346\241\243.docx" new file mode 100644 index 0000000..2fc0b2e --- /dev/null +++ "b/document/\344\272\221mas/~$TPS\347\237\255\344\277\241\346\216\245\345\217\243\346\226\207\346\241\243.docx" Binary files differ diff --git a/ycl-platform/src/main/java/com/ycl/common/util/PropertyValueUtil.java b/ycl-platform/src/main/java/com/ycl/common/util/PropertyValueUtil.java deleted file mode 100644 index af4446d..0000000 --- a/ycl-platform/src/main/java/com/ycl/common/util/PropertyValueUtil.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.ycl.common.util; - -import lombok.Data; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.stereotype.Component; - -/** - * <p> - * 绫昏鏄� - * </p> - * - * @author mg - * @since 2022-10-09 - */ -@Component -@ConfigurationProperties(prefix = "file") -@Data -public class PropertyValueUtil { - @Value("${mail.host}") - private String host; - @Value("${mail.username}") - private String username; - @Value("${mail.authorizationCode}") - private String authorizationCode; -} diff --git a/ycl-platform/src/main/java/com/ycl/config/RestTemplateConfig.java b/ycl-platform/src/main/java/com/ycl/config/RestTemplateConfig.java new file mode 100644 index 0000000..9aaa3c5 --- /dev/null +++ b/ycl-platform/src/main/java/com/ycl/config/RestTemplateConfig.java @@ -0,0 +1,14 @@ +package com.ycl.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.client.RestTemplate; + +@Configuration +public class RestTemplateConfig { + + @Bean + public RestTemplate restTemplate() { + return new RestTemplate(); + } +} diff --git a/ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java b/ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java index 228bb35..03c2a63 100644 --- a/ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java +++ b/ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java @@ -1,14 +1,13 @@ package com.ycl.controller.caseHandler; -import com.alibaba.excel.EasyExcel; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ycl.annotation.LogSave; import com.ycl.api.CommonResult; -import com.ycl.common.constant.BaseCaseStatus; -import com.ycl.common.util.UtilNumber; +import com.ycl.controller.video.common.constant.BaseCaseStatus; +import com.ycl.controller.video.common.util.UtilNumber; import com.ycl.controller.BaseController; import com.ycl.dto.caseHandler.QueryForViolationParam; import com.ycl.dto.casePool.IllegalBuildingParam; diff --git a/ycl-platform/src/main/java/com/ycl/controller/message/MessageColumnController.java b/ycl-platform/src/main/java/com/ycl/controller/message/MessageColumnController.java index 4a1d274..c06c0e1 100644 --- a/ycl-platform/src/main/java/com/ycl/controller/message/MessageColumnController.java +++ b/ycl-platform/src/main/java/com/ycl/controller/message/MessageColumnController.java @@ -3,7 +3,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.ycl.api.CommonResult; import com.ycl.bo.AdminUserDetails; -import com.ycl.common.util.UtilNumber; +import com.ycl.controller.video.common.util.UtilNumber; import com.ycl.dto.message.MessageColumnParam; import com.ycl.entity.message.MessageColumn; import com.ycl.service.message.IMessageColumnService; diff --git a/ycl-platform/src/main/java/com/ycl/controller/message/MessageController.java b/ycl-platform/src/main/java/com/ycl/controller/message/MessageController.java index f637925..5518ca2 100644 --- a/ycl-platform/src/main/java/com/ycl/controller/message/MessageController.java +++ b/ycl-platform/src/main/java/com/ycl/controller/message/MessageController.java @@ -37,12 +37,24 @@ @ApiOperation(value = "鍙戦�佹秷鎭�") @RequestMapping(value = "/sendMessage", method = RequestMethod.POST) @ResponseBody - public CommonResult sendMessage(@Validated @RequestBody MessageParam messageParam) { + public CommonResult sendMessage(@Validated @RequestBody Message message) { AdminUserDetails user = (AdminUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); //璁剧疆鍒涘缓浜� - messageParam.setCreateUser(user.getUserId()); - return CommonResult.success(iMessageService.sendMessage(messageParam)); + message.setCreateUser(user.getUserId()); + return CommonResult.success(iMessageService.sendMessage(message)); } + + @ApiOperation(value = "鏆傚瓨娑堟伅") + @PostMapping("/saveMessage") + @ResponseBody + public CommonResult saveMessage(@Validated @RequestBody Message message) { + AdminUserDetails user = (AdminUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); + //璁剧疆鍒涘缓浜� + message.setCreateUser(user.getUserId()); + message.setCreateTime(new Date()); + return CommonResult.success(iMessageService.save(message)); + } + @ApiOperation(value = "鑾峰彇娑堟伅鍒嗛〉鏌ヨ") @RequestMapping(value = "/list", method = RequestMethod.GET) @ResponseBody @@ -62,14 +74,11 @@ @ApiOperation("淇敼鎸囧畾娑堟伅") @RequestMapping(value = "/update/{id}", method = RequestMethod.POST) @ResponseBody - public CommonResult update(@PathVariable Long id, @RequestBody MessageParam messageParam) { - Message message = new Message(); - message.setId(id); + public CommonResult update(@RequestBody Message message) { AdminUserDetails user = (AdminUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); //璁剧疆鍒涘缓浜� message.setUpdateUser(user.getUserId()); message.setUpdateTime(new Date()); - BeanUtils.copyProperties(messageParam, message); boolean success = iMessageService.updateById(message); if (success) { return CommonResult.success(null); diff --git a/ycl-platform/src/main/java/com/ycl/controller/store/StoreInfoController.java b/ycl-platform/src/main/java/com/ycl/controller/store/StoreInfoController.java index c56b835..5470875 100644 --- a/ycl-platform/src/main/java/com/ycl/controller/store/StoreInfoController.java +++ b/ycl-platform/src/main/java/com/ycl/controller/store/StoreInfoController.java @@ -5,10 +5,9 @@ import com.ycl.annotation.LogSave; import com.ycl.api.CommonPage; import com.ycl.api.CommonResult; -import com.ycl.common.util.UtilNumber; +import com.ycl.controller.video.common.util.UtilNumber; import com.ycl.dto.store.UmsStoreInfoParam; import com.ycl.entity.store.StoreInfo; -import com.ycl.entity.video.VideoPoint; import com.ycl.service.store.StoreInfoService; import com.ycl.service.video.impl.IVideoPointService; import com.ycl.vo.store.StoreInfoVO; diff --git a/ycl-platform/src/main/java/com/ycl/controller/task/TaskController.java b/ycl-platform/src/main/java/com/ycl/controller/task/TaskController.java index bec02a8..e00084d 100644 --- a/ycl-platform/src/main/java/com/ycl/controller/task/TaskController.java +++ b/ycl-platform/src/main/java/com/ycl/controller/task/TaskController.java @@ -3,7 +3,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.ycl.api.CommonResult; import com.ycl.bo.AdminUserDetails; -import com.ycl.common.util.UtilNumber; +import com.ycl.controller.video.common.util.UtilNumber; import com.ycl.entity.task.Task; import com.ycl.service.task.ITaskService; import io.swagger.annotations.Api; diff --git a/ycl-platform/src/main/java/com/ycl/controller/text/SmsController.java b/ycl-platform/src/main/java/com/ycl/controller/text/SmsController.java new file mode 100644 index 0000000..31cca60 --- /dev/null +++ b/ycl-platform/src/main/java/com/ycl/controller/text/SmsController.java @@ -0,0 +1,41 @@ +package com.ycl.controller.text; + +import com.fasterxml.jackson.databind.ObjectMapper; +import com.ycl.entity.message.SendReq; +import com.ycl.entity.message.SendRes; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.SneakyThrows; +import org.springframework.util.Base64Utils; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController() +@Api(tags = "娴嬭瘯SMs") +@RequestMapping("/text") +public class SmsController { + + @PostMapping("/sms_res") + @ApiOperation(value = "鐭俊娴嬭瘯") + @SneakyThrows + public SendRes getSms(@RequestBody String param) { + SendRes sendRes = new SendRes(); + sendRes.setRspcod("success"); + sendRes.setMgsGroup("SMS123456"); + sendRes.setSuccess("success"); + return sendRes; + } + + @PostMapping("/sms_res/fail") + @ApiOperation(value = "鐭俊娴嬭瘯") + @SneakyThrows + public SendRes getSmsToFail(@RequestBody String param) { + SendRes sendRes = new SendRes(); + sendRes.setRspcod("InvalidUsrOrPwd"); + sendRes.setMgsGroup("SMS123456"); + sendRes.setSuccess("success"); + return sendRes; + } +} diff --git a/ycl-platform/src/main/java/com/ycl/common/constant/BaseCaseStatus.java b/ycl-platform/src/main/java/com/ycl/controller/video/common/constant/BaseCaseStatus.java similarity index 94% rename from ycl-platform/src/main/java/com/ycl/common/constant/BaseCaseStatus.java rename to ycl-platform/src/main/java/com/ycl/controller/video/common/constant/BaseCaseStatus.java index 3b99ff0..15c21da 100644 --- a/ycl-platform/src/main/java/com/ycl/common/constant/BaseCaseStatus.java +++ b/ycl-platform/src/main/java/com/ycl/controller/video/common/constant/BaseCaseStatus.java @@ -1,4 +1,4 @@ -package com.ycl.common.constant; +package com.ycl.controller.video.common.constant; /** * <p> diff --git a/ycl-platform/src/main/java/com/ycl/common/constant/ChannelCode.java b/ycl-platform/src/main/java/com/ycl/controller/video/common/constant/ChannelCode.java similarity index 87% rename from ycl-platform/src/main/java/com/ycl/common/constant/ChannelCode.java rename to ycl-platform/src/main/java/com/ycl/controller/video/common/constant/ChannelCode.java index 0957763..920f417 100644 --- a/ycl-platform/src/main/java/com/ycl/common/constant/ChannelCode.java +++ b/ycl-platform/src/main/java/com/ycl/controller/video/common/constant/ChannelCode.java @@ -1,4 +1,4 @@ -package com.ycl.common.constant; +package com.ycl.controller.video.common.constant; /** * <p> diff --git a/ycl-platform/src/main/java/com/ycl/common/constant/CheckResult.java b/ycl-platform/src/main/java/com/ycl/controller/video/common/constant/CheckResult.java similarity index 89% rename from ycl-platform/src/main/java/com/ycl/common/constant/CheckResult.java rename to ycl-platform/src/main/java/com/ycl/controller/video/common/constant/CheckResult.java index 8d971ba..7b70580 100644 --- a/ycl-platform/src/main/java/com/ycl/common/constant/CheckResult.java +++ b/ycl-platform/src/main/java/com/ycl/controller/video/common/constant/CheckResult.java @@ -1,4 +1,4 @@ -package com.ycl.common.constant; +package com.ycl.controller.video.common.constant; /** * <p> diff --git a/ycl-platform/src/main/java/com/ycl/common/constant/StepName.java b/ycl-platform/src/main/java/com/ycl/controller/video/common/constant/StepName.java similarity index 89% rename from ycl-platform/src/main/java/com/ycl/common/constant/StepName.java rename to ycl-platform/src/main/java/com/ycl/controller/video/common/constant/StepName.java index c46c068..9c90e90 100644 --- a/ycl-platform/src/main/java/com/ycl/common/constant/StepName.java +++ b/ycl-platform/src/main/java/com/ycl/controller/video/common/constant/StepName.java @@ -1,4 +1,4 @@ -package com.ycl.common.constant; +package com.ycl.controller.video.common.constant; public enum StepName { diff --git a/ycl-platform/src/main/java/com/ycl/common/util/CommonUtils.java b/ycl-platform/src/main/java/com/ycl/controller/video/common/util/CommonUtils.java similarity index 99% rename from ycl-platform/src/main/java/com/ycl/common/util/CommonUtils.java rename to ycl-platform/src/main/java/com/ycl/controller/video/common/util/CommonUtils.java index f9b3180..e5acd98 100644 --- a/ycl-platform/src/main/java/com/ycl/common/util/CommonUtils.java +++ b/ycl-platform/src/main/java/com/ycl/controller/video/common/util/CommonUtils.java @@ -1,4 +1,4 @@ -package com.ycl.common.util; +package com.ycl.controller.video.common.util; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; diff --git a/ycl-platform/src/main/java/com/ycl/common/util/DateUtil.java b/ycl-platform/src/main/java/com/ycl/controller/video/common/util/DateUtil.java similarity index 99% rename from ycl-platform/src/main/java/com/ycl/common/util/DateUtil.java rename to ycl-platform/src/main/java/com/ycl/controller/video/common/util/DateUtil.java index 2ea020d..3ef4b67 100644 --- a/ycl-platform/src/main/java/com/ycl/common/util/DateUtil.java +++ b/ycl-platform/src/main/java/com/ycl/controller/video/common/util/DateUtil.java @@ -1,4 +1,4 @@ -package com.ycl.common.util; +package com.ycl.controller.video.common.util; import java.text.ParseException; import java.text.SimpleDateFormat; diff --git a/ycl-platform/src/main/java/com/ycl/common/util/DateUtils.java b/ycl-platform/src/main/java/com/ycl/controller/video/common/util/DateUtils.java similarity index 99% rename from ycl-platform/src/main/java/com/ycl/common/util/DateUtils.java rename to ycl-platform/src/main/java/com/ycl/controller/video/common/util/DateUtils.java index 2115b5d..dfa46d9 100644 --- a/ycl-platform/src/main/java/com/ycl/common/util/DateUtils.java +++ b/ycl-platform/src/main/java/com/ycl/controller/video/common/util/DateUtils.java @@ -1,4 +1,4 @@ -package com.ycl.common.util; +package com.ycl.controller.video.common.util; import java.text.ParseException; import java.text.SimpleDateFormat; diff --git a/ycl-platform/src/main/java/com/ycl/common/util/Md5.java b/ycl-platform/src/main/java/com/ycl/controller/video/common/util/Md5.java similarity index 97% rename from ycl-platform/src/main/java/com/ycl/common/util/Md5.java rename to ycl-platform/src/main/java/com/ycl/controller/video/common/util/Md5.java index aebeb9f..5ec0a96 100644 --- a/ycl-platform/src/main/java/com/ycl/common/util/Md5.java +++ b/ycl-platform/src/main/java/com/ycl/controller/video/common/util/Md5.java @@ -1,4 +1,4 @@ -package com.ycl.common.util; +package com.ycl.controller.video.common.util; import java.security.MessageDigest; diff --git a/ycl-platform/src/main/java/com/ycl/common/util/ParamsMap.java b/ycl-platform/src/main/java/com/ycl/controller/video/common/util/ParamsMap.java similarity index 98% rename from ycl-platform/src/main/java/com/ycl/common/util/ParamsMap.java rename to ycl-platform/src/main/java/com/ycl/controller/video/common/util/ParamsMap.java index 6df2b8a..7a3860c 100644 --- a/ycl-platform/src/main/java/com/ycl/common/util/ParamsMap.java +++ b/ycl-platform/src/main/java/com/ycl/controller/video/common/util/ParamsMap.java @@ -1,4 +1,4 @@ -package com.ycl.common.util; +package com.ycl.controller.video.common.util; import lombok.extern.slf4j.Slf4j; diff --git a/ycl-platform/src/main/java/com/ycl/common/util/RandomNumberGenerator.java b/ycl-platform/src/main/java/com/ycl/controller/video/common/util/RandomNumberGenerator.java similarity index 97% rename from ycl-platform/src/main/java/com/ycl/common/util/RandomNumberGenerator.java rename to ycl-platform/src/main/java/com/ycl/controller/video/common/util/RandomNumberGenerator.java index d351cba..f78f3a1 100644 --- a/ycl-platform/src/main/java/com/ycl/common/util/RandomNumberGenerator.java +++ b/ycl-platform/src/main/java/com/ycl/controller/video/common/util/RandomNumberGenerator.java @@ -1,4 +1,4 @@ -package com.ycl.common.util; +package com.ycl.controller.video.common.util; import java.text.SimpleDateFormat; import java.util.Date; diff --git a/ycl-platform/src/main/java/com/ycl/common/util/RandomStringUtil.java b/ycl-platform/src/main/java/com/ycl/controller/video/common/util/RandomStringUtil.java similarity index 95% rename from ycl-platform/src/main/java/com/ycl/common/util/RandomStringUtil.java rename to ycl-platform/src/main/java/com/ycl/controller/video/common/util/RandomStringUtil.java index eae8313..affaab3 100644 --- a/ycl-platform/src/main/java/com/ycl/common/util/RandomStringUtil.java +++ b/ycl-platform/src/main/java/com/ycl/controller/video/common/util/RandomStringUtil.java @@ -1,4 +1,4 @@ -package com.ycl.common.util; +package com.ycl.controller.video.common.util; import java.util.Random; diff --git a/ycl-platform/src/main/java/com/ycl/common/util/UtilNumber.java b/ycl-platform/src/main/java/com/ycl/controller/video/common/util/UtilNumber.java similarity index 99% rename from ycl-platform/src/main/java/com/ycl/common/util/UtilNumber.java rename to ycl-platform/src/main/java/com/ycl/controller/video/common/util/UtilNumber.java index 2ffcc95..479400c 100644 --- a/ycl-platform/src/main/java/com/ycl/common/util/UtilNumber.java +++ b/ycl-platform/src/main/java/com/ycl/controller/video/common/util/UtilNumber.java @@ -1,4 +1,4 @@ -package com.ycl.common.util; +package com.ycl.controller.video.common.util; import com.ycl.mapper.common.GeneratedCodeMapper; diff --git a/ycl-platform/src/main/java/com/ycl/dto/message/MessageParam.java b/ycl-platform/src/main/java/com/ycl/dto/message/MessageParam.java index 0dd83bd..7beeff7 100644 --- a/ycl-platform/src/main/java/com/ycl/dto/message/MessageParam.java +++ b/ycl-platform/src/main/java/com/ycl/dto/message/MessageParam.java @@ -16,12 +16,7 @@ @Data @ApiModel("娑堟伅鍙傛暟浣�") public class MessageParam extends BasePageVO { - - /** - * 涓婚敭id - */ - @ApiModelProperty(value = "涓婚敭id") - private Long id; + private Byte sort; /** * 鏍囬 */ @@ -32,54 +27,24 @@ */ @ApiModelProperty(value = "娓犻亾鐮�01-鍐呯珯淇�02-閭欢03-鐭俊") private String channelCode; + /** * 娑堟伅绫诲瀷 */ @ApiModelProperty(value = "濉厖鏍忕洰缂栫爜") private Integer messageType; - /** - * 娑堟伅浣� - */ - @ApiModelProperty(value = "娑堟伅浣�") - private String body; - /** - * 鍙戦�佽�� - */ - @ApiModelProperty(value = "鍙戦�佽��") - private String targetFrom; - /** - * 鎺ユ敹鑰� - */ - @ApiModelProperty(value = "鎺ユ敹鑰�") - private String targetTo; - /** - * 闅忔満鐮� - */ - @ApiModelProperty(value = "闅忔満鐮�") - private String randomCode; - /** - * 鍙戦�佹椂闂� - */ - @ApiModelProperty(value = "鍙戦�佹椂闂�") - private String sendTime; + + @ApiModelProperty(value = "寮�濮嬫椂闂�") + private String startTime; + + @ApiModelProperty(value = "寮�濮嬫椂闂�") + private String endTime; /** * 鐘舵��0-鏈彂甯�1-宸插彂甯� */ @ApiModelProperty(value = "鐘舵��0-鏈彂甯�1-宸插彂甯�") private Integer status; - /** - * 澶囨敞 - */ - @ApiModelProperty(value = "澶囨敞 ps:棰勭暀瀛楁") - private String remark; - /** - * 鍒涘缓浜� - */ - @ApiModelProperty(value = "鍒涘缓浜�") - private Long createUser; - /** - * 鏄惁鎵弿0-鏈壂鎻�1-宸叉壂鎻� - */ - @ApiModelProperty(value = "鏄惁鎵弿0-鏈壂鎻�1-宸叉壂鎻�") - private Integer isScan; + + @ApiModelProperty(value = "鍝嶅簲缁撴灉") + private String respondResult; } \ No newline at end of file diff --git a/ycl-platform/src/main/java/com/ycl/entity/message/Message.java b/ycl-platform/src/main/java/com/ycl/entity/message/Message.java index 6eefc8c..fcdf270 100644 --- a/ycl-platform/src/main/java/com/ycl/entity/message/Message.java +++ b/ycl-platform/src/main/java/com/ycl/entity/message/Message.java @@ -14,7 +14,7 @@ /** * <p> - * 娑堟伅瀹炰綋绫� + * 娑堟伅瀹炰綋绫� * </p> * * @author mg @@ -167,4 +167,6 @@ @ApiModelProperty(value = "鏇存柊鏃堕棿") private Date updateTime; + @ApiModelProperty(value = "鍝嶅簲缁撴灉") + private String respondResult; } diff --git a/ycl-platform/src/main/java/com/ycl/entity/message/SendReq.java b/ycl-platform/src/main/java/com/ycl/entity/message/SendReq.java new file mode 100644 index 0000000..705384f --- /dev/null +++ b/ycl-platform/src/main/java/com/ycl/entity/message/SendReq.java @@ -0,0 +1,15 @@ +package com.ycl.entity.message; + +import lombok.Data; + +@Data +public class SendReq { + + private String apId; + private String ecName; //闆嗗洟鍚嶇О + private String sign; //缃戝叧绛惧悕缂栫爜 + private String addSerial; //鎷撳睍鐮� 濉┖ + private String mac;//璇锋眰url + private String mobiles; + private String context; +} diff --git a/ycl-platform/src/main/java/com/ycl/entity/message/SendRes.java b/ycl-platform/src/main/java/com/ycl/entity/message/SendRes.java new file mode 100644 index 0000000..b60a3a0 --- /dev/null +++ b/ycl-platform/src/main/java/com/ycl/entity/message/SendRes.java @@ -0,0 +1,10 @@ +package com.ycl.entity.message; + +import lombok.Data; + +@Data +public class SendRes { + private String rspcod; + private String mgsGroup; + private String success; +} diff --git a/ycl-platform/src/main/java/com/ycl/mapper/message/MessageMapper.java b/ycl-platform/src/main/java/com/ycl/mapper/message/MessageMapper.java index f781af8..5a3e663 100644 --- a/ycl-platform/src/main/java/com/ycl/mapper/message/MessageMapper.java +++ b/ycl-platform/src/main/java/com/ycl/mapper/message/MessageMapper.java @@ -1,6 +1,8 @@ package com.ycl.mapper.message; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ycl.dto.message.MessageParam; import com.ycl.entity.message.Message; /** @@ -12,4 +14,5 @@ * @since 2022-10-08 */ public interface MessageMapper extends BaseMapper<Message> { + Page<Message> selectMessagePage(Page<Message> page, MessageParam messageParam); } diff --git a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java index 9b439d2..52b1d17 100644 --- a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java +++ b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java @@ -8,9 +8,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ycl.bo.AdminUserDetails; -import com.ycl.common.constant.BaseCaseStatus; -import com.ycl.common.constant.StepName; -import com.ycl.common.util.DateUtil; +import com.ycl.controller.video.common.constant.BaseCaseStatus; +import com.ycl.controller.video.common.constant.StepName; +import com.ycl.controller.video.common.util.DateUtil; import com.ycl.dto.caseHandler.QueryForViolationParam; import com.ycl.dto.casePool.IllegalBuildingParam; import com.ycl.dto.casePool.ViolationParam; diff --git a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/CheckHandleServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/CheckHandleServiceImpl.java index cab7f5f..1ea1d9a 100644 --- a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/CheckHandleServiceImpl.java +++ b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/CheckHandleServiceImpl.java @@ -3,9 +3,9 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.ycl.common.constant.BaseCaseStatus; -import com.ycl.common.constant.CheckResult; -import com.ycl.common.constant.StepName; +import com.ycl.controller.video.common.constant.BaseCaseStatus; +import com.ycl.controller.video.common.constant.CheckResult; +import com.ycl.controller.video.common.constant.StepName; import com.ycl.dto.caseHandler.ChechParam; import com.ycl.entity.caseHandler.BaseCase; import com.ycl.entity.caseHandler.DisposeRecord; diff --git a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java index 540786d..f032d78 100644 --- a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java +++ b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java @@ -5,8 +5,8 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ycl.bo.AdminUserDetails; -import com.ycl.common.constant.BaseCaseStatus; -import com.ycl.common.constant.StepName; +import com.ycl.controller.video.common.constant.BaseCaseStatus; +import com.ycl.controller.video.common.constant.StepName; import com.ycl.dto.dispatch.UploadDisposingResultParam; import com.ycl.entity.caseHandler.*; import com.ycl.entity.resources.ImageResources; diff --git a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/IDispatchHandleServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/IDispatchHandleServiceImpl.java index 90c4202..e6a650f 100644 --- a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/IDispatchHandleServiceImpl.java +++ b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/IDispatchHandleServiceImpl.java @@ -3,8 +3,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.ycl.common.constant.BaseCaseStatus; -import com.ycl.common.constant.StepName; +import com.ycl.controller.video.common.constant.BaseCaseStatus; +import com.ycl.controller.video.common.constant.StepName; import com.ycl.dto.caseHandler.DispatchInfoParam; import com.ycl.entity.caseHandler.BaseCase; import com.ycl.entity.caseHandler.DispatchInfo; diff --git a/ycl-platform/src/main/java/com/ycl/service/message/IMessageService.java b/ycl-platform/src/main/java/com/ycl/service/message/IMessageService.java index 80c087c..b9c9bda 100644 --- a/ycl-platform/src/main/java/com/ycl/service/message/IMessageService.java +++ b/ycl-platform/src/main/java/com/ycl/service/message/IMessageService.java @@ -1,6 +1,6 @@ package com.ycl.service.message; -import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.ycl.dto.message.MessageParam; import com.ycl.entity.message.Message; @@ -9,7 +9,7 @@ /** * <p> - * 娑堟伅鏈嶅姟绫� + * 娑堟伅鏈嶅姟绫� * </p> * * @author mg @@ -17,8 +17,9 @@ */ public interface IMessageService extends IService<Message> { - Message sendMessage(MessageParam messageParam); - IPage<Message> list(MessageParam messageParam); + String sendMessage(Message message); + + Page<Message> list(MessageParam messageParam); Boolean deleteMessages(List<Long> ids); } diff --git a/ycl-platform/src/main/java/com/ycl/service/message/Provider.java b/ycl-platform/src/main/java/com/ycl/service/message/Provider.java deleted file mode 100644 index ce68d15..0000000 --- a/ycl-platform/src/main/java/com/ycl/service/message/Provider.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.ycl.service.message; - -/** - * <p> - * 绫昏鏄� - * </p> - * - * @author mg - * @since 2022-10-09 - */ -public interface Provider { - public Sender produce(); -} diff --git a/ycl-platform/src/main/java/com/ycl/service/message/Sender.java b/ycl-platform/src/main/java/com/ycl/service/message/Sender.java deleted file mode 100644 index 7a20524..0000000 --- a/ycl-platform/src/main/java/com/ycl/service/message/Sender.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.ycl.service.message; - -import com.ycl.dto.message.MessageParam; -import com.ycl.entity.message.Message; - -/** - * <p> - * - * </p> - * - * @author mg - * @since 2022-10-09 - */ -public interface Sender { - Message sendMessage(MessageParam messageParam); -} diff --git a/ycl-platform/src/main/java/com/ycl/service/message/factory/InnerFactory.java b/ycl-platform/src/main/java/com/ycl/service/message/factory/InnerFactory.java deleted file mode 100644 index 17c4f80..0000000 --- a/ycl-platform/src/main/java/com/ycl/service/message/factory/InnerFactory.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.ycl.service.message.factory; - -import com.ycl.service.message.Provider; -import com.ycl.service.message.Sender; - -/** - * <p> - * 鍐呴儴宸ュ巶 - * </p> - * - * @author mg - * @since 2022-10-09 - */ -public class InnerFactory implements Provider { - @Override - public Sender produce() { - return new InnerSender(); - } -} diff --git a/ycl-platform/src/main/java/com/ycl/service/message/factory/InnerSender.java b/ycl-platform/src/main/java/com/ycl/service/message/factory/InnerSender.java deleted file mode 100644 index 8375855..0000000 --- a/ycl-platform/src/main/java/com/ycl/service/message/factory/InnerSender.java +++ /dev/null @@ -1,97 +0,0 @@ -package com.ycl.service.message.factory; - -import com.ycl.common.constant.ChannelCode; -import com.ycl.common.util.CommonUtils; -import com.ycl.common.util.UtilNumber; -import com.ycl.dto.message.MessageParam; -import com.ycl.entity.message.Message; -import com.ycl.mapper.message.MessageMapper; -import com.ycl.service.message.IMessageService; -import com.ycl.service.message.Sender; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -/** - * <p> - * 鍐呯珯鍙戦�佸櫒 - * </p> - * - * @author mg - * @since 2022-10-09 - */ -@Component -public class InnerSender implements Sender { - - - - private static IMessageService iMessageService; - @Autowired - public void setIMessageService(IMessageService iMessageService) { - InnerSender.iMessageService = iMessageService; - } - private static MessageMapper messageMapper; - @Autowired - public void setMessageMapper(MessageMapper messageMapper) { - InnerSender.messageMapper = messageMapper; - } - - @Override - public Message sendMessage(MessageParam messageParam) { - Message message = new Message(); - List<Message> messages = new ArrayList<>(); - if (CommonUtils.isEmpty(messageParam.getId())) { - String messageNumber = UtilNumber.getNumber("MC", 6); - BeanUtils.copyProperties(messageParam, message); - //鐖禝d涓�0 - message.setParentId(0L); - //鐢熸垚娑堟伅缂栫爜 - message.setMessageNumber(messageNumber); - //鐢熸垚榛樿鍙傛暟 - //鍙戦�佹椂闂� - if (message.getSendTime() == null) { - message.setSendTime(new Date()); - } - if (ChannelCode.SMS.equals(messageParam.getChannelCode())) { - message.setIsScan(1); - } else { - message.setIsScan(0); - } - message.setIsView(0); - message.setVersion(0); - message.setCreateTime(new Date()); - message.setUpdateTime(new Date()); - message.setCreateUser(messageParam.getCreateUser()); - message.setUpdateUser(messageParam.getCreateUser()); - messageMapper.insert(message); - } else { - message.setId(messageParam.getId()); - BeanUtils.copyProperties(messageParam, message); - message.setUpdateTime(new Date()); - message.setUpdateUser(messageParam.getCreateUser()); - messageMapper.updateById(message); - } - //鍙戝竷娑堟伅 - if (message.getStatus() == 1) { - String[] ids = messageParam.getTargetTo().split(","); - for (String id : ids) { - Message messageAdd = new Message(); - BeanUtils.copyProperties(message, messageAdd); - //瀛愮被id璁剧疆涓虹┖ - messageAdd.setId(null); - //璁剧疆鐖剁被Id - messageAdd.setParentId(message.getId()); - //璁剧疆鎺ユ敹鑰� - messageAdd.setTargetTo(id); - messages.add(messageAdd); - } - //鎵归噺鏂板 - iMessageService.saveBatch(messages); - } - return message; - } -} diff --git a/ycl-platform/src/main/java/com/ycl/service/message/factory/MailFactory.java b/ycl-platform/src/main/java/com/ycl/service/message/factory/MailFactory.java deleted file mode 100644 index 7ae6506..0000000 --- a/ycl-platform/src/main/java/com/ycl/service/message/factory/MailFactory.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.ycl.service.message.factory; - -import com.ycl.service.message.Provider; -import com.ycl.service.message.Sender; - -/** - * <p> - * 閭欢宸ュ巶 - * </p> - * - * @author mg - * @since 2022-10-09 - */ -public class MailFactory implements Provider { - @Override - public Sender produce() { - return new MailSender(); - } -} diff --git a/ycl-platform/src/main/java/com/ycl/service/message/factory/MailSender.java b/ycl-platform/src/main/java/com/ycl/service/message/factory/MailSender.java deleted file mode 100644 index 62a6c88..0000000 --- a/ycl-platform/src/main/java/com/ycl/service/message/factory/MailSender.java +++ /dev/null @@ -1,88 +0,0 @@ -package com.ycl.service.message.factory; - -import com.ycl.common.util.PropertyValueUtil; -import com.ycl.dto.message.MessageParam; -import com.ycl.entity.message.Message; -import com.ycl.exception.ApiException; -import com.ycl.service.message.Sender; -import com.ycl.service.user.UmsAdminService; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.mail.SimpleMailMessage; -import org.springframework.mail.javamail.JavaMailSenderImpl; -import org.springframework.stereotype.Component; - -/** - * <p> - * 閭欢鍙戦�佸櫒 - * </p> - * - * @author mg - * @since 2022-10-09 - */ -@Component -public class MailSender implements Sender { - private final Logger logger = LoggerFactory.getLogger(getClass()); - - private static InnerSender innerSender; - @Autowired - public void setIMessageService(InnerSender innerSender) { - MailSender.innerSender = innerSender; - } - - private static PropertyValueUtil propertyValueUtil; - @Autowired - public void setPropertyValueUtil(PropertyValueUtil propertyValueUtil) { - MailSender.propertyValueUtil = propertyValueUtil; - } - private static UmsAdminService adminService; - @Autowired - public void setUmsAdminService(UmsAdminService adminService) { - MailSender.adminService = adminService; - } - - @Override - public Message sendMessage(MessageParam messageParam) { - //鍏ュ簱淇濆瓨 - Message message = innerSender.sendMessage(messageParam); - if (messageParam.getStatus() == 1) { - //id鎹㈡垚閭鍙� - String targetToMail = adminService.getTargetTo(messageParam.getTargetTo(), messageParam.getChannelCode()); - message.setTargetTo(targetToMail); - //鍙戦�侀偖浠� - sendMail(message); - } - return message; - } - - public Message sendMail(Message message) { - //缁勮閭欢鍙戦�� - JavaMailSenderImpl sender = new JavaMailSenderImpl(); - sender.setHost(propertyValueUtil.getHost()); - sender.setUsername(propertyValueUtil.getUsername()); - sender.setPassword(propertyValueUtil.getAuthorizationCode()); - - String[] mails = message.getTargetTo().split(","); - SimpleMailMessage[] messageList = new SimpleMailMessage[mails.length]; - for (int i=0;i<messageList.length;i++) { - SimpleMailMessage messageTo = new SimpleMailMessage(); - messageTo.setFrom(propertyValueUtil.getUsername()); - messageTo.setTo(mails[i]); - messageTo.setSubject(message.getHead()); - messageTo.setText(message.getBody()); - messageList[i] = messageTo; - } - try { - sender.send(messageList); - logger.info("绠�鍗曢偖浠跺凡鍙戦��"); - - }catch (Exception e){ - e.printStackTrace(); - logger.error("鍙戦�佺畝鍗曢偖浠舵椂鍙戠敓寮傚父锛�", e); - e.printStackTrace(); - throw new ApiException("鍙戦�佺畝鍗曢偖浠舵椂鍙戠敓寮傚父"); - } - return message; - } -} diff --git a/ycl-platform/src/main/java/com/ycl/service/message/factory/SmsFactory.java b/ycl-platform/src/main/java/com/ycl/service/message/factory/SmsFactory.java deleted file mode 100644 index 5a0711b..0000000 --- a/ycl-platform/src/main/java/com/ycl/service/message/factory/SmsFactory.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.ycl.service.message.factory; - -import com.ycl.service.message.Provider; -import com.ycl.service.message.Sender; - -/** - * <p> - * 绫昏鏄� - * </p> - * - * @author mg - * @since 2022-10-09 - */ -public class SmsFactory implements Provider { - @Override - public Sender produce() { - return new SmsSender(); - } -} diff --git a/ycl-platform/src/main/java/com/ycl/service/message/factory/SmsSender.java b/ycl-platform/src/main/java/com/ycl/service/message/factory/SmsSender.java deleted file mode 100644 index 2ab66a5..0000000 --- a/ycl-platform/src/main/java/com/ycl/service/message/factory/SmsSender.java +++ /dev/null @@ -1,75 +0,0 @@ -package com.ycl.service.message.factory; - -import com.ycl.common.util.PropertyValueUtil; -import com.ycl.dto.message.MessageParam; -import com.ycl.entity.message.Message; -import com.ycl.exception.ApiException; -import com.ycl.service.message.ISmsAuditService; -import com.ycl.service.message.Sender; -import com.ycl.service.user.UmsAdminService; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -/** - * <p> - * 鐭俊鍙戦�佸櫒 - * </p> - * - * @author mg - * @since 2022-10-09 - */ -@Component -public class SmsSender implements Sender { - - private final Logger logger = LoggerFactory.getLogger(getClass()); - - private static InnerSender innerSender; - @Autowired - public void setIMessageService(InnerSender innerSender) { - SmsSender.innerSender = innerSender; - } - - private static PropertyValueUtil propertyValueUtil; - @Autowired - public void setPropertyValueUtil(PropertyValueUtil propertyValueUtil) { - SmsSender.propertyValueUtil = propertyValueUtil; - } - private static ISmsAuditService iSmsAuditService; - @Autowired - public void setISmsAuditService(ISmsAuditService iSmsAuditService) { - SmsSender.iSmsAuditService = iSmsAuditService; - } - private static UmsAdminService adminService; - @Autowired - public void setUmsAdminService(UmsAdminService adminService) { - SmsSender.adminService = adminService; - } - - @Override - public Message sendMessage(MessageParam messageParam) { - //鍏ュ簱淇濆瓨 - Message message = innerSender.sendMessage(messageParam); - if (messageParam.getStatus() == 1) { - //鍙戣捣瀹℃牳 - iSmsAuditService.startAuditSms(message); - } - return message; - } - - public Message sendSms(Message message) { - //缁勮鐭俊鍙戦�� - - try { - logger.info("缁勮鐭俊鍙戦��"); - System.out.println("----------------鍙戦�佺煭淇�----------------------"); - }catch (Exception e){ - e.printStackTrace(); - logger.error("鍙戦�佺粍瑁呯煭淇″紓甯革紒", e); - e.printStackTrace(); - throw new ApiException("鍙戦�佺粍瑁呯煭淇″紓甯�"); - } - return message; - } -} diff --git a/ycl-platform/src/main/java/com/ycl/service/message/impl/MessageServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/message/impl/MessageServiceImpl.java index fa273a6..8c09bae 100644 --- a/ycl-platform/src/main/java/com/ycl/service/message/impl/MessageServiceImpl.java +++ b/ycl-platform/src/main/java/com/ycl/service/message/impl/MessageServiceImpl.java @@ -1,26 +1,42 @@ package com.ycl.service.message.impl; +import cn.hutool.core.net.url.UrlBuilder; +import cn.hutool.core.net.url.UrlPath; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.ycl.common.constant.ChannelCode; -import com.ycl.common.util.CommonUtils; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.ycl.controller.video.common.constant.ChannelCode; +import com.ycl.controller.video.common.util.CommonUtils; import com.ycl.dto.message.MessageParam; import com.ycl.entity.message.Message; +import com.ycl.entity.message.SendReq; +import com.ycl.entity.message.SendRes; import com.ycl.entity.user.UmsAdmin; import com.ycl.exception.ApiException; import com.ycl.mapper.message.MessageMapper; import com.ycl.mapper.user.UmsAdminMapper; import com.ycl.service.message.IMessageService; -import com.ycl.service.message.Provider; -import com.ycl.service.message.Sender; -import com.ycl.service.message.factory.InnerFactory; -import com.ycl.service.message.factory.MailFactory; -import com.ycl.service.message.factory.SmsFactory; +import com.ycl.utils.MD5Util; +import lombok.SneakyThrows; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpHeaders; +import org.springframework.http.MediaType; +import org.springframework.mail.javamail.JavaMailSenderImpl; +import org.springframework.mail.javamail.MimeMessageHelper; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.Base64Utils; +import org.springframework.web.client.RestTemplate; import javax.annotation.Resource; +import javax.mail.internet.MimeMessage; +import java.util.ArrayList; +import java.util.Date; import java.util.List; import java.util.stream.Collectors; @@ -35,78 +51,162 @@ @Service public class MessageServiceImpl extends ServiceImpl<MessageMapper, Message> implements IMessageService { + @Value("${e-mail.sendHost}") + private String sendHost; + + @Value("${e-mail.username}") + private String userName; + + @Value("${e-mail.password}") + private String password; + + @Value(value = "${SMS.ecName}") + private String ecName; //闆嗗洟瀹㈡埛鍚嶇О + + @Value(value = "${SMS.apId}") + private String apId; //鐢ㄦ埛鍚� + + @Value(value = "${SMS.sign}") + private String sign; //缃戝叧绛惧悕缂栫爜锛屽繀濉紝绛惧悕缂栫爜鍦ㄤ腑鍥界Щ鍔ㄩ泦鍥㈠紑閫氬笎鍙峰悗鍒嗛厤锛屽彲浠ュ湪浜慚AS缃戦〉绔鐞嗗瓙绯荤粺-SMS鎺ュ彛绠$悊鍔熻兘涓笅杞姐�� + + @Value(value = "${SMS.url}") + private String url; @Resource private UmsAdminMapper umsAdminMapper; + @Resource + private MessageMapper messageMapper; + + @Resource + RestTemplate restTemplate; @Override - public Message sendMessage(MessageParam messageParam) { - Message message = null; - Provider provider = null; - switch (messageParam.getChannelCode()) - { - //鍐呯珯鍙戦�� - case ChannelCode.INNER: - provider = new InnerFactory(); - break; + @Transactional(rollbackFor = Exception.class) + public String sendMessage(Message message) { + Message savedMessage = messageMapper.selectOne(new LambdaQueryWrapper<Message>() + .eq(Message::getTargetTo, message.getTargetTo()) + .eq(Message::getTargetFrom, message.getTargetFrom())); + if (savedMessage != null) { + messageMapper.deleteById(savedMessage); + } + + ArrayList<Long> ids = new ArrayList<>(); + + for (String receive : message.getTargetTo().split(",")) { + Message sendMessage = new Message(); + BeanUtils.copyProperties(message, sendMessage); + sendMessage.setCreateTime(new Date()); + sendMessage.setSendTime(new Date()); + sendMessage.setTargetTo(receive); + sendMessage.setSendTime(new Date()); + this.save(sendMessage); + ids.add(sendMessage.getId()); + } + switch (message.getChannelCode()) { //閭欢鍙戦�� case ChannelCode.SMS: - provider = new MailFactory(); + sendSMS(message, ids); break; - //鐭俊鍙戦�� + //鐭俊鍙戦�� case ChannelCode.MAIL: - provider = new SmsFactory(); + sendMail(message); break; default: throw new ApiException("鏈尮閰嶅埌璇ョ被鍨�"); } - Sender sender = provider.produce(); - sender.sendMessage(messageParam); - return message; + return "send message success!"; + } + + @SneakyThrows + private void sendSMS(Message message, List<Long> mesIds) { + String context = "銆�" + message.getHead() + "銆�" + message.getBody(); + String addSerial = ""; + SendReq sendReq = new SendReq(); + sendReq.setEcName(ecName); + sendReq.setApId(apId); + sendReq.setSign(sign); + sendReq.setContext(context); + String[] ids = message.getTargetTo().split(","); + String[] mobiles = new String[ids.length]; + for (int i = 0; i < ids.length; i++) { + mobiles[i] = umsAdminMapper.selectById(ids[i]).getMobile(); + } + sendReq.setMobiles(StringUtils.join(mobiles, ",")); + sendReq.setAddSerial(addSerial); + + StringBuffer mac = new StringBuffer(); + mac.append(ecName); + mac.append(apId); + mac.append(sendReq.getMobiles()); + mac.append(context); + mac.append(sign); + mac.append(addSerial); + sendReq.setMac(MD5Util.md5Encrypt32Lower(mac.toString())); + + HttpHeaders httpHeaders = new HttpHeaders(); + httpHeaders.setContentType(MediaType.APPLICATION_JSON); + + ObjectMapper objectMapper = new ObjectMapper(); + + HttpEntity<String> stringHttpEntity = new HttpEntity<>(Base64Utils.encodeToString(objectMapper.writeValueAsBytes(mac)), httpHeaders); + + SendRes sendRes = objectMapper.readValue(restTemplate.postForEntity(url, stringHttpEntity, String.class).getBody(), SendRes.class); + Message sendedMessage = new Message(); + if (sendRes.getRspcod().equals("success")) { + for (Long id : mesIds) { + sendedMessage.setStatus(2); + sendedMessage.setRespondResult("鍙戦�佹垚鍔�"); + sendedMessage.setId(id); + sendedMessage.setUpdateTime(new Date()); + sendedMessage.setSendTime(new Date()); + messageMapper.updateById(sendedMessage); + } + } else { + for (Long id : mesIds) { + sendedMessage.setStatus(3); + sendedMessage.setRespondResult("鍙戦�佸け璐�"); + sendedMessage.setSendTime(new Date()); + sendedMessage.setId(id); + sendedMessage.setUpdateTime(new Date()); + messageMapper.updateById(sendedMessage); + } + } + } + + //鍙戦�侀偖浠� + @SneakyThrows + private void sendMail(Message message) { + JavaMailSenderImpl javaMailSender = new JavaMailSenderImpl(); + javaMailSender.setHost(sendHost); + javaMailSender.setUsername(userName); + javaMailSender.setPassword(password); + MimeMessage mimeMessage = javaMailSender.createMimeMessage(); + MimeMessageHelper helper = new MimeMessageHelper(mimeMessage); + helper.setText(message.getBody()); + helper.setSubject(message.getHead()); + helper.setFrom(userName); + String[] ids = message.getTargetTo().split(","); + String[] address = new String[ids.length]; + for (int i = 0; i < ids.length; i++) { + address[i] = umsAdminMapper.selectById(ids[i]).getEmail(); + } + helper.setTo(address); + javaMailSender.send(mimeMessage); } @Override - public IPage<Message> list(MessageParam messageParam) { + public Page<Message> list(MessageParam messageParam) { Page<Message> page = new Page<>(messageParam.getCurrent(), messageParam.getPageSize()); - LambdaQueryWrapper<Message> queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(Message::getParentId, 0); - if (!CommonUtils.isEmpty(messageParam.getHead())) { - queryWrapper.eq(Message::getHead, messageParam.getHead()); - } - if (!CommonUtils.isEmpty(messageParam.getChannelCode())) { - queryWrapper.eq(Message::getChannelCode, messageParam.getChannelCode()); - } - if (!CommonUtils.isEmpty(messageParam.getStatus())) { - queryWrapper.eq(Message::getStatus, messageParam.getStatus()); - } - queryWrapper.orderByDesc(Message::getCreateTime); - Page<Message> result = baseMapper.selectPage(page, queryWrapper); - List<Message> messages = result.getRecords(); - if (!CommonUtils.isEmpty(messages)) { - List<Long> ids = messages.stream().map(e -> Long.parseLong(e.getTargetFrom().trim())).collect(Collectors.toList()); - LambdaQueryWrapper<UmsAdmin> queryUSers = new LambdaQueryWrapper<>(); - queryUSers.in(UmsAdmin::getId, ids); - List<UmsAdmin> users = umsAdminMapper.selectList(queryUSers); - if (!CommonUtils.isEmpty(users)) { - for (UmsAdmin user : users) { - for (Message message : messages) { - if (message.getTargetFrom().equals(user.getId()+"")) { - message.setTargetFrom(user.getUsername()); - } - } - } - } - } - return result; + return messageMapper.selectMessagePage(page,messageParam); } @Override public Boolean deleteMessages(List<Long> ids) { LambdaQueryWrapper<Message> queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.in(Message::getId, ids).or().in(Message::getParentId,ids); + queryWrapper.in(Message::getId, ids).or().in(Message::getParentId, ids); List<Message> messages = baseMapper.selectList(queryWrapper); if (CommonUtils.isNotEmpty(messages)) { - List<Long> deleteIds = messages.stream().map(Message::getId).collect(Collectors.toList()); + List<Long> deleteIds = messages.stream().map(Message::getId).collect(Collectors.toList()); baseMapper.deleteBatchIds(deleteIds); } return true; diff --git a/ycl-platform/src/main/java/com/ycl/service/message/impl/SmsAuditServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/message/impl/SmsAuditServiceImpl.java index ceedd48..4323e14 100644 --- a/ycl-platform/src/main/java/com/ycl/service/message/impl/SmsAuditServiceImpl.java +++ b/ycl-platform/src/main/java/com/ycl/service/message/impl/SmsAuditServiceImpl.java @@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.ycl.common.util.CommonUtils; +import com.ycl.controller.video.common.util.CommonUtils; import com.ycl.dto.message.MessageSmsParam; import com.ycl.entity.message.Message; import com.ycl.entity.message.SmsAudit; @@ -14,7 +14,6 @@ import com.ycl.mapper.message.SmsAuditMapper; import com.ycl.mapper.user.UmsDepartManageMapper; import com.ycl.service.message.ISmsAuditService; -import com.ycl.service.message.factory.SmsSender; import com.ycl.service.user.UmsAdminService; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -25,7 +24,7 @@ /** * <p> - * 鐭俊瀹℃牳 鏈嶅姟瀹炵幇绫� + * 鐭俊瀹℃牳 鏈嶅姟瀹炵幇绫� * </p> * * @author mg @@ -41,8 +40,6 @@ @Resource private UmsAdminService adminService; - @Resource - private SmsSender smsSender; @Override public IPage<SmsAudit> list(SmsAudit smsAudit) { @@ -72,18 +69,14 @@ queryDeptWrapper.in(UmsDepartManage::getUserId, ids); List<UmsDepartManage> depts = umsDepartManageMapper.selectList(queryDeptWrapper); //閮ㄩ棬鍘婚噸 - List<UmsDepartManage> uniques = depts.stream().collect( - Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(o->o.getDepartId()))), - ArrayList::new)); + List<UmsDepartManage> uniques = depts.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(o -> o.getDepartId()))), ArrayList::new)); List<Long> deptLeadIds = uniques.stream().map(UmsDepartManage::getDepartId).collect(Collectors.toList()); LambdaQueryWrapper<UmsDepartManage> queryDeptLeadWrapper = new LambdaQueryWrapper<>(); - queryDeptLeadWrapper.in(UmsDepartManage::getDepartId, deptLeadIds).eq(UmsDepartManage::getIsLeader,1); + queryDeptLeadWrapper.in(UmsDepartManage::getDepartId, deptLeadIds).eq(UmsDepartManage::getIsLeader, 1); List<UmsDepartManage> deptLeads = umsDepartManageMapper.selectList(queryDeptLeadWrapper); //瀹℃牳鍘婚噸 - List<UmsDepartManage> uniqueLeads = deptLeads.stream().collect( - Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(o->o.getUserId()))), - ArrayList::new)); + List<UmsDepartManage> uniqueLeads = deptLeads.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(o -> o.getUserId()))), ArrayList::new)); //娣诲姞鐭俊瀹℃牳 List<SmsAudit> audits = new ArrayList<>(); for (UmsDepartManage depart : uniqueLeads) { @@ -104,8 +97,7 @@ @Override public Boolean checkSms(MessageSmsParam messageSmsParam) { - switch (messageSmsParam.getStatus()) - { + switch (messageSmsParam.getStatus()) { //鏈�氳繃 case 0: noPassMethod(messageSmsParam); @@ -119,6 +111,7 @@ } return true; } + @Transactional public void passMethod(MessageSmsParam messageSmsParam) { Message message = messageMapper.selectById(messageSmsParam.getMessageId()); @@ -128,8 +121,6 @@ //id鎹㈡垚鎵嬫満鍙� String targetToPhone = adminService.getTargetTo(message.getTargetTo(), message.getChannelCode()); message.setTargetTo(targetToPhone); - //鍙戦�佺煭淇� - smsSender.sendSms(message); Message updateMessage = new Message(); updateMessage.setSendTime(new Date()); @@ -143,17 +134,20 @@ //瀹℃牳鐭俊鏇存柊 updateSmsAudit(messageSmsParam); } + @Transactional public void noPassMethod(MessageSmsParam messageSmsParam) { //瀹℃牳鐭俊鏇存柊 updateSmsAudit(messageSmsParam); } + public void updateSmsAudit(MessageSmsParam messageSmsParam) { SmsAudit smsAudit = packageData(messageSmsParam); LambdaQueryWrapper<SmsAudit> smsAuditUpdate = new LambdaQueryWrapper<>(); smsAuditUpdate.eq(SmsAudit::getMessageId, messageSmsParam.getMessageId()); - baseMapper.update(smsAudit,smsAuditUpdate); + baseMapper.update(smsAudit, smsAuditUpdate); } + public SmsAudit packageData(MessageSmsParam messageSmsParam) { SmsAudit smsAudit = new SmsAudit(); smsAudit.setMessageId(messageSmsParam.getMessageId()); diff --git a/ycl-platform/src/main/java/com/ycl/service/message/impl/SmsTemplateServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/message/impl/SmsTemplateServiceImpl.java index 4681e3e..3d22010 100644 --- a/ycl-platform/src/main/java/com/ycl/service/message/impl/SmsTemplateServiceImpl.java +++ b/ycl-platform/src/main/java/com/ycl/service/message/impl/SmsTemplateServiceImpl.java @@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.ycl.common.util.CommonUtils; +import com.ycl.controller.video.common.util.CommonUtils; import com.ycl.entity.message.SmsTemplate; import com.ycl.mapper.message.SmsTemplateMapper; import com.ycl.service.message.ISmsTemplateService; diff --git a/ycl-platform/src/main/java/com/ycl/service/video/impl/VideoInspectionServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/video/impl/VideoInspectionServiceImpl.java index 1f6e35f..39b7fab 100644 --- a/ycl-platform/src/main/java/com/ycl/service/video/impl/VideoInspectionServiceImpl.java +++ b/ycl-platform/src/main/java/com/ycl/service/video/impl/VideoInspectionServiceImpl.java @@ -1,8 +1,6 @@ package com.ycl.service.video.impl; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.ycl.common.util.CommonUtils; -import com.ycl.entity.video.VideoPoint; import com.ycl.mapper.video.VideoPointMapper; import com.ycl.service.video.IVideoInspectionService; import com.ycl.vo.equipment.VideoPointVo; diff --git a/ycl-platform/src/main/java/com/ycl/vo/message/MessageVO.java b/ycl-platform/src/main/java/com/ycl/vo/message/MessageVO.java new file mode 100644 index 0000000..f07d246 --- /dev/null +++ b/ycl-platform/src/main/java/com/ycl/vo/message/MessageVO.java @@ -0,0 +1,91 @@ +package com.ycl.vo.message; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.util.Date; + +/** + * <p> + * 娑堟伅瀹炰綋绫� + * </p> + * + * @author mg + * @since 2022-10-08 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("ums_message") +@ApiModel(value = "娑堟伅琛�") +public class MessageVO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 涓婚敭 + */ + @TableId(value = "id", type = IdType.AUTO) + @ApiModelProperty(value = "涓婚敭") + private Long id; + + + /** + * 鏍囬 + */ + @TableField("head") + @ApiModelProperty(value = "鏍囬") + private String head; + + + /** + * 娑堟伅绫诲瀷 + */ + @TableField("message_type") + @ApiModelProperty(value = "濉厖鏍忕洰缂栫爜") + private String messageTypeName; + + /** + * 娑堟伅浣� + */ + @ApiModelProperty(value = "娑堟伅浣�") + private String body; + + /** + * 鍙戦�佽�� + */ + @ApiModelProperty(value = "鍙戦�佽��") + private String targetFrom; + + /** + * 鍙戦�佹椂闂� + */ + @ApiModelProperty(value = "鍙戦�佹椂闂�") + @JsonFormat(timezone = "GMT", pattern = "yyyy-MM-dd HH:mm:ss") + private Date sendTime; + /** + * 鐘舵��0-鏈彂甯�1-宸插彂甯� + */ + @ApiModelProperty(value = "鐘舵��0-鏈彂甯�1-宸插彂甯�") + private Integer status; + + @ApiModelProperty(value = "鍒涘缓浜�") + private String createUser; + + /** + * 鍒涘缓鏃堕棿 + */ + @ApiModelProperty(value = "鍒涘缓鏃堕棿") + @JsonFormat(timezone = "GMT", pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTime; + + @ApiModelProperty(value = "鍝嶅簲缁撴灉") + private String respondResult; +} diff --git a/ycl-platform/src/main/resources/application-dev.yml b/ycl-platform/src/main/resources/application-dev.yml index 85f7ad1..5b4153a 100644 --- a/ycl-platform/src/main/resources/application-dev.yml +++ b/ycl-platform/src/main/resources/application-dev.yml @@ -11,7 +11,7 @@ groupName: sczhzf soTimeout: 1500 connectTimeout: 600 - trackerList: #TrackerList鍙傛暟,鏀寔澶氫釜 + trackerList: #TrackerList鍙傛暟,鏀寔澶氫釜 - 140.143.152.226:22122 cfg: @@ -20,10 +20,6 @@ snow-flake: datacenterId: 1 machineId: 1 -mail: - host: smtp.163.com - username: maokecheng2015@163.com - authorizationCode: JOMMIXUTGAJYOSNA spring: redis: @@ -57,3 +53,14 @@ testOnReturn: false poolPreparedStatements: true maxOpenPreparedStatements: 20 +e-mail: + sendHost: smtp.qq.com + username: 1723292425@qq.com + password: qizcitupatzoeeij + +SMS: + ecName: ycl + apId: 1 + sign: sign + url: http://localhost:8082/sccg/text/sms_res/fail + diff --git a/ycl-platform/src/main/resources/application.yml b/ycl-platform/src/main/resources/application.yml index 2a40847..8c76e89 100644 --- a/ycl-platform/src/main/resources/application.yml +++ b/ycl-platform/src/main/resources/application.yml @@ -88,3 +88,4 @@ - /**/system/portal/logo/search - /**/unauthorized/** - /**/api/** + - /**/text/** diff --git a/ycl-platform/src/test/java/com/ycl/sccgplatform/SccgPlatformApplicationTests.java b/ycl-platform/src/test/java/com/ycl/sccgplatform/SccgPlatformApplicationTests.java index 4a8a6a9..1446fd1 100644 --- a/ycl-platform/src/test/java/com/ycl/sccgplatform/SccgPlatformApplicationTests.java +++ b/ycl-platform/src/test/java/com/ycl/sccgplatform/SccgPlatformApplicationTests.java @@ -1,13 +1,12 @@ package com.ycl.sccgplatform; -import com.ycl.common.util.UtilNumber; +import com.ycl.controller.video.common.util.UtilNumber; import com.ycl.enums.common.DictTypeEnum; import com.ycl.service.caseHandler.IBaseCaseService; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; -import java.time.LocalDate; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.Map; -- Gitblit v1.8.0