From 02cfbf4e6449e3501fcab0544e16b282fcd0038b Mon Sep 17 00:00:00 2001 From: xueqingkun Date: Thu, 18 Jan 2024 17:51:49 +0800 Subject: [PATCH] =?UTF-8?q?manage:=20=E4=BF=AE=E5=A4=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/DiseaseManageServiceImpl.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseaseManageServiceImpl.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseaseManageServiceImpl.java index 3385d7e8..612bd6cb 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseaseManageServiceImpl.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseaseManageServiceImpl.java @@ -19,6 +19,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Objects; @@ -115,15 +116,18 @@ public class DiseaseManageServiceImpl implements DiseaseManageService { List containDiseaseIds = page.getRecords().stream() .filter(disease -> CollUtil.isNotEmpty(disease.getContainDiseaseIds())) .flatMap(disease -> disease.getContainDiseaseIds().stream()).distinct().collect(Collectors.toList()); - Map diseaseMap = diseaseService.listByIds(containDiseaseIds) - .stream().collect(Collectors.toMap(Disease::getId, disease -> disease, (v1, v2) -> v1)); - + Map diseaseMap = new HashMap<>(); + if (CollUtil.isNotEmpty(containDiseaseIds)){ + diseaseMap = diseaseService.listByIds(containDiseaseIds) + .stream().collect(Collectors.toMap(Disease::getId, disease -> disease, (v1, v2) -> v1)); + } + final Map diseaseMapCopy = new HashMap<>(diseaseMap); // 把疾病名映射到DiseaseResVo中 return page.convert(record -> { DiseaseResVo bean = BeanUtil.toBean(record, DiseaseResVo.class); if (CollUtil.isNotEmpty(bean.getContainDiseaseIds())){ bean.setContainDiseaseNames(bean.getContainDiseaseIds().stream() - .map(diseaseMap::get).filter(Objects::nonNull).map(Disease::getDiseaseName).collect(Collectors.toList())); + .map(diseaseMapCopy::get).filter(Objects::nonNull).map(Disease::getDiseaseName).collect(Collectors.toList())); } bean.setUsedMedicalRec(medicalDiseaseIds.contains(bean.getId())); return bean;