From 46d873eb8e9f04dbddb76d1e1279cece90cd8b89 Mon Sep 17 00:00:00 2001 From: luofu Date: Mon, 6 Nov 2023 18:15:53 +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=E8=AF=A6=E6=83=85=E6=8E=A5=E5=8F=A3=E5=AE=9A=E4=B9=89?= 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、消息模板详情接口定义 影响: 无 --- .../domain/dto/MessageTemplateDTO.java | 12 ++- .../domain/dto/RawMessageRouterDTO.java | 10 +++ .../MessageTemplateSaveOrUpdateParam.java | 78 ++++++++++-------- .../impl/MessageTemplateNewServiceImpl.java | 55 ++++++++++--- .../msg/center/utils/MessageRouterUtil.java | 79 ++++++++++++++----- ...DTO.java => BizDetailShowStrategyDTO.java} | 2 +- .../enums/BizDetailShowStrategyEnum.java | 4 +- .../request/MessageTemplateCreateRequest.java | 4 +- .../request/MessageTemplateUpdateRequest.java | 4 +- .../MessageTemplateDetailResponse.java | 5 +- .../domain/entity/MessageBaseTemplate.java | 9 ++- 11 files changed, 182 insertions(+), 80 deletions(-) rename msg-center-api/src/main/java/cn/axzo/msg/center/service/dto/{MessageDetailShowStrategyDTO.java => BizDetailShowStrategyDTO.java} (92%) diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/dto/MessageTemplateDTO.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/dto/MessageTemplateDTO.java index 37e39d7e..087b79bd 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/dto/MessageTemplateDTO.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/dto/MessageTemplateDTO.java @@ -1,10 +1,12 @@ package cn.axzo.msg.center.message.domain.dto; import cn.axzo.msg.center.domain.entity.MessageBaseTemplate; +import cn.axzo.msg.center.service.dto.BizDetailShowStrategyDTO; import cn.axzo.msg.center.service.dto.MessageCardContentItemDTO; import cn.axzo.msg.center.service.enums.MessageCategoryEnum; import cn.axzo.msg.center.service.enums.PushTerminalEnum; import cn.axzo.msg.center.utils.JSONObjectUtil; +import cn.axzo.msg.center.utils.MessageRouterUtil; import com.alibaba.fastjson.JSON; import lombok.AllArgsConstructor; import lombok.Builder; @@ -63,6 +65,10 @@ public class MessageTemplateDTO implements Serializable { * 模板icon */ private String icon; + /** + * 业务详情展示策略 + */ + private BizDetailShowStrategyDTO bizDetailShowStrategy; /** * 模板路由信息 */ @@ -77,6 +83,9 @@ public class MessageTemplateDTO implements Serializable { private String minAppVersion; public static MessageTemplateDTO from(MessageBaseTemplate baseTemplate, List routers) { + // 业务详情展示策略 + BizDetailShowStrategyDTO bizDetailShowStrategy = MessageRouterUtil.selectAndConvertBizDetailShowStrategy( + baseTemplate.getBizDetailShowStrategy(), routers).orElse(null); return MessageTemplateDTO.builder() .name(baseTemplate.getName()) .code(baseTemplate.getCode()) @@ -84,8 +93,9 @@ public class MessageTemplateDTO implements Serializable { .content(baseTemplate.getContent()) .msgCardContentItems(JSONObjectUtil.parseArray(baseTemplate.getCardContent(), MessageCardContentItemDTO.class)) .msgCategory(baseTemplate.getMsgCategory()) + .bizDetailShowStrategy(bizDetailShowStrategy) .icon(baseTemplate.getIcon()) - .routers(routers) + .routers(MessageRouterUtil.selectRouterButtons(routers)) .pushTerminals(JSON.parseArray(baseTemplate.getPushTerminal(), PushTerminalEnum.class)) .minAppVersion(baseTemplate.getMinAppVersion()) .build(); diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/dto/RawMessageRouterDTO.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/dto/RawMessageRouterDTO.java index d478c6be..0b9bf193 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/dto/RawMessageRouterDTO.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/dto/RawMessageRouterDTO.java @@ -1,6 +1,7 @@ package cn.axzo.msg.center.message.domain.dto; import cn.axzo.msg.center.domain.entity.MessageTemplateRouter; +import cn.axzo.msg.center.service.dto.BizDetailShowStrategyDTO; import cn.axzo.msg.center.service.dto.MessageRouterButtonDTO; import cn.axzo.msg.center.service.dto.MessageRouterDTO; import cn.axzo.msg.center.service.dto.MessageRouterTerminalDTO; @@ -73,6 +74,15 @@ public class RawMessageRouterDTO implements Serializable { .build(); } + public static RawMessageRouterDTO from(BizDetailShowStrategyDTO showStrategy, String templateCode) { + return RawMessageRouterDTO.builder() + .desc("业务详情展示策略") + .category(RouterCategoryEnum.DETAIL) + .terminals(showStrategy.getTerminals()) + .templateCode(templateCode) + .build(); + } + public static RawMessageRouterDTO from(MessageRouterButtonDTO router, String templateCode) { return RawMessageRouterDTO.builder() .desc(router.getDesc()) 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 baa17a8e..e89d08f5 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 @@ -1,5 +1,6 @@ package cn.axzo.msg.center.message.domain.param; +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; @@ -32,54 +33,63 @@ public class MessageTemplateSaveOrUpdateParam implements Serializable { private static final long serialVersionUID = 6657624182580261353L; - /** - * 模板名称 - */ - private String templateName; /** * 模板编码 */ private String templateCode; /** - * 消息分类树的叶结点的结点编码列表 - */ - private List leafGroupNodes; - /** - * 所属消息类型 - * GENERAL_MESSAGE: 普通消息 - * PENDING_MESSAGE: 待办消息 - */ - private MessageCategoryEnum msgCategory; - /** - * 模板标题 - */ - private String title; - /** - * 模板类容 - */ - private String content; - /** - * 消息卡片信息标签列表 - */ - private List msgCardContentItems; - /** - * 模板icon - */ - private String icon; - /** - * 操作者自然人id + * 操作者的自然人id */ private Long operatorId; /** - * 路由列表 + * 模板名称 */ - private List routers; + private String templateName; + /** + * 消息类型 + * GENERAL_MESSAGE: 通知 + * BIZ_PENDING_MESSAGE: 业务待办 + * APPROVAL_PENDING_MESSAGE: 审批待办 + */ + private MessageCategoryEnum msgCategory; + /** + * 消息分类树的叶结点的结点编码列表 + */ + private List leafGroupNodes; /** * 推送终端配置 * B_ENTERPRISE_APP: B-安心筑企业版 * C_WORKER_APP: C-安心筑工人版 */ private List pushTerminals; + /** + * 该模板最低支持的APP版本号 + */ + private String minAppVersion; + /** + * 消息标题 + */ + private String title; + /** + * 消息内容 + */ + private String content; + /** + * 消息图标 + */ + private String icon; + /** + * 消息卡片信息标签列表,可为空 + */ + private List msgCardContentItems; + /** + * 业务详情展示策略 + */ + private BizDetailShowStrategyDTO bizDetailShowStrategy; + /** + * 路由策略列表 + */ + private List routers; public static MessageTemplateSaveOrUpdateParam from(MessageTemplateCreateRequest request) { return MessageTemplateSaveOrUpdateParam.builder() @@ -93,6 +103,7 @@ public class MessageTemplateSaveOrUpdateParam implements Serializable { .operatorId(request.getOperatorId()) .routers(request.getRouters()) .pushTerminals(request.getPushTerminals()) + .bizDetailShowStrategy(request.getDetailStrategy()) .build(); } @@ -108,6 +119,7 @@ public class MessageTemplateSaveOrUpdateParam implements Serializable { .operatorId(request.getOperatorId()) .routers(request.getRouters()) .pushTerminals(request.getPushTerminals()) + .bizDetailShowStrategy(request.getDetailStrategy()) .build(); } 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 5191441d..54127714 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 @@ -15,15 +15,18 @@ import cn.axzo.msg.center.message.service.MessageGroupNodeService; import cn.axzo.msg.center.message.service.MessageTemplateGroupService; import cn.axzo.msg.center.message.service.MessageTemplateNewService; import cn.axzo.msg.center.message.service.MessageTemplateRouterService; +import cn.axzo.msg.center.service.dto.BizDetailShowStrategyDTO; import cn.axzo.msg.center.service.dto.MessageBaseTemplateDTO; import cn.axzo.msg.center.service.dto.MessageCardContentItemDTO; import cn.axzo.msg.center.service.dto.MessageRouterButtonDTO; import cn.axzo.msg.center.service.enums.PushTerminalEnum; +import cn.axzo.msg.center.service.enums.RouterCategoryEnum; import cn.axzo.msg.center.service.enums.StatusEnum; import cn.axzo.msg.center.service.template.request.MessageTemplatePageRequest; import cn.axzo.msg.center.service.template.response.MessageTemplateDetailResponse; import cn.axzo.msg.center.service.template.response.MessageTemplatePageResponse; import cn.axzo.msg.center.utils.JSONObjectUtil; +import cn.axzo.msg.center.utils.MessageRouterUtil; import cn.axzo.msg.center.utils.UUIDUtil; import cn.azxo.framework.common.model.Page; import com.alibaba.fastjson.JSON; @@ -315,18 +318,27 @@ public class MessageTemplateNewServiceImpl implements MessageTemplateNewService template.setCardContent(JSONObjectUtil.toJSONString(param.getMsgCardContentItems())); template.setIcon(param.getIcon()); template.setPushTerminal(JSONObjectUtil.toJSONString(param.getPushTerminals())); + if (Objects.nonNull(param.getBizDetailShowStrategy())) { + template.setBizDetailShowStrategy(param.getBizDetailShowStrategy().getShowStrategy()); + } + template.setMinAppVersion(param.getMinAppVersion()); template.setCreatorId(param.getOperatorId()); template.setUpdaterId(param.getOperatorId()); return template; } private void saveTemplateRouters(MessageTemplateSaveOrUpdateParam param, String templateCode) { - if (CollectionUtils.isEmpty(param.getRouters())) { - return; + List routers = Lists.newArrayList(); + if (Objects.nonNull(param.getBizDetailShowStrategy()) + && CollectionUtils.isNotEmpty(param.getBizDetailShowStrategy().getTerminals())) { + routers.add(RawMessageRouterDTO.from(param.getBizDetailShowStrategy(), templateCode)); + } + if (CollectionUtils.isNotEmpty(param.getRouters())) { + List btnRouters = param.getRouters().stream() + .map(e -> RawMessageRouterDTO.from(e, templateCode)) + .collect(Collectors.toList()); + routers.addAll(btnRouters); } - List routers = param.getRouters().stream() - .map(e -> RawMessageRouterDTO.from(e, templateCode)) - .collect(Collectors.toList()); messageTemplateRouterService.batchInsert(routers); } @@ -344,6 +356,10 @@ public class MessageTemplateNewServiceImpl implements MessageTemplateNewService JSONObjectUtil.toJSONString(param.getMsgCardContentItems())) .set(StringUtils.isNotBlank(param.getContent()), MessageBaseTemplate::getContent, param.getContent()) .set(StringUtils.isNotBlank(param.getIcon()), MessageBaseTemplate::getIcon, param.getIcon()) + .set(StringUtils.isNotBlank(param.getMinAppVersion()), MessageBaseTemplate::getMinAppVersion, + param.getMinAppVersion()) + .set(Objects.nonNull(param.getBizDetailShowStrategy()), MessageBaseTemplate::getBizDetailShowStrategy, + param.getBizDetailShowStrategy().getShowStrategy()) .update(); } @@ -355,10 +371,20 @@ public class MessageTemplateNewServiceImpl implements MessageTemplateNewService } private void updateTemplateRouters(MessageTemplateSaveOrUpdateParam param) { - if (CollectionUtils.isEmpty(param.getRouters())) { - return; + List routers = Lists.newArrayList(); + if (Objects.nonNull(param.getBizDetailShowStrategy()) + && CollectionUtils.isNotEmpty(param.getBizDetailShowStrategy().getTerminals())) { + MessageRouterButtonDTO btn = MessageRouterButtonDTO.builder() + .desc(RouterCategoryEnum.DETAIL.getDesc()) + .category(RouterCategoryEnum.DETAIL) + .terminals(param.getBizDetailShowStrategy().getTerminals()) + .build(); + routers.add(btn); } - messageTemplateRouterService.updateTemplateRoutes(param.getTemplateCode(), param.getRouters()); + if (CollectionUtils.isNotEmpty(param.getRouters())) { + routers.addAll(param.getRouters()); + } + messageTemplateRouterService.updateTemplateRoutes(param.getTemplateCode(), routers); } private MessageBaseTemplateDTO convert(MessageBaseTemplate record) { @@ -398,10 +424,11 @@ public class MessageTemplateNewServiceImpl implements MessageTemplateNewService List groupNodeCodes = groupNodePaths.stream() .map(GroupTreeNodePathDTO::parseLeafNodeCode) .collect(Collectors.toList()); - // 转化为页面相关的数据模型 - List routerButtons = routers.stream() - .map(RawMessageRouterDTO::toMessageRouterButton) - .collect(Collectors.toList()); + // 按钮路由策略 + List msgRouterButtons = MessageRouterUtil.selectAndConvertRouterButtons(routers); + // 业务详情展示策略 + BizDetailShowStrategyDTO bizDetailShowStrategy = MessageRouterUtil.selectAndConvertBizDetailShowStrategy( + record.getBizDetailShowStrategy(), routers).orElse(null); return MessageTemplateDetailResponse.builder() .templateName(record.getName()) .category(record.getMsgCategory()) @@ -411,7 +438,9 @@ public class MessageTemplateNewServiceImpl implements MessageTemplateNewService .msgContent(record.getContent()) .cardContentItems(JSONObjectUtil.parseArray(record.getCardContent(), MessageCardContentItemDTO.class)) .msgIcon(record.getIcon()) - .routers(routerButtons) + .routers(msgRouterButtons) + .detailStrategy(bizDetailShowStrategy) + .minAppVersion(record.getMinAppVersion()) .createTimestamp(record.getCreateAt().getTime()) .updateTimestamp(record.getUpdateAt().getTime()) .build(); diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/utils/MessageRouterUtil.java b/inside-notices/src/main/java/cn/axzo/msg/center/utils/MessageRouterUtil.java index 05afda6b..cdc88d3c 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/utils/MessageRouterUtil.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/utils/MessageRouterUtil.java @@ -2,8 +2,11 @@ package cn.axzo.msg.center.utils; import cn.axzo.msg.center.common.utils.PlaceholderResolver; import cn.axzo.msg.center.message.domain.dto.RawMessageRouterDTO; +import cn.axzo.msg.center.service.dto.BizDetailShowStrategyDTO; +import cn.axzo.msg.center.service.dto.MessageRouterButtonDTO; import cn.axzo.msg.center.service.dto.MessageRouterDTO; import cn.axzo.msg.center.service.dto.MessageRouterTerminalDTO; +import cn.axzo.msg.center.service.enums.BizDetailShowStrategyEnum; import cn.axzo.msg.center.service.enums.ButtonStyleEnum; import cn.axzo.msg.center.service.enums.RouterCategoryEnum; import cn.axzo.msg.center.service.enums.TerminalTypeEnum; @@ -17,6 +20,7 @@ import java.util.Collections; import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.Optional; import java.util.stream.Collectors; /** @@ -33,6 +37,51 @@ public final class MessageRouterUtil { // 非法路由参数的定义 private static final String INVALID_ROUTER_PARAM = "null"; + /** + * 获取业务展示详情策略 + * + * @param showStrategy 展示策略 + * @param routers 路由列表 + * @return 业务展示详情策略 + */ + public static Optional selectAndConvertBizDetailShowStrategy( + BizDetailShowStrategyEnum showStrategy, List routers) { + return routers.stream() + // 过滤掉非页面详情相关的路由 + .filter(e -> RouterCategoryEnum.DETAIL.equals(e.getCategory())) + .map(e -> BizDetailShowStrategyDTO.builder() + .terminals(e.getTerminals()) + // 兼容老数据,默认为跳转业务详情 + .showStrategy(Objects.nonNull(showStrategy) ? showStrategy : BizDetailShowStrategyEnum.JUMP_TO) + .build()) + .findFirst(); + } + + /** + * 获取业务按钮路由策略 + * + * @param routers 路由列表 + * @return 业务展示详情策略 + */ + public static List selectAndConvertRouterButtons(List routers) { + return selectRouterButtons(routers).stream() + .map(RawMessageRouterDTO::toMessageRouterButton) + .collect(Collectors.toList()); + } + + /** + * 获取业务按钮路由策略 + * + * @param routers 路由列表 + * @return 业务展示详情策略 + */ + public static List selectRouterButtons(List routers) { + return routers.stream() + // 过滤掉页面详情相关的路由 + .filter(e -> !RouterCategoryEnum.DETAIL.equals(e.getCategory())) + .collect(Collectors.toList()); + } + /** * 根据指定的终端类型选取合适的路由 * @@ -46,27 +95,9 @@ public final class MessageRouterUtil { } return rawMessageRouter.getTerminals().stream() .filter(e -> Objects.equals(terminalType, e.getTerminalType())) - // 若没有匹配的,默认选择第一个然后由前端去进行最终判断 - .findFirst().orElseGet(() -> rawMessageRouter.getTerminals().get(0)); - } - - /** - * 根据指定的终端类型选取合适的路由 - * - * @param rawMessageRouter 原始的模板路由策略 - * @param excludeTerminalType 待排除的终端类型 - * @return 合适的路由数据 - */ - public static List selectWithout(RawMessageRouterDTO rawMessageRouter, - TerminalTypeEnum excludeTerminalType) { - if (RouterCategoryEnum.ACTION.equals(rawMessageRouter.getCategory())) { - // 如果配置路由是API调用,这与终端无关 - return rawMessageRouter.getTerminals(); - } - return rawMessageRouter.getTerminals().stream() - .filter(e -> !Objects.equals(excludeTerminalType, e.getTerminalType())) - // 若没有匹配的,默认选择第一个然后由前端去进行最终判断 - .collect(Collectors.toList()); + .findFirst() + // 优先选择H5,没有则选择第一个元素 + .orElseGet(() -> selectH5(rawMessageRouter).orElseGet(() -> rawMessageRouter.getTerminals().get(0))); } /** @@ -146,4 +177,10 @@ public final class MessageRouterUtil { } return JSON.parseArray(style, ButtonStyleEnum.class); } + + private static Optional selectH5(RawMessageRouterDTO rawMessageRouter) { + return rawMessageRouter.getTerminals().stream() + .filter(e -> Objects.equals(TerminalTypeEnum.WEB_VIEW, e.getTerminalType())) + .findFirst(); + } } 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/BizDetailShowStrategyDTO.java similarity index 92% rename from msg-center-api/src/main/java/cn/axzo/msg/center/service/dto/MessageDetailShowStrategyDTO.java rename to msg-center-api/src/main/java/cn/axzo/msg/center/service/dto/BizDetailShowStrategyDTO.java index 72dd3a9d..e4863ff8 100644 --- 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/BizDetailShowStrategyDTO.java @@ -21,7 +21,7 @@ import java.util.List; @Builder @NoArgsConstructor @AllArgsConstructor -public class MessageDetailShowStrategyDTO implements Serializable { +public class BizDetailShowStrategyDTO implements Serializable { private static final long serialVersionUID = -3496745332397525305L; 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 index c8596607..cfcd7327 100644 --- 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 @@ -16,11 +16,11 @@ import lombok.Getter; 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 9efb4e50..a3b5ee9c 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,7 +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.BizDetailShowStrategyDTO; import cn.axzo.msg.center.service.dto.MessageRouterButtonDTO; import cn.axzo.msg.center.service.enums.MessageCategoryEnum; import cn.axzo.msg.center.service.enums.PushTerminalEnum; @@ -82,7 +82,7 @@ public class MessageTemplateCreateRequest implements Serializable { /** * 详情展示策略 */ - private MessageDetailShowStrategyDTO detailStrategy; + private BizDetailShowStrategyDTO 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 1e75192b..95611796 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,7 +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.BizDetailShowStrategyDTO; import cn.axzo.msg.center.service.dto.MessageRouterButtonDTO; import cn.axzo.msg.center.service.enums.PushTerminalEnum; import com.alibaba.fastjson.JSON; @@ -73,7 +73,7 @@ public class MessageTemplateUpdateRequest implements Serializable { /** * 详情展示策略 */ - private MessageDetailShowStrategyDTO detailStrategy; + private BizDetailShowStrategyDTO 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 f80bc229..b66f5f05 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,7 +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.BizDetailShowStrategyDTO; import cn.axzo.msg.center.service.dto.MessageRouterButtonDTO; import cn.axzo.msg.center.service.enums.MessageCategoryEnum; import cn.axzo.msg.center.service.enums.PushTerminalEnum; @@ -12,7 +12,6 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import javax.validation.constraints.NotEmpty; import java.io.Serializable; import java.util.List; @@ -74,7 +73,7 @@ public class MessageTemplateDetailResponse implements Serializable { /** * 详情展示策略 */ - private MessageDetailShowStrategyDTO detailStrategy; + private BizDetailShowStrategyDTO detailStrategy; /** * 路由策略列表 */ diff --git a/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/entity/MessageBaseTemplate.java b/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/entity/MessageBaseTemplate.java index 1b8cd7dd..63f7990f 100644 --- a/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/entity/MessageBaseTemplate.java +++ b/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/entity/MessageBaseTemplate.java @@ -1,6 +1,7 @@ package cn.axzo.msg.center.domain.entity; -import cn.axzo.msg.center.domain.persistence.BaseEntity; +import cn.axzo.msg.center.domain.persistence.BaseEntityExt; +import cn.axzo.msg.center.service.enums.BizDetailShowStrategyEnum; import cn.axzo.msg.center.service.enums.MessageCategoryEnum; import cn.axzo.msg.center.service.enums.StatusEnum; import com.alibaba.fastjson.JSON; @@ -20,7 +21,7 @@ import java.io.Serializable; @Setter @Getter @TableName("message_base_template") -public class MessageBaseTemplate extends BaseEntity implements Serializable { +public class MessageBaseTemplate extends BaseEntityExt implements Serializable { private static final long serialVersionUID = -880409106378455813L; @@ -66,6 +67,10 @@ public class MessageBaseTemplate extends BaseEntity impleme * APP最小版本支持,可不配 */ private String minAppVersion; + /** + * 业务详情展示策略 + */ + private BizDetailShowStrategyEnum bizDetailShowStrategy; /** * 创建者自然人id */