Merge branch 'feature/REQ-3045' into dev

# Conflicts:
#	inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/TodoRespBuilder.java
This commit is contained in:
yanglin 2024-10-18 17:40:10 +08:00
commit 7099f4a2ae

View File

@ -1,5 +1,6 @@
package cn.axzo.msg.center.message.service.todo;
import cn.axzo.maokai.api.util.Ref;
import cn.axzo.basics.common.BeanMapper;
import cn.axzo.msg.center.dal.SampleTodos;
import cn.axzo.msg.center.dal.TodoBusinessDao;
@ -14,7 +15,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;
@ -23,7 +23,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;
@ -226,28 +225,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());