diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/dto/MessageDetailShowStrategyDTO.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/dto/MessageDetailShowStrategyDTO.java new file mode 100644 index 00000000..72dd3a9d --- /dev/null +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/dto/MessageDetailShowStrategyDTO.java @@ -0,0 +1,41 @@ +package cn.axzo.msg.center.service.dto; + +import cn.axzo.msg.center.service.enums.BizDetailShowStrategyEnum; +import com.alibaba.fastjson.JSON; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.io.Serializable; +import java.util.List; + +/** + * @author cold_blade + * @date 2023/11/6 + * @version 1.0 + */ +@Setter +@Getter +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class MessageDetailShowStrategyDTO implements Serializable { + + private static final long serialVersionUID = -3496745332397525305L; + + /** + * 展示策略 + */ + private BizDetailShowStrategyEnum showStrategy; + /** + * 路由终端列表,若当前按钮为ACTION,则只能配一个接口地址 + */ + private List terminals; + + @Override + public String toString() { + return JSON.toJSONString(this); + } +} diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/enums/BizDetailShowStrategyEnum.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/enums/BizDetailShowStrategyEnum.java new file mode 100644 index 00000000..c8596607 --- /dev/null +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/enums/BizDetailShowStrategyEnum.java @@ -0,0 +1,26 @@ +package cn.axzo.msg.center.service.enums; + +import lombok.AccessLevel; +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * @description + * 业务详情展示策略 + * @author cold_blade + * @date 2023/11/6 + * @version 1.0 + */ +@Getter +@AllArgsConstructor(access = AccessLevel.PRIVATE) +public enum BizDetailShowStrategyEnum { + + /** + * 内嵌H5展示 + */ + INLINE, + /** + * 跳转至业务详情页展示 + */ + JUMP_TO; +} 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 6699b9ab..9efb4e50 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,6 +1,7 @@ package cn.axzo.msg.center.service.template.request; import cn.axzo.msg.center.service.dto.MessageCardContentItemDTO; +import cn.axzo.msg.center.service.dto.MessageDetailShowStrategyDTO; import cn.axzo.msg.center.service.dto.MessageRouterButtonDTO; import cn.axzo.msg.center.service.enums.MessageCategoryEnum; import cn.axzo.msg.center.service.enums.PushTerminalEnum; @@ -39,8 +40,9 @@ public class MessageTemplateCreateRequest implements Serializable { private String templateName; /** * 消息类型 - * GENERAL_MESSAGE: 普通消息 - * PENDING_MESSAGE: 待办消息 + * GENERAL_MESSAGE: 通知 + * BIZ_PENDING_MESSAGE: 业务待办 + * APPROVAL_PENDING_MESSAGE: 审批待办 */ @NotNull(message = "category is required") private MessageCategoryEnum category; @@ -55,15 +57,15 @@ public class MessageTemplateCreateRequest implements Serializable { * C_WORKER_APP: C-安心筑工人版 */ private List pushTerminals; + /** + * 该模板最低支持的APP版本号 + */ + private String minAppVersion; /** * 消息标题 */ @NotBlank(message = "msgTitle is required") private String msgTitle; - /** - * 消息卡片信息标签列表,可为空 - */ - private List msgCardContentItems; /** * 消息内容 */ @@ -73,6 +75,14 @@ public class MessageTemplateCreateRequest implements Serializable { * 消息图标 */ private String msgIcon; + /** + * 消息卡片信息标签列表,可为空 + */ + private List msgCardContentItems; + /** + * 详情展示策略 + */ + private MessageDetailShowStrategyDTO detailStrategy; /** * 路由策略列表 */ diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/template/request/MessageTemplateUpdateRequest.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/template/request/MessageTemplateUpdateRequest.java index 92020c2b..1e75192b 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/service/template/request/MessageTemplateUpdateRequest.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/template/request/MessageTemplateUpdateRequest.java @@ -1,6 +1,7 @@ package cn.axzo.msg.center.service.template.request; import cn.axzo.msg.center.service.dto.MessageCardContentItemDTO; +import cn.axzo.msg.center.service.dto.MessageDetailShowStrategyDTO; import cn.axzo.msg.center.service.dto.MessageRouterButtonDTO; import cn.axzo.msg.center.service.enums.PushTerminalEnum; import com.alibaba.fastjson.JSON; @@ -49,14 +50,14 @@ public class MessageTemplateUpdateRequest implements Serializable { * C_WORKER_APP: C-安心筑工人版 */ private List pushTerminals; + /** + * 该模板最低支持的APP版本号 + */ + private String minAppVersion; /** * 消息标题 */ private String msgTitle; - /** - * 消息卡片信息标签列表 - */ - private List msgCardContentItems; /** * 消息内容 */ @@ -65,6 +66,14 @@ public class MessageTemplateUpdateRequest implements Serializable { * 消息图标 */ private String msgIcon; + /** + * 消息卡片信息标签列表 + */ + private List msgCardContentItems; + /** + * 详情展示策略 + */ + private MessageDetailShowStrategyDTO detailStrategy; /** * 路由策略列表 */ 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 74fb8806..f80bc229 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,6 +1,7 @@ package cn.axzo.msg.center.service.template.response; import cn.axzo.msg.center.service.dto.MessageCardContentItemDTO; +import cn.axzo.msg.center.service.dto.MessageDetailShowStrategyDTO; import cn.axzo.msg.center.service.dto.MessageRouterButtonDTO; import cn.axzo.msg.center.service.enums.MessageCategoryEnum; import cn.axzo.msg.center.service.enums.PushTerminalEnum; @@ -35,8 +36,9 @@ public class MessageTemplateDetailResponse implements Serializable { private String templateName; /** * 消息类型 - * GENERAL_MESSAGE: 普通消息 - * PENDING_MESSAGE: 待办消息 + * GENERAL_MESSAGE: 通知 + * BIZ_PENDING_MESSAGE: 业务待办 + * APPROVAL_PENDING_MESSAGE: 审批待办 */ private MessageCategoryEnum category; /** @@ -49,14 +51,14 @@ public class MessageTemplateDetailResponse implements Serializable { * C_WORKER_APP: C-安心筑工人版 */ private List pushTerminals; + /** + * 该模板最低支持的APP版本号 + */ + private String minAppVersion; /** * 消息标题 */ private String msgTitle; - /** - * 卡片信息标签列表 - */ - private List cardContentItems; /** * 消息内容 */ @@ -65,6 +67,14 @@ public class MessageTemplateDetailResponse implements Serializable { * 消息图标 */ private String msgIcon; + /** + * 卡片信息标签列表 + */ + private List cardContentItems; + /** + * 详情展示策略 + */ + private MessageDetailShowStrategyDTO detailStrategy; /** * 路由策略列表 */ 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 ef0806c2..42e350e2 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 @@ -30,8 +30,9 @@ public class MessageTemplatePageResponse implements Serializable { private String templateCode; /** * 消息类型 - * GENERAL_MESSAGE: 普通消息 - * PENDING_MESSAGE: 待办消息 + * GENERAL_MESSAGE: 通知 + * BIZ_PENDING_MESSAGE: 业务待办 + * APPROVAL_PENDING_MESSAGE: 审批待办 */ private MessageCategoryEnum category; /**