Commit 03e6d767 by zhangxingmin

push

parent e218feb6
......@@ -75,16 +75,43 @@ public class ApiAttributeSettingServiceImpl implements ApiAttributeSettingServic
for (int i = 0; i < attributeSettingList.size(); i++) {
AttributeSetting dto = attributeSettingList.get(i);
if (StringUtils.isNotBlank(dto.getValue())) {
if (dto.getValue().contains(";")) {
// 首先尝试使用fieldValueBizId字段
String fieldValueBizId = dto.getFieldValueBizId();
if (StringUtils.isNotBlank(fieldValueBizId)) {
// 如果fieldValueBizId不为空,使用它
if (fieldValueBizId.contains(";")) {
// 多选情况
List<String> fieldValueBizIdList = Arrays.asList(dto.getValue().split(";"));
List<String> fieldValueBizIdList = Arrays.asList(fieldValueBizId.split(";"));
allFieldValueBizIds.addAll(fieldValueBizIdList);
settingDtoToValueBizIdsMap.put(String.valueOf(i), fieldValueBizIdList);
} else {
// 单选情况,也需要查询,因为可能需要获取字段值名称
allFieldValueBizIds.add(dto.getValue());
settingDtoToValueBizIdsMap.put(String.valueOf(i), Collections.singletonList(dto.getValue()));
// 单选情况
allFieldValueBizIds.add(fieldValueBizId);
settingDtoToValueBizIdsMap.put(String.valueOf(i), Collections.singletonList(fieldValueBizId));
}
} 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));
}
}
}
......@@ -156,6 +183,10 @@ public class ApiAttributeSettingServiceImpl implements ApiAttributeSettingServic
})
.collect(Collectors.toList());
settingDto.setValueCodes(StringUtils.join(valueCodes, ";"));
} else {
// 如果没有字段值业务ID,则使用原始值
settingDto.setValueNames(dto.getValue());
settingDto.setValueCodes(dto.getValue());
}
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