From 22174ad7955a127b7a9fcbe8783acfb417125cd6 Mon Sep 17 00:00:00 2001 From: zhangheng <3226558941@qq.com> Date: Tue, 7 Jan 2025 17:04:34 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=BA=E7=BE=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../crowdinfo/impl/CrowdInfoServiceImpl.java | 30 ++++++++++++++++++- .../system/mapper/SysDictDataMapper.java | 8 +++++ .../mapper/system/SysDictDataMapper.xml | 8 +++++ 3 files changed, 45 insertions(+), 1 deletion(-) diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/crowdinfo/impl/CrowdInfoServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/crowdinfo/impl/CrowdInfoServiceImpl.java index a3a20199..3f468278 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/crowdinfo/impl/CrowdInfoServiceImpl.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/crowdinfo/impl/CrowdInfoServiceImpl.java @@ -1,14 +1,20 @@ package com.xinelu.manage.service.crowdinfo.impl; +import com.xinelu.common.core.domain.entity.SysDictData; import com.xinelu.common.utils.SecurityUtils; import com.xinelu.manage.domain.crowdinfo.CrowdInfo; import com.xinelu.manage.mapper.crowdinfo.CrowdInfoMapper; import com.xinelu.manage.service.crowdinfo.ICrowdInfoService; +import com.xinelu.system.mapper.SysDictDataMapper; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.time.LocalDateTime; import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; /** * 人群信息Service业务层处理 @@ -20,6 +26,8 @@ import java.util.List; public class CrowdInfoServiceImpl implements ICrowdInfoService { @Resource private CrowdInfoMapper crowdInfoMapper; + @Resource + private SysDictDataMapper sysDictDataMapper; /** * 查询人群信息 @@ -40,7 +48,27 @@ public class CrowdInfoServiceImpl implements ICrowdInfoService { */ @Override public List selectCrowdInfoList(CrowdInfo crowdInfo) { - return crowdInfoMapper.selectCrowdInfoList(crowdInfo); + List crowdInfos = crowdInfoMapper.selectCrowdInfoList(crowdInfo); + if (CollectionUtils.isEmpty(crowdInfos) || crowdInfos.size() == 0) { + return crowdInfos; + } + //字典表匹配数据(特殊人群回显文字) + List crowdType = sysDictDataMapper.selectDictDataByType("crowd_type"); + if (CollectionUtils.isEmpty(crowdType) || crowdType.size() == 0) { + return crowdInfos; + } + List collect = crowdType.stream().filter(Objects::nonNull).map(SysDictData::getDictValue).distinct().map(String::toLowerCase).collect(Collectors.toList()); + List sysDictData = sysDictDataMapper.selectDictDataByTypeList(collect); + if (CollectionUtils.isEmpty(sysDictData) || sysDictData.size() == 0) { + return crowdInfos; + } + for (CrowdInfo info : crowdInfos) { + SysDictData sysDictData1 = sysDictData.stream().filter(Objects::nonNull).filter(item -> item.getDictValue().equals(info.getSpecialType())).findFirst().orElse(new SysDictData()); + if (StringUtils.isNotBlank(sysDictData1.getDictLabel())) { + info.setSpecialType(sysDictData1.getDictLabel()); + } + } + return crowdInfos; } /** diff --git a/postdischarge-system/src/main/java/com/xinelu/system/mapper/SysDictDataMapper.java b/postdischarge-system/src/main/java/com/xinelu/system/mapper/SysDictDataMapper.java index 48315dcf..7a01326c 100644 --- a/postdischarge-system/src/main/java/com/xinelu/system/mapper/SysDictDataMapper.java +++ b/postdischarge-system/src/main/java/com/xinelu/system/mapper/SysDictDataMapper.java @@ -107,4 +107,12 @@ public interface SysDictDataMapper { * @return 字典类型集合信息 */ List selectDictDataAll(); + + /** + * 根据字典类型查询字典数据 + * + * @param dictType 字典类型 + * @return 字典数据集合信息 + */ + List selectDictDataByTypeList(List dictType); } diff --git a/postdischarge-system/src/main/resources/mapper/system/SysDictDataMapper.xml b/postdischarge-system/src/main/resources/mapper/system/SysDictDataMapper.xml index d87be148..6736dda3 100644 --- a/postdischarge-system/src/main/resources/mapper/system/SysDictDataMapper.xml +++ b/postdischarge-system/src/main/resources/mapper/system/SysDictDataMapper.xml @@ -141,4 +141,12 @@ ) + \ No newline at end of file