diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/TodoRespBuilder.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/TodoRespBuilder.java index f6e177dd..e1d97dc3 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/TodoRespBuilder.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/TodoRespBuilder.java @@ -13,11 +13,8 @@ import cn.axzo.msg.center.message.service.impl.v3.ModelV3Parser; import cn.axzo.msg.center.message.service.impl.v3.ModelV3Service; import cn.axzo.msg.center.message.service.todo.manage.TodoExt; import cn.axzo.msg.center.service.domain.UrlConfig; -import cn.axzo.msg.center.service.dto.DetailRouterDTO; import cn.axzo.msg.center.service.dto.IdentityDTO; import cn.axzo.msg.center.service.enums.BizCategoryEnum; -import cn.axzo.msg.center.service.enums.BizDetailJumpStrategyEnum; -import cn.axzo.msg.center.service.enums.BizDetailShowStrategyEnum; import cn.axzo.msg.center.service.enums.OrganizationTypeEnum; import cn.axzo.msg.center.service.pending.TerminalProvider; import cn.axzo.msg.center.service.pending.response.PendingMessageResponse; @@ -26,7 +23,6 @@ import cn.axzo.msg.center.service.pending.response.v3.ParsedModel3Visitor; import cn.axzo.msg.center.service.pending.response.v3.ParsedModel3Walker; import cn.axzo.msg.center.service.pending.response.v3.model.ParsedCardUrl; import cn.axzo.msg.center.service.pending.response.v3.model.ParsedModelV3; -import cn.axzo.msg.center.service.pending.response.v3.model.TerminalUrlSelector; import cn.axzo.msg.center.service.template.response.MessageDetailStyle; import cn.axzo.msg.center.utils.JSONObjectUtil; import cn.hutool.core.date.DateUtil; @@ -221,17 +217,6 @@ class TodoRespBuilder { ParsedCardUrl cardUrl = new ParsedCardUrl(); cardUrl.setUrl(modelV3Parser.parseUrlInfoForRequest(urlConfig, terminalProvider)); response.setCardUrl(cardUrl); - // 兼容老逻辑 - new TerminalUrlSelector(terminalProvider) - .select(urlConfig) - .ifPresent(terminalUrl -> { - DetailRouterDTO detail = new DetailRouterDTO(); - response.setDetailRouter(detail); - detail.setShowStrategy(BizDetailShowStrategyEnum.JUMP_TO); - detail.setJumpStrategy(BizDetailJumpStrategyEnum.BUSINESS); - detail.setUrl(terminalUrl.getUrl().getUrl()); - detail.setTerminalType(terminalUrl.getTerminalType()); - }); } }); } diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/response/v3/ModelV2PropsPopulator.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/response/v3/ModelV2PropsPopulator.java index 47ebfba9..a89a34a3 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/response/v3/ModelV2PropsPopulator.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/response/v3/ModelV2PropsPopulator.java @@ -1,7 +1,11 @@ package cn.axzo.msg.center.service.pending.response.v3; +import cn.axzo.msg.center.service.domain.UrlConfig; import cn.axzo.msg.center.service.dto.ButtonRouterDTO; +import cn.axzo.msg.center.service.dto.DetailRouterDTO; import cn.axzo.msg.center.service.dto.MessageCardContentItemDTO; +import cn.axzo.msg.center.service.enums.BizDetailJumpStrategyEnum; +import cn.axzo.msg.center.service.enums.BizDetailShowStrategyEnum; import cn.axzo.msg.center.service.enums.RouterCategoryEnum; import cn.axzo.msg.center.service.pending.TerminalProvider; import cn.axzo.msg.center.service.pending.response.PendingMessageResponse; @@ -20,11 +24,13 @@ import java.util.function.Supplier; public class ModelV2PropsPopulator implements ParsedModel3Visitor { private final PendingMessageResponse response; + private final TerminalProvider terminalProvider; @Nullable private final TerminalUrlSelector terminalUrlSelector; public ModelV2PropsPopulator(PendingMessageResponse response, TerminalProvider terminalProvider) { this.response = response; + this.terminalProvider = terminalProvider; this.terminalUrlSelector = terminalProvider == null ? null : new TerminalUrlSelector(terminalProvider); @@ -72,4 +78,18 @@ public class ModelV2PropsPopulator implements ParsedModel3Visitor { }); } -} + @Override + public void visitTemplateCardUrlConfig(UrlConfig urlConfig) { + new TerminalUrlSelector(terminalProvider) + .select(urlConfig) + .ifPresent(terminalUrl -> { + DetailRouterDTO detail = new DetailRouterDTO(); + response.setDetailRouter(detail); + detail.setShowStrategy(BizDetailShowStrategyEnum.JUMP_TO); + detail.setJumpStrategy(BizDetailJumpStrategyEnum.BUSINESS); + detail.setUrl(terminalUrl.getUrl().getUrl()); + detail.setTerminalType(terminalUrl.getTerminalType()); + }); + } + +} \ No newline at end of file