fix(功能用例): 修复脑图保存报错问题

--bug=1043344 --user=郭雨琦 https://www.tapd.cn/55049933/bugtrace/bugs/view?bug_id=1155049933001043344
This commit is contained in:
guoyuqi 2024-06-28 18:11:05 +08:00 committed by Craftsman
parent b8914a77c4
commit 5ee624d593
1 changed files with 12 additions and 4 deletions

View File

@ -1050,18 +1050,26 @@ public class FunctionalCaseMinderService {
private List<FunctionalCaseCustomField> addCustomFields(FunctionalCaseChangeRequest functionalCaseChangeRequest, String caseId, FunctionalCaseCustomFieldMapper caseCustomFieldMapper, Map<String, Object> defaultValueMap) { private List<FunctionalCaseCustomField> addCustomFields(FunctionalCaseChangeRequest functionalCaseChangeRequest, String caseId, FunctionalCaseCustomFieldMapper caseCustomFieldMapper, Map<String, Object> defaultValueMap) {
List<CaseCustomFieldDTO> customFields = functionalCaseChangeRequest.getCustomFields(); List<CaseCustomFieldDTO> customFields = functionalCaseChangeRequest.getCustomFields();
List<String> list = customFields.stream().map(CaseCustomFieldDTO::getFieldId).toList(); List<String> list = customFields.stream().map(CaseCustomFieldDTO::getFieldId).toList();
List<CaseCustomFieldDTO> customFieldDTOs = new ArrayList<>(); List<CaseCustomFieldDTO> defaultCustomFieldDTOs = new ArrayList<>();
defaultValueMap.forEach((k, v) -> { defaultValueMap.forEach((k, v) -> {
if (!list.contains(k) && !StringUtils.equalsIgnoreCase(k, "priorityFieldId")) { if (!list.contains(k) && !StringUtils.equalsIgnoreCase(k, "priorityFieldId")) {
CaseCustomFieldDTO customFieldDTO = new CaseCustomFieldDTO(); CaseCustomFieldDTO customFieldDTO = new CaseCustomFieldDTO();
customFieldDTO.setFieldId(k); customFieldDTO.setFieldId(k);
customFieldDTO.setValue(v.toString()); customFieldDTO.setValue(v.toString());
defaultCustomFieldDTOs.add(customFieldDTO);
}
});
List<CaseCustomFieldDTO> customFieldDTOs = new ArrayList<>();
customFields.forEach(t->{
if (!StringUtils.equalsIgnoreCase(t.getFieldId(), defaultValueMap.get("priorityFieldId").toString())) {
CaseCustomFieldDTO customFieldDTO = new CaseCustomFieldDTO();
customFieldDTO.setFieldId(t.getFieldId());
customFieldDTO.setValue(t.getValue());
customFieldDTOs.add(customFieldDTO); customFieldDTOs.add(customFieldDTO);
} }
}); });
customFields.addAll(customFieldDTOs); customFieldDTOs.addAll(defaultCustomFieldDTOs);
customFields = customFields.stream().distinct().collect(Collectors.toList()); return saveCustomField(caseId, caseCustomFieldMapper, customFieldDTOs.stream().distinct().collect(Collectors.toList()));
return saveCustomField(caseId, caseCustomFieldMapper, customFields);
} }
private List<FunctionalCaseCustomField> saveCustomField(String caseId, FunctionalCaseCustomFieldMapper caseCustomFieldMapper, List<CaseCustomFieldDTO> customFields) { private List<FunctionalCaseCustomField> saveCustomField(String caseId, FunctionalCaseCustomFieldMapper caseCustomFieldMapper, List<CaseCustomFieldDTO> customFields) {