Commit 0d8c41f3 by zhangxingmin

push

parent 03e6d767
...@@ -75,43 +75,16 @@ public class ApiAttributeSettingServiceImpl implements ApiAttributeSettingServic ...@@ -75,43 +75,16 @@ public class ApiAttributeSettingServiceImpl implements ApiAttributeSettingServic
for (int i = 0; i < attributeSettingList.size(); i++) { for (int i = 0; i < attributeSettingList.size(); i++) {
AttributeSetting dto = attributeSettingList.get(i); AttributeSetting dto = attributeSettingList.get(i);
// 首先尝试使用fieldValueBizId字段 if (StringUtils.isNotBlank(dto.getFieldValueBizId())) {
String fieldValueBizId = dto.getFieldValueBizId(); if (dto.getFieldValueBizId().contains(";")) {
// 多选情况,多个字段值业务ID用分号分隔
if (StringUtils.isNotBlank(fieldValueBizId)) { List<String> fieldValueBizIdList = Arrays.asList(dto.getFieldValueBizId().split(";"));
// 如果fieldValueBizId不为空,使用它
if (fieldValueBizId.contains(";")) {
// 多选情况
List<String> fieldValueBizIdList = Arrays.asList(fieldValueBizId.split(";"));
allFieldValueBizIds.addAll(fieldValueBizIdList); allFieldValueBizIds.addAll(fieldValueBizIdList);
settingDtoToValueBizIdsMap.put(String.valueOf(i), fieldValueBizIdList); settingDtoToValueBizIdsMap.put(String.valueOf(i), fieldValueBizIdList);
} else { } else {
// 单选情况 // 单选情况
allFieldValueBizIds.add(fieldValueBizId); allFieldValueBizIds.add(dto.getFieldValueBizId());
settingDtoToValueBizIdsMap.put(String.valueOf(i), Collections.singletonList(fieldValueBizId)); settingDtoToValueBizIdsMap.put(String.valueOf(i), Collections.singletonList(dto.getFieldValueBizId()));
}
} else if (StringUtils.isNotBlank(dto.getValue())) {
// 如果fieldValueBizId为空,但value不为空,检查value是否可能是字段值业务ID
// 这里需要根据业务规则判断,比如字段值业务ID的格式通常是"field_value_"开头
String value = dto.getValue();
if (value.contains(";")) {
// 多选情况
List<String> fieldValueBizIdList = Arrays.asList(value.split(";"));
// 过滤出可能是字段值业务ID的值
List<String> validFieldValueBizIds = fieldValueBizIdList.stream()
.filter(v -> v.startsWith("field_value_") || v.startsWith("insurance_company_") ||
v.startsWith("reconciliation_company_"))
.collect(Collectors.toList());
if (!validFieldValueBizIds.isEmpty()) {
allFieldValueBizIds.addAll(validFieldValueBizIds);
settingDtoToValueBizIdsMap.put(String.valueOf(i), validFieldValueBizIds);
}
} else if (value.startsWith("field_value_") || value.startsWith("insurance_company_") ||
value.startsWith("reconciliation_company_")) {
// 单选情况,且看起来像是字段值业务ID
allFieldValueBizIds.add(value);
settingDtoToValueBizIdsMap.put(String.valueOf(i), Collections.singletonList(value));
} }
} }
} }
...@@ -140,11 +113,10 @@ public class ApiAttributeSettingServiceImpl implements ApiAttributeSettingServic ...@@ -140,11 +113,10 @@ public class ApiAttributeSettingServiceImpl implements ApiAttributeSettingServic
fieldValueBizIdToNameMap.put(response.getFieldValueBizId(), response.getValue()); fieldValueBizIdToNameMap.put(response.getFieldValueBizId(), response.getValue());
// 如果fieldValueCode为空,则使用fieldValueBizId作为备用值 // 如果fieldValueCode不为空,则放入映射表
String fieldValueCode = StringUtils.isNotBlank(response.getFieldValueCode()) if (StringUtils.isNotBlank(response.getFieldValueCode())) {
? response.getFieldValueCode() fieldValueBizIdToCodeMap.put(response.getFieldValueBizId(), response.getFieldValueCode());
: response.getFieldValueBizId(); }
fieldValueBizIdToCodeMap.put(response.getFieldValueBizId(), fieldValueCode);
} }
log.info("字段值编码映射表: {}", fieldValueBizIdToCodeMap); log.info("字段值编码映射表: {}", fieldValueBizIdToCodeMap);
...@@ -179,14 +151,15 @@ public class ApiAttributeSettingServiceImpl implements ApiAttributeSettingServic ...@@ -179,14 +151,15 @@ public class ApiAttributeSettingServiceImpl implements ApiAttributeSettingServic
List<String> valueCodes = valueBizIds.stream() List<String> valueCodes = valueBizIds.stream()
.map(fieldValueBizId -> { .map(fieldValueBizId -> {
String code = finalFieldValueBizIdToCodeMap.get(fieldValueBizId); String code = finalFieldValueBizIdToCodeMap.get(fieldValueBizId);
return StringUtils.defaultIfBlank(code, fieldValueBizId); // 如果查询不到字段值编码,就塞空字符串
return StringUtils.isNotBlank(code) ? code : "";
}) })
.collect(Collectors.toList()); .collect(Collectors.toList());
settingDto.setValueCodes(StringUtils.join(valueCodes, ";")); settingDto.setValueCodes(StringUtils.join(valueCodes, ";"));
} else { } else {
// 如果没有字段值业务ID,则使用原始值 // 如果没有字段值业务ID,则使用原始值
settingDto.setValueNames(dto.getValue()); settingDto.setValueNames(dto.getValue());
settingDto.setValueCodes(dto.getValue()); settingDto.setValueCodes("");
} }
apiAttributeSettingDtoList.add(settingDto); apiAttributeSettingDtoList.add(settingDto);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment