REQ-3046: 适配详情
This commit is contained in:
parent
bacba962ed
commit
d5ba4b339f
@ -1,5 +1,6 @@
|
||||
package cn.axzo.msg.center.message.service.todo;
|
||||
|
||||
import cn.axzo.maokai.api.util.Ref;
|
||||
import cn.axzo.msg.center.dal.SampleTodos;
|
||||
import cn.axzo.msg.center.dal.TodoBusinessDao;
|
||||
import cn.axzo.msg.center.dal.TodoBusinesses;
|
||||
@ -13,7 +14,6 @@ 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;
|
||||
@ -22,7 +22,6 @@ 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;
|
||||
@ -216,28 +215,30 @@ class TodoRespBuilder {
|
||||
ParsedModel3Walker.walkDown(parsedModel, new ModelV2PropsPopulator(response, terminalProvider));
|
||||
response.setDisplayOnCardKeyValues(parsedModel.determineDisplayOnCardKeyValues());
|
||||
response.setCardUrlOpenStrategy(templateModel.getTemplate().getCardUrlOpenStrategy());
|
||||
DetailRouterDTO detail = new DetailRouterDTO();
|
||||
response.setDetailRouter(detail);
|
||||
detail.setShowStrategy(BizDetailShowStrategyEnum.JUMP_TO);
|
||||
detail.setJumpStrategy(BizDetailJumpStrategyEnum.BUSINESS);
|
||||
Ref<Boolean> detailSet = Ref.create(false);
|
||||
ParsedModel3Walker.walkDown(parsedModel, new ParsedModel3Visitor() {
|
||||
@Override
|
||||
public void visitTemplateCardUrlConfig(UrlConfig urlConfig) {
|
||||
response.setCardUrl(urlConfig);
|
||||
// 兼容老逻辑
|
||||
TerminalUrl terminalUrl = new TerminalUrlParser(terminalProvider)
|
||||
new TerminalUrlParser(terminalProvider)
|
||||
.parseTerminalUrl(urlConfig)
|
||||
.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 {
|
||||
String detailUrl = pendingMessageBizConfig.getTodoDetailUrl();
|
||||
detail.setUrl(String.format("%s?identityCode=%s", detailUrl, adapter.getIdentityCode()));
|
||||
detail.setTerminalType(terminalProvider.getTerminalType());
|
||||
}
|
||||
.ifPresent(terminalUrl -> {
|
||||
detail.setUrl(terminalUrl.getUrl());
|
||||
detail.setTerminalType(terminalUrl.getTerminalType());
|
||||
detailSet.set(true);
|
||||
});
|
||||
}
|
||||
});
|
||||
if (!detailSet.get()) {
|
||||
String detailUrl = pendingMessageBizConfig.getTodoDetailUrl();
|
||||
detail.setUrl(String.format("%s?identityCode=%s", detailUrl, adapter.getIdentityCode()));
|
||||
detail.setTerminalType(terminalProvider.getTerminalType());
|
||||
}
|
||||
}
|
||||
|
||||
response.setIdentityCode(adapter.getIdentityCode());
|
||||
|
||||
Loading…
Reference in New Issue
Block a user