REQ-3045: fix NPE

This commit is contained in:
yanglin 2024-10-24 16:31:08 +08:00
parent fbd5a92fb0
commit 0ee2881214

View File

@ -37,6 +37,7 @@ import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Component;
import javax.annotation.Nullable;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
@ -161,7 +162,7 @@ class TodoRespBuilder {
private PendingMessageResponse toResponse(PendingRecordAdapter adapter,
List<TemplateModelV3> templateModels,
ClientRequest request) {
@Nullable ClientRequest request) {
PendingMessageResponse response = new PendingMessageResponse();
// 发起人单位项目信息
@ -218,10 +219,8 @@ class TodoRespBuilder {
if (templateModel != null) {
ParsedModelV3 parsedModel = modelV3Parser.parseModel(templateModel, adapter,
adapter.getBizExtParamObj(), authParam, routerParam, request);
ModelVersion version = ModelVersion.of(request.getModelVersion());
if (version.is(ModelVersion.V2) || version.is(ModelVersion.ALL))
ParsedModel3Walker.walkDown(parsedModel, new ModelV2PropsPopulator(response, request));
if (version.is(ModelVersion.V3) || version.is(ModelVersion.ALL)) {
Runnable modelV3Builder = () -> {
response.setModelV3(parsedModel);
response.setDisplayOnCardKeyValues(parsedModel.determineDisplayOnCardKeyValues());
response.setCardUrlOpenStrategy(templateModel.getTemplate().getCardUrlOpenStrategy());
@ -233,6 +232,16 @@ class TodoRespBuilder {
response.setCardUrl(cardUrl);
}
});
};
if (request == null) {
modelV3Builder.run();
} else {
ModelVersion version = ModelVersion.of(request.getModelVersion());
if (version.is(ModelVersion.V2) || version.is(ModelVersion.ALL))
ParsedModel3Walker.walkDown(parsedModel, new ModelV2PropsPopulator(response, request));
if (version.is(ModelVersion.V3) || version.is(ModelVersion.ALL))
modelV3Builder.run();
}
}