From 84e18a4d0bd7a674694ec13e6027d764e9928d80 Mon Sep 17 00:00:00 2001 From: xudawei Date: Fri, 11 Oct 2024 18:01:56 +0800 Subject: [PATCH] =?UTF-8?q?feat:(REQ-3045)=20=E6=A8=A1=E7=89=88=E7=AE=A1?= =?UTF-8?q?=E7=90=86V3-buttons=E4=B8=AD=E5=8A=A0=E4=B8=8AapiUrl?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MessageTemplateV3Controller.java | 3 +- .../MessageTemplateV3SaveOrUpdateParam.java | 66 ++++++++++++++++++- .../MessageTemplateButtonV3ServiceImpl.java | 2 +- .../impl/MessageTemplateV3ServiceImpl.java | 12 ++-- .../dto/MessageTemplateButtonV3DTO.java | 29 +++++++- .../MessageTemplateGroupV3CreateRequest.java | 18 +++++ 6 files changed, 120 insertions(+), 10 deletions(-) diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/controller/MessageTemplateV3Controller.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/controller/MessageTemplateV3Controller.java index 2fdbe057..fa174da0 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/controller/MessageTemplateV3Controller.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/controller/MessageTemplateV3Controller.java @@ -62,7 +62,8 @@ public class MessageTemplateV3Controller implements MessageTemplateV3Client { @Override public CommonResponse update(MessageTemplateV3UpdateRequest request) { log.info("MessageTemplateV3Controller#update,request:{}", JSON.toJSONString(request)); - messageTemplateV3Service.updateTemplate(MessageTemplateV3SaveOrUpdateParam.from(request)); + MessageTemplateV3DetailResponse detail = messageTemplateV3Service.detail(request.getTemplateCode()); + messageTemplateV3Service.updateTemplate(MessageTemplateV3SaveOrUpdateParam.from(request, detail)); return CommonResponse.success(); } diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/param/MessageTemplateV3SaveOrUpdateParam.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/param/MessageTemplateV3SaveOrUpdateParam.java index 6403d269..ebccd259 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/param/MessageTemplateV3SaveOrUpdateParam.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/param/MessageTemplateV3SaveOrUpdateParam.java @@ -5,10 +5,12 @@ import cn.axzo.msg.center.service.dto.MessageTemplateButtonV3DTO; import cn.axzo.msg.center.service.dto.MessageTemplateCardJumpV3DTO; import cn.axzo.msg.center.service.enums.MessageCategoryEnum; import cn.axzo.msg.center.service.enums.PushTerminalEnum; +import cn.axzo.msg.center.service.enums.StatusEnum; import cn.axzo.msg.center.service.template.request.MessageTemplateGroupV3CreateRequest; import cn.axzo.msg.center.service.template.request.MessageTemplateV3CreateRequest; import cn.axzo.msg.center.service.template.request.MessageTemplateV3DeleteRequest; import cn.axzo.msg.center.service.template.request.MessageTemplateV3UpdateRequest; +import cn.axzo.msg.center.service.template.response.MessageTemplateV3DetailResponse; import cn.axzo.msg.center.utils.MessageTemplateCategoryUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; @@ -17,6 +19,7 @@ import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; +import org.apache.commons.collections.CollectionUtils; import java.io.Serializable; import java.util.List; @@ -105,15 +108,53 @@ public class MessageTemplateV3SaveOrUpdateParam implements Serializable { private JSONObject pushData; + /** + * 模板状态 + */ + private StatusEnum status; + + /** + * 操作者的自然人id + */ + private Long createPersonId; + /** + * 操作人人姓名 + */ + private String createPersonName; + + /** + * 更新人id + */ + private Long updatePersonId; + /** + * 更新人姓名 + */ + private String updatePersonName; + public static MessageTemplateV3SaveOrUpdateParam from(MessageTemplateV3CreateRequest request) { MessageCategoryEnum category = MessageTemplateCategoryUtil .checkAndReturnSubCategory(request.getCategory(), request.getSubCategory()) .orElseThrow(() -> new ServiceException("无效的参数")); + + if (CollectionUtils.isNotEmpty(request.getGroups())) { + request.getGroups().forEach(item -> { + item.setCreatePersonId(request.getOperatorId()); + item.setCreatePersonName(request.getOperatorName()); + }); + } + if (CollectionUtils.isNotEmpty(request.getButtons())) { + request.getButtons().forEach(item -> { + item.setCreatePersonId(request.getOperatorId()); + item.setCreatePersonName(request.getOperatorName()); + }); + } return MessageTemplateV3SaveOrUpdateParam.builder() .templateName(request.getTemplateName()) .detailStyleCode(request.getDetailStyleCode()) .operatorId(request.getOperatorId()) .operatorName(request.getOperatorName()) + .createPersonId(request.getOperatorId()) + .createPersonName(request.getOperatorName()) .msgCategory(category) .leafGroupNodes(request.getLeafGroupNodes()) .title(request.getMsgTitle()) @@ -126,14 +167,37 @@ public class MessageTemplateV3SaveOrUpdateParam implements Serializable { .pushTerminals(request.getPushTerminals()) .cardJump(request.getCardJump()) .pushData(request.getPushData()) + .status(StatusEnum.ENABLE) .build(); } - public static MessageTemplateV3SaveOrUpdateParam from(MessageTemplateV3UpdateRequest request) { + public static MessageTemplateV3SaveOrUpdateParam from(MessageTemplateV3UpdateRequest request, MessageTemplateV3DetailResponse detail) { + + if (CollectionUtils.isNotEmpty(request.getGroups())) { + request.getGroups().forEach(item -> { + item.setCreatePersonId(detail.getCreatePersonId()); + item.setCreatePersonName(detail.getCreatePersonName()); + item.setUpdatePersonId(request.getOperatorId()); + item.setUpdatePersonName(request.getOperatorName()); + }); + } + if (CollectionUtils.isNotEmpty(request.getButtons())) { + request.getButtons().forEach(item -> { + item.setCreatePersonId(detail.getCreatePersonId()); + item.setCreatePersonName(detail.getCreatePersonName()); + item.setUpdatePersonId(request.getOperatorId()); + item.setUpdatePersonName(request.getOperatorName()); + }); + } + return MessageTemplateV3SaveOrUpdateParam.builder() .templateName(request.getTemplateName()) .detailStyleCode(request.getDetailStyleCode()) .operatorName(request.getOperatorName()) + .updatePersonId(request.getOperatorId()) + .updatePersonName(request.getOperatorName()) + .createPersonId(detail.getCreatePersonId()) + .createPersonName(detail.getCreatePersonName()) .templateCode(request.getTemplateCode()) .leafGroupNodes(request.getLeafGroupNodes()) .title(request.getMsgTitle()) diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/MessageTemplateButtonV3ServiceImpl.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/MessageTemplateButtonV3ServiceImpl.java index 55f3c95f..11001794 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/MessageTemplateButtonV3ServiceImpl.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/MessageTemplateButtonV3ServiceImpl.java @@ -41,7 +41,7 @@ public class MessageTemplateButtonV3ServiceImpl implements MessageTemplateButton MessageTemplateButtonV3 buttonV3 = BeanUtil.copyProperties(item, MessageTemplateButtonV3.class); buttonV3.setTemplateCode(messageTemplateCode); buttonV3.setPriority(priority.getAndIncrement()); - buttonV3.setCode(UUIDUtil.uuidString()); + buttonV3.setCode(StringUtils.isNotBlank(item.getBtnCode()) ? item.getBtnCode() : UUIDUtil.uuidString()); return buttonV3; }).collect(Collectors.toList()); log.info("ButtonV3#saveTemplateButton,code:{},buttonV3s:{}",messageTemplateCode, JSON.toJSONString(buttonV3s)); diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/MessageTemplateV3ServiceImpl.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/MessageTemplateV3ServiceImpl.java index 71d16ec2..f6dcb825 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/MessageTemplateV3ServiceImpl.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/MessageTemplateV3ServiceImpl.java @@ -336,12 +336,10 @@ public class MessageTemplateV3ServiceImpl implements MessageTemplateV3Service { template.setIcon(param.getIcon()); template.setPushTerminal(JSONObjectUtil.toJSONString(param.getPushTerminals())); template.setMinAppVersion(param.getMinAppVersion()); -// template.setCreatorId(param.getOperatorId()); -// template.setUpdaterId(param.getOperatorId()); - template.setCreatePersonId(param.getOperatorId()); - template.setCreatePersonName(param.getOperatorName()); - template.setUpdatePersonId(param.getOperatorId()); - template.setUpdatePersonName(param.getOperatorName()); + template.setCreatePersonId(param.getCreatePersonId()); + template.setCreatePersonName(param.getCreatePersonName()); + template.setUpdatePersonId(param.getUpdatePersonId()); + template.setUpdatePersonName(param.getUpdatePersonName()); template.setPushData(param.getPushData()); if (Objects.nonNull(param) && Objects.nonNull(param.getCardJump())) { if (Objects.nonNull(param.getCardJump().getCardUrlOpenStrategy())) { @@ -351,6 +349,7 @@ public class MessageTemplateV3ServiceImpl implements MessageTemplateV3Service { template.setCardUrlConfig(param.getCardJump().getCardUrlConfig()); } } + template.setStatus(param.getStatus()); return template; } @@ -503,6 +502,7 @@ public class MessageTemplateV3ServiceImpl implements MessageTemplateV3Service { buttons = buttonV3List.stream().map(item -> { MessageTemplateButtonV3DTO messageTemplateButtonV3DTO = BeanUtil.copyProperties(item, MessageTemplateButtonV3DTO.class); messageTemplateButtonV3DTO.setIdentityCode(item.getCode()); + messageTemplateButtonV3DTO.setBtnCode(item.getCode()); return messageTemplateButtonV3DTO; }).collect(Collectors.toList()); } diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/dto/MessageTemplateButtonV3DTO.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/dto/MessageTemplateButtonV3DTO.java index 3dff7b84..43ba3f68 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/service/dto/MessageTemplateButtonV3DTO.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/dto/MessageTemplateButtonV3DTO.java @@ -11,7 +11,6 @@ import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import org.apache.commons.lang3.StringUtils; import java.io.Serializable; import java.util.List; @@ -89,6 +88,34 @@ public class MessageTemplateButtonV3DTO implements Serializable { */ private String identityCode; + /** + * 后端标识 + */ + private String btnCode; + + /** + * API地址,仅当按钮是接口调用类型时有值 + */ + private String apiUrl; + + /** + * 操作者的自然人id + */ + private Long createPersonId; + /** + * 操作人人姓名 + */ + private String createPersonName; + + /** + * 更新人id + */ + private Long updatePersonId; + /** + * 更新人姓名 + */ + private String updatePersonName; + /** *

要改2处都要记得改 */ diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/template/request/MessageTemplateGroupV3CreateRequest.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/template/request/MessageTemplateGroupV3CreateRequest.java index aa63dbff..ad9a9af3 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/service/template/request/MessageTemplateGroupV3CreateRequest.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/template/request/MessageTemplateGroupV3CreateRequest.java @@ -34,4 +34,22 @@ public class MessageTemplateGroupV3CreateRequest { */ private GroupConfig groupConfig; + /** + * 操作者的自然人id + */ + private Long createPersonId; + /** + * 操作人人姓名 + */ + private String createPersonName; + + /** + * 更新人id + */ + private Long updatePersonId; + /** + * 更新人姓名 + */ + private String updatePersonName; + }