From 3d4741c53aea7eef97359aa6434a9beea390235f Mon Sep 17 00:00:00 2001 From: luofu Date: Tue, 7 Nov 2023 14:52:48 +0800 Subject: [PATCH] =?UTF-8?q?feat(REQ-1507):=20=E6=B6=88=E6=81=AF=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF=E5=88=86=E7=B1=BB=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 背景: https://jira.axzo.cn/browse/REQ-1507?goToView=1 修改: 1、消息模板分类调整 影响: 无 --- .../MessageTemplateSaveOrUpdateParam.java | 2 +- .../impl/MessageTemplateNewServiceImpl.java | 4 +-- .../service/dto/MessageRouterButtonDTO.java | 11 +++++++ .../service/enums/BizFinalStateEnum.java | 29 +++++++++++++++++++ .../service/enums/RouterButtonSourceEnum.java | 24 +++++++++++++++ .../request/MessageTemplateCreateRequest.java | 14 ++++++--- .../request/MessageTemplatePageRequest.java | 10 +++++-- .../MessageTemplateDetailResponse.java | 12 ++++++-- .../response/MessageTemplateListResponse.java | 13 +++++++-- .../response/MessageTemplatePageResponse.java | 10 +++++-- .../domain/entity/PendingMessageRecord.java | 14 +++++++++ 11 files changed, 126 insertions(+), 17 deletions(-) create mode 100644 msg-center-api/src/main/java/cn/axzo/msg/center/service/enums/BizFinalStateEnum.java create mode 100644 msg-center-api/src/main/java/cn/axzo/msg/center/service/enums/RouterButtonSourceEnum.java diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/param/MessageTemplateSaveOrUpdateParam.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/param/MessageTemplateSaveOrUpdateParam.java index e89d08f5..4e76b618 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/param/MessageTemplateSaveOrUpdateParam.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/param/MessageTemplateSaveOrUpdateParam.java @@ -94,7 +94,7 @@ public class MessageTemplateSaveOrUpdateParam implements Serializable { public static MessageTemplateSaveOrUpdateParam from(MessageTemplateCreateRequest request) { return MessageTemplateSaveOrUpdateParam.builder() .templateName(request.getTemplateName()) - .msgCategory(request.getCategory()) + .msgCategory(request.getSubCategory()) .leafGroupNodes(request.getLeafGroupNodes()) .title(request.getMsgTitle()) .content(request.getMsgContent()) diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/MessageTemplateNewServiceImpl.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/MessageTemplateNewServiceImpl.java index 54127714..a3f4538a 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/MessageTemplateNewServiceImpl.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/MessageTemplateNewServiceImpl.java @@ -408,7 +408,7 @@ public class MessageTemplateNewServiceImpl implements MessageTemplateNewService response.setTemplateCode(record.getCode()); response.setTitle(record.getTitle()); response.setContent(record.getContent()); - response.setCategory(record.getMsgCategory()); +// response.setCategory(record.get); response.setStatus(record.getStatus()); List nodeNamePaths = groupNodePaths.getOrDefault(record.getCode(), Collections.emptyList()).stream() .filter(codeNameMap::containsKey) @@ -431,7 +431,7 @@ public class MessageTemplateNewServiceImpl implements MessageTemplateNewService record.getBizDetailShowStrategy(), routers).orElse(null); return MessageTemplateDetailResponse.builder() .templateName(record.getName()) - .category(record.getMsgCategory()) +// .category(record.getMsgCategory()) .leafGroupNodes(groupNodeCodes) .pushTerminals(JSON.parseArray(record.getPushTerminal(), PushTerminalEnum.class)) .msgTitle(record.getTitle()) diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/dto/MessageRouterButtonDTO.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/dto/MessageRouterButtonDTO.java index a4bd8e0d..21c00016 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/service/dto/MessageRouterButtonDTO.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/dto/MessageRouterButtonDTO.java @@ -1,6 +1,7 @@ package cn.axzo.msg.center.service.dto; import cn.axzo.msg.center.service.enums.ButtonStyleEnum; +import cn.axzo.msg.center.service.enums.RouterButtonSourceEnum; import cn.axzo.msg.center.service.enums.RouterCategoryEnum; import com.alibaba.fastjson.JSON; import lombok.AllArgsConstructor; @@ -29,6 +30,10 @@ public class MessageRouterButtonDTO implements Serializable { private static final long serialVersionUID = -9083376003614521781L; + /** + * 按钮唯一标识 + */ + private String identityCode; /** * 路由描述 */ @@ -40,6 +45,12 @@ public class MessageRouterButtonDTO implements Serializable { * DETAIL: 页面详情 */ private RouterCategoryEnum category; + /** + * 按钮来源 + * SYSTEM: 系统 + * CUSTOM: 自定义 + */ + private RouterButtonSourceEnum source; /** * 按钮样式配置 * HIGH_LIGHT: 按钮高亮展示 diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/enums/BizFinalStateEnum.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/enums/BizFinalStateEnum.java new file mode 100644 index 00000000..e788a6b5 --- /dev/null +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/enums/BizFinalStateEnum.java @@ -0,0 +1,29 @@ +package cn.axzo.msg.center.service.enums; + +/** + * @description + * 业务终态的状态枚举,包含审批流的相关状态 + * + * @author cold_blade + * @date 2023/11/7 + * @version 1.0 + */ +public enum BizFinalStateEnum { + + /** + * 已处理 + */ + COMPLETED, + /** + * 已撤销 + */ + RETRACT, + /** + * 已通过 + */ + PASSED, + /** + * 已拒绝 + */ + REJECTED; +} diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/enums/RouterButtonSourceEnum.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/enums/RouterButtonSourceEnum.java new file mode 100644 index 00000000..96f6c72d --- /dev/null +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/enums/RouterButtonSourceEnum.java @@ -0,0 +1,24 @@ +package cn.axzo.msg.center.service.enums; + +import lombok.AccessLevel; +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * @author cold_blade + * @date 2023/11/7 + * @version 1.0 + */ +@Getter +@AllArgsConstructor(access = AccessLevel.PRIVATE) +public enum RouterButtonSourceEnum { + + /** + * 系统 + */ + SYSTEM, + /** + * 自定义 + */ + CUSTOM; +} diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/template/request/MessageTemplateCreateRequest.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/template/request/MessageTemplateCreateRequest.java index a3b5ee9c..c69d0750 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/service/template/request/MessageTemplateCreateRequest.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/template/request/MessageTemplateCreateRequest.java @@ -1,9 +1,10 @@ package cn.axzo.msg.center.service.template.request; -import cn.axzo.msg.center.service.dto.MessageCardContentItemDTO; import cn.axzo.msg.center.service.dto.BizDetailShowStrategyDTO; +import cn.axzo.msg.center.service.dto.MessageCardContentItemDTO; import cn.axzo.msg.center.service.dto.MessageRouterButtonDTO; import cn.axzo.msg.center.service.enums.MessageCategoryEnum; +import cn.axzo.msg.center.service.enums.MessageGroupCategoryEnum; import cn.axzo.msg.center.service.enums.PushTerminalEnum; import com.alibaba.fastjson.JSON; import lombok.Getter; @@ -40,12 +41,17 @@ public class MessageTemplateCreateRequest implements Serializable { private String templateName; /** * 消息类型 - * GENERAL_MESSAGE: 通知 + * NOTIFICATION: 通知 + * PENDING: 待办 + */ + @NotNull(message = "category is required") + private MessageGroupCategoryEnum category; + /** + * 消息类型 * BIZ_PENDING_MESSAGE: 业务待办 * APPROVAL_PENDING_MESSAGE: 审批待办 */ - @NotNull(message = "category is required") - private MessageCategoryEnum category; + private MessageCategoryEnum subCategory; /** * 消息分类树的叶结点的结点编码列表 */ diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/template/request/MessageTemplatePageRequest.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/template/request/MessageTemplatePageRequest.java index 97723e69..dd74fead 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/service/template/request/MessageTemplatePageRequest.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/template/request/MessageTemplatePageRequest.java @@ -2,6 +2,7 @@ package cn.axzo.msg.center.service.template.request; import cn.axzo.basics.common.page.PageRequest; import cn.axzo.msg.center.service.enums.MessageCategoryEnum; +import cn.axzo.msg.center.service.enums.MessageGroupCategoryEnum; import cn.axzo.msg.center.service.enums.StatusEnum; import com.alibaba.fastjson.JSON; import lombok.Getter; @@ -30,11 +31,16 @@ public class MessageTemplatePageRequest extends PageRequest implements Serializa private String templateCode; /** * 消息类型 - * GENERAL_MESSAGE: 通知 + * NOTIFICATION: 通知 + * PENDING: 待办 + */ + private MessageGroupCategoryEnum category; + /** + * 消息子类型 * BIZ_PENDING_MESSAGE: 业务待办 * APPROVAL_PENDING_MESSAGE: 审批待办 */ - private MessageCategoryEnum category; + private MessageCategoryEnum subCategory; /** * 分类树的结点编码 */ diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/template/response/MessageTemplateDetailResponse.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/template/response/MessageTemplateDetailResponse.java index b66f5f05..69e9f009 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/service/template/response/MessageTemplateDetailResponse.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/template/response/MessageTemplateDetailResponse.java @@ -1,9 +1,10 @@ package cn.axzo.msg.center.service.template.response; -import cn.axzo.msg.center.service.dto.MessageCardContentItemDTO; import cn.axzo.msg.center.service.dto.BizDetailShowStrategyDTO; +import cn.axzo.msg.center.service.dto.MessageCardContentItemDTO; import cn.axzo.msg.center.service.dto.MessageRouterButtonDTO; import cn.axzo.msg.center.service.enums.MessageCategoryEnum; +import cn.axzo.msg.center.service.enums.MessageGroupCategoryEnum; import cn.axzo.msg.center.service.enums.PushTerminalEnum; import com.alibaba.fastjson.JSON; import lombok.AllArgsConstructor; @@ -35,11 +36,16 @@ public class MessageTemplateDetailResponse implements Serializable { private String templateName; /** * 消息类型 - * GENERAL_MESSAGE: 通知 + * NOTIFICATION: 通知 + * PENDING: 待办 + */ + private MessageGroupCategoryEnum category; + /** + * 消息子类型 * BIZ_PENDING_MESSAGE: 业务待办 * APPROVAL_PENDING_MESSAGE: 审批待办 */ - private MessageCategoryEnum category; + private MessageCategoryEnum subCategory; /** * 消息分类树的叶结点的结点编码列表 */ diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/template/response/MessageTemplateListResponse.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/template/response/MessageTemplateListResponse.java index eac67c94..7ed6cb99 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/service/template/response/MessageTemplateListResponse.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/template/response/MessageTemplateListResponse.java @@ -1,6 +1,7 @@ package cn.axzo.msg.center.service.template.response; import cn.axzo.msg.center.service.enums.MessageCategoryEnum; +import cn.axzo.msg.center.service.enums.MessageGroupCategoryEnum; import cn.axzo.msg.center.service.enums.StatusEnum; import com.alibaba.fastjson.JSON; import lombok.Getter; @@ -30,10 +31,16 @@ public class MessageTemplateListResponse implements Serializable { private String templateCode; /** * 消息类型 - * GENERAL_MESSAGE: 普通消息 - * PENDING_MESSAGE: 待办消息 + * NOTIFICATION: 通知 + * PENDING: 待办 */ - private MessageCategoryEnum category; + private MessageGroupCategoryEnum category; + /** + * 消息子类型 + * BIZ_PENDING_MESSAGE: 业务待办 + * APPROVAL_PENDING_MESSAGE: 审批待办 + */ + private MessageCategoryEnum subCategory; /** * 消息标题 */ diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/template/response/MessageTemplatePageResponse.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/template/response/MessageTemplatePageResponse.java index 42e350e2..a8300bb1 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/service/template/response/MessageTemplatePageResponse.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/template/response/MessageTemplatePageResponse.java @@ -1,6 +1,7 @@ package cn.axzo.msg.center.service.template.response; import cn.axzo.msg.center.service.enums.MessageCategoryEnum; +import cn.axzo.msg.center.service.enums.MessageGroupCategoryEnum; import cn.axzo.msg.center.service.enums.StatusEnum; import com.alibaba.fastjson.JSON; import lombok.Getter; @@ -30,11 +31,16 @@ public class MessageTemplatePageResponse implements Serializable { private String templateCode; /** * 消息类型 - * GENERAL_MESSAGE: 通知 + * NOTIFICATION: 通知 + * PENDING: 待办 + */ + private MessageGroupCategoryEnum category; + /** + * 消息子类型 * BIZ_PENDING_MESSAGE: 业务待办 * APPROVAL_PENDING_MESSAGE: 审批待办 */ - private MessageCategoryEnum category; + private MessageCategoryEnum subCategory; /** * 消息标题 */ diff --git a/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/entity/PendingMessageRecord.java b/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/entity/PendingMessageRecord.java index 06322e2a..1a0d0284 100644 --- a/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/entity/PendingMessageRecord.java +++ b/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/entity/PendingMessageRecord.java @@ -2,6 +2,7 @@ package cn.axzo.msg.center.domain.entity; import cn.axzo.msg.center.domain.persistence.BaseEntity; import cn.axzo.msg.center.service.enums.BizCategoryEnum; +import cn.axzo.msg.center.service.enums.BizFinalStateEnum; import cn.axzo.msg.center.service.enums.IdentityTypeEnum; import cn.axzo.msg.center.service.enums.OrganizationTypeEnum; import cn.axzo.msg.center.service.enums.PendingMessageStateEnum; @@ -11,6 +12,7 @@ import lombok.Getter; import lombok.Setter; import java.io.Serializable; +import java.util.Date; /** * @description @@ -30,6 +32,10 @@ public class PendingMessageRecord extends BaseEntity imple * 消息的唯一标识 */ private String identityCode; + /** + * 请求批次号 + */ + private String requestNo; /** * 发起者ID */ @@ -106,6 +112,14 @@ public class PendingMessageRecord extends BaseEntity imple * 路由参数(留存) */ private String routerParams; + /** + * 业务终态,可为空 + */ + private BizFinalStateEnum bizFinalState; + /** + * 待办的截止时间 + */ + private Date deadline; /** * 重试次数 */