From eb661679f37782753614322bd1ca6fc0655d1b1c Mon Sep 17 00:00:00 2001 From: yanglin Date: Fri, 14 Jun 2024 14:06:06 +0800 Subject: [PATCH] =?UTF-8?q?REQ-2497:=20=E6=B7=BB=E5=8A=A0=E4=B8=80?= =?UTF-8?q?=E4=BA=9B=E5=B7=A5=E5=85=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/PrivateMessageController.java | 24 +++++++++++++++++ .../v3/UpdateMnsChannelTemplateRequest.java | 18 +++++++++++++ .../manager/api/MessageTemplateManager.java | 1 + .../manager/MessageTemplateManagerImpl.java | 26 +++++++++++++++++++ .../notices/service/api/PlatService.java | 5 ++++ .../notices/service/impl/PlatServiceImpl.java | 9 +++++++ 6 files changed, 83 insertions(+) create mode 100644 msg-center-api/src/main/java/cn/axzo/msg/center/api/request/v3/UpdateMnsChannelTemplateRequest.java diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/controller/PrivateMessageController.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/controller/PrivateMessageController.java index f61d9f50..ad78a336 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/controller/PrivateMessageController.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/controller/PrivateMessageController.java @@ -6,6 +6,7 @@ import cn.axzo.msg.center.api.request.v3.SearchMessageReqV3; import cn.axzo.msg.center.api.request.v3.SearchPendingMessageReq; import cn.axzo.msg.center.api.request.v3.SearchTodoLogReq; import cn.axzo.msg.center.api.request.v3.SetImSendPriorityRequest; +import cn.axzo.msg.center.api.request.v3.UpdateMnsChannelTemplateRequest; import cn.axzo.msg.center.im.service.IMService; import cn.axzo.msg.center.inside.notices.service.impl.TodoSearchService; import cn.axzo.msg.center.inside.notices.service.impl.v3.MessageRecordServiceV3; @@ -15,6 +16,9 @@ import cn.axzo.msg.center.message.service.impl.oldmsg.OldMsgStatCache; import cn.axzo.msg.center.message.service.impl.person.PersonService; import cn.axzo.msg.center.message.service.todo.manage.TodoManager; import cn.axzo.msg.center.message.xxl.MigrateOldMsgHotDataJob; +import cn.axzo.msg.center.notices.manager.api.MessageTemplateManager; +import cn.axzo.msg.center.notices.manager.api.dto.request.plat.CreateTemplateRequestDto; +import cn.axzo.msg.center.notices.service.api.PlatService; import cn.axzo.trade.web.annotation.EnableResponseAdvice; import com.alibaba.cloud.nacos.NacosConfigManager; import com.alibaba.cloud.nacos.parser.NacosDataParserHandler; @@ -50,6 +54,8 @@ public class PrivateMessageController { private final MigrateOldMsgHotDataJob migrateOldMsgHotDataJob; private final PersonService personService; private final IMService imService; + private final MessageTemplateManager messageTemplateManager; + private final PlatService platService; @PostMapping("/sendPendingMessage") @EnableResponseAdvice(enable = false) @@ -136,4 +142,22 @@ public class PrivateMessageController { return imService.setImSendPriority(request); } + @PostMapping("/updateMnsChannelTemplate") + @EnableResponseAdvice(enable = false) + public Object updateMnsChannelTemplate(@RequestBody @Valid UpdateMnsChannelTemplateRequest request) { + int size = messageTemplateManager.changeChannelTemplateCode( + request.getChannelCode(), request.getSrcTemplateCode(), request.getDestTemplateCode()); + return String.format("updated templates: %d", size); + } + + @PostMapping("/createMnsTemplate") + public String createMnsTemplate(@RequestBody CreateTemplateRequestDto request){ + platService.createTemplate(request); + return "created"; + } + + @PostMapping("/listMnsApps") + public Object listMnsApps(){ + return platService.listAllApps(); + } } \ No newline at end of file diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/api/request/v3/UpdateMnsChannelTemplateRequest.java b/msg-center-api/src/main/java/cn/axzo/msg/center/api/request/v3/UpdateMnsChannelTemplateRequest.java new file mode 100644 index 00000000..c58157fe --- /dev/null +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/api/request/v3/UpdateMnsChannelTemplateRequest.java @@ -0,0 +1,18 @@ +package cn.axzo.msg.center.api.request.v3; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @author yanglin + */ +@Data +public class UpdateMnsChannelTemplateRequest { + @NotBlank(message = "channelCode can't be blank") + private String channelCode; + @NotBlank(message = "srcTemplateCode can't be blank") + private String srcTemplateCode; + @NotBlank(message = "destTemplateCode can't be blank") + private String destTemplateCode; +} diff --git a/msg-notices/msg-notices-manager-api/src/main/java/cn/axzo/msg/center/notices/manager/api/MessageTemplateManager.java b/msg-notices/msg-notices-manager-api/src/main/java/cn/axzo/msg/center/notices/manager/api/MessageTemplateManager.java index 0f281d89..bc5c1b38 100644 --- a/msg-notices/msg-notices-manager-api/src/main/java/cn/axzo/msg/center/notices/manager/api/MessageTemplateManager.java +++ b/msg-notices/msg-notices-manager-api/src/main/java/cn/axzo/msg/center/notices/manager/api/MessageTemplateManager.java @@ -45,4 +45,5 @@ public interface MessageTemplateManager { */ List listChannelCodes(String innerTemplateNo); + int changeChannelTemplateCode(String channelCode, String srcTemplateCode, String destTemplateCode); } diff --git a/msg-notices/msg-notices-manager/src/main/java/cn/axzo/msg/center/notices/manager/MessageTemplateManagerImpl.java b/msg-notices/msg-notices-manager/src/main/java/cn/axzo/msg/center/notices/manager/MessageTemplateManagerImpl.java index 7e2cdd82..8e99f996 100644 --- a/msg-notices/msg-notices-manager/src/main/java/cn/axzo/msg/center/notices/manager/MessageTemplateManagerImpl.java +++ b/msg-notices/msg-notices-manager/src/main/java/cn/axzo/msg/center/notices/manager/MessageTemplateManagerImpl.java @@ -1,5 +1,6 @@ package cn.axzo.msg.center.notices.manager; +import cn.axzo.basics.common.constant.enums.TableIsDeleteEnum; import cn.axzo.msg.center.dal.MNSChannelMessageTemplateDao; import cn.axzo.msg.center.dal.MNSMessageTemplateDao; import cn.axzo.msg.center.domain.entity.MNSChannelMessageTemplate; @@ -14,7 +15,9 @@ import cn.axzo.msg.center.notices.manager.api.dto.response.TemplateParamDto; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; +import java.util.Objects; import java.util.stream.Collectors; /** @@ -74,4 +77,27 @@ public class MessageTemplateManagerImpl implements MessageTemplateManager { .map(MNSChannelMessageTemplate::getChannelCode) .collect(Collectors.toList()); } + + @Override + public int changeChannelTemplateCode(String channelCode, String srcTemplateCode, String destTemplateCode) { + if (Objects.equals(srcTemplateCode, destTemplateCode)) + return 0; + List templates = mnsChannelMessageTemplateDao.lambdaQuery() + .eq(MNSChannelMessageTemplate::getTemplateNo, srcTemplateCode) + .eq(MNSChannelMessageTemplate::getChannelCode, channelCode) + .eq(MNSChannelMessageTemplate::getIsDelete, TableIsDeleteEnum.NORMAL.value) + .list(); + if (templates.isEmpty()) + return 0; + ArrayList updates = new ArrayList<>(); + for (MNSChannelMessageTemplate template : templates) { + MNSChannelMessageTemplate update = new MNSChannelMessageTemplate(); + update.setId(template.getId()); + update.setTemplateNo(destTemplateCode); + updates.add(update); + } + mnsChannelMessageTemplateDao.updateBatchById(updates); + return updates.size(); + } + } diff --git a/msg-notices/msg-notices-service-api/src/main/java/cn/axzo/msg/center/notices/service/api/PlatService.java b/msg-notices/msg-notices-service-api/src/main/java/cn/axzo/msg/center/notices/service/api/PlatService.java index 333463cf..b6e27f79 100644 --- a/msg-notices/msg-notices-service-api/src/main/java/cn/axzo/msg/center/notices/service/api/PlatService.java +++ b/msg-notices/msg-notices-service-api/src/main/java/cn/axzo/msg/center/notices/service/api/PlatService.java @@ -1,11 +1,14 @@ package cn.axzo.msg.center.notices.service.api; +import cn.axzo.msg.center.domain.entity.MNSMessageApp; import cn.axzo.msg.center.notices.common.lang.Page; import cn.axzo.msg.center.notices.manager.api.dto.request.plat.CreateTemplateRequestDto; import cn.axzo.msg.center.notices.manager.api.dto.request.plat.QueryTemplateRequestDto; import cn.axzo.msg.center.notices.manager.api.dto.response.plat.QueryTemplateResponseDto; +import java.util.List; + public interface PlatService { /* @@ -29,4 +32,6 @@ public interface PlatService { * 删除短信模板 */ void delete(String templateNo); + + List listAllApps(); } diff --git a/msg-notices/msg-notices-service/src/main/java/cn/axzo/msg/center/notices/service/impl/PlatServiceImpl.java b/msg-notices/msg-notices-service/src/main/java/cn/axzo/msg/center/notices/service/impl/PlatServiceImpl.java index 53ec52a5..444a93a7 100644 --- a/msg-notices/msg-notices-service/src/main/java/cn/axzo/msg/center/notices/service/impl/PlatServiceImpl.java +++ b/msg-notices/msg-notices-service/src/main/java/cn/axzo/msg/center/notices/service/impl/PlatServiceImpl.java @@ -1,5 +1,6 @@ package cn.axzo.msg.center.notices.service.impl; +import cn.axzo.msg.center.common.enums.TableIsDeleteEnum; import cn.axzo.msg.center.common.utils.PlaceholderResolver; import cn.axzo.msg.center.dal.MNSMessageTemplateParamDao; import cn.axzo.msg.center.dal.mapper.MNSChannelMessageTemplateMapper; @@ -30,6 +31,8 @@ import java.util.List; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; +import static cn.axzo.basics.common.util.Queries.query; + @Slf4j @Service("platService") public class PlatServiceImpl implements PlatService { @@ -257,4 +260,10 @@ public class PlatServiceImpl implements PlatService { mnsChannelMessageTemplateMapper.deleteByTemplateNo(templateNo); } + + @Override + public List listAllApps() { + return mnsMessageAppMapper.selectList(query(MNSMessageApp.class). + eq(MNSMessageApp::getIsDelete, TableIsDeleteEnum.NORMAL.value)); + } }