REQ-3046: 适配详情

This commit is contained in:
yanglin 2024-10-18 17:25:38 +08:00
parent 30d8a49c9e
commit f3bff6860b
2 changed files with 18 additions and 9 deletions

View File

@ -154,6 +154,9 @@ public class PendingMessageBizConfig {
@Getter
private int nodeStatCacheDataExpireHours = 48;
@Getter
private String todoDetailUrl = "";
public boolean determineOldMsgStatCacheOn() {
return isOldMsgStatCacheOn();
}

View File

@ -13,6 +13,7 @@ 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.domain.parse.TerminalUrl;
import cn.axzo.msg.center.service.dto.DetailRouterDTO;
import cn.axzo.msg.center.service.dto.IdentityDTO;
import cn.axzo.msg.center.service.enums.BizCategoryEnum;
@ -21,6 +22,7 @@ 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;
import cn.axzo.msg.center.service.pending.response.PendingMessageSimpleDTO;
import cn.axzo.msg.center.service.pending.response.v3.ModelV2PropsPopulator;
import cn.axzo.msg.center.service.pending.response.v3.ParsedModel3Visitor;
import cn.axzo.msg.center.service.pending.response.v3.ParsedModel3Walker;
@ -219,16 +221,20 @@ class TodoRespBuilder {
public void visitTemplateCardUrlConfig(UrlConfig urlConfig) {
response.setCardUrl(urlConfig);
// 兼容老逻辑
new TerminalUrlParser(terminalProvider)
TerminalUrl terminalUrl = new TerminalUrlParser(terminalProvider)
.parseTerminalUrl(urlConfig)
.ifPresent(terminalUrl -> {
DetailRouterDTO detail = new DetailRouterDTO();
response.setDetailRouter(detail);
detail.setShowStrategy(BizDetailShowStrategyEnum.JUMP_TO);
detail.setJumpStrategy(BizDetailJumpStrategyEnum.BUSINESS);
detail.setUrl(terminalUrl.getUrl());
detail.setTerminalType(terminalUrl.getTerminalType());
});
.orElse(null);
DetailRouterDTO detail = new DetailRouterDTO();
response.setDetailRouter(detail);
detail.setShowStrategy(BizDetailShowStrategyEnum.JUMP_TO);
detail.setJumpStrategy(BizDetailJumpStrategyEnum.BUSINESS);
if (terminalUrl != null) {
detail.setUrl(terminalUrl.getUrl());
detail.setTerminalType(terminalUrl.getTerminalType());
} else {
detail.setUrl(pendingMessageBizConfig.getTodoDetailUrl());
detail.setTerminalType(terminalProvider.getTerminalType());
}
}
});
}