manage: 修复bug

dev_2.1.0
xueqingkun 1 year ago
parent 43f550a214
commit 02cfbf4e64

@ -19,6 +19,7 @@ import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
@ -115,15 +116,18 @@ public class DiseaseManageServiceImpl implements DiseaseManageService {
List<String> containDiseaseIds = page.getRecords().stream() List<String> containDiseaseIds = page.getRecords().stream()
.filter(disease -> CollUtil.isNotEmpty(disease.getContainDiseaseIds())) .filter(disease -> CollUtil.isNotEmpty(disease.getContainDiseaseIds()))
.flatMap(disease -> disease.getContainDiseaseIds().stream()).distinct().collect(Collectors.toList()); .flatMap(disease -> disease.getContainDiseaseIds().stream()).distinct().collect(Collectors.toList());
Map<String, Disease> diseaseMap = diseaseService.listByIds(containDiseaseIds) Map<String, Disease> diseaseMap = new HashMap<>();
if (CollUtil.isNotEmpty(containDiseaseIds)){
diseaseMap = diseaseService.listByIds(containDiseaseIds)
.stream().collect(Collectors.toMap(Disease::getId, disease -> disease, (v1, v2) -> v1)); .stream().collect(Collectors.toMap(Disease::getId, disease -> disease, (v1, v2) -> v1));
}
final Map<String, Disease> diseaseMapCopy = new HashMap<>(diseaseMap);
// 把疾病名映射到DiseaseResVo中 // 把疾病名映射到DiseaseResVo中
return page.convert(record -> { return page.convert(record -> {
DiseaseResVo bean = BeanUtil.toBean(record, DiseaseResVo.class); DiseaseResVo bean = BeanUtil.toBean(record, DiseaseResVo.class);
if (CollUtil.isNotEmpty(bean.getContainDiseaseIds())){ if (CollUtil.isNotEmpty(bean.getContainDiseaseIds())){
bean.setContainDiseaseNames(bean.getContainDiseaseIds().stream() 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())); bean.setUsedMedicalRec(medicalDiseaseIds.contains(bean.getId()));
return bean; return bean;

Loading…
Cancel
Save