From dbfa515dba78a5c3b314d7455cc01e04d1e0ac3d Mon Sep 17 00:00:00 2001 From: liao Date: Fri, 25 Aug 2023 16:23:32 +0800 Subject: [PATCH] =?UTF-8?q?add=20=E5=AF=B9=E5=A4=9A=E6=97=A5=E6=9C=9F?= =?UTF-8?q?=E3=80=81=E7=94=A8=E6=88=B7=E3=80=81=E7=BB=84=E7=BB=87=E6=9C=BA?= =?UTF-8?q?=E6=9E=84=E3=80=81=E6=96=87=E4=BB=B6=E7=B1=BB=E5=9E=8B=E5=81=9A?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/LawsCommonServiceImpl.java | 47 ++++++++++++++----- 1 file changed, 36 insertions(+), 11 deletions(-) diff --git a/jero-boot-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java b/jero-boot-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java index d7a40178..a74e71af 100644 --- a/jero-boot-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java +++ b/jero-boot-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java @@ -1,5 +1,6 @@ package com.jero.modules.laws.common.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jero.common.constant.enums.LanguageEnum; @@ -11,6 +12,12 @@ import com.jero.modules.laws.common.constant.FieldCommon; import com.jero.modules.laws.common.constant.ResultCommon; import com.jero.modules.laws.common.mapper.LawsCommonMapper; import com.jero.modules.laws.common.service.ILawsCommonService; +import com.jero.modules.oss.entity.OSSFile; +import com.jero.modules.oss.service.IOSSFileService; +import com.jero.modules.system.entity.SysDepart; +import com.jero.modules.system.entity.SysUser; +import com.jero.modules.system.service.ISysDepartService; +import com.jero.modules.system.service.ISysUserService; import com.jero.modules.tag.entity.LawsArea; import com.jero.modules.tag.entity.LawsTag; import com.jero.modules.tag.enums.TableNameEnum; @@ -39,6 +46,12 @@ public class LawsCommonServiceImpl implements ILawsCommonService { private LawsCommonMapper lawsCommonMapper; @Autowired private ILawsAreaService lawsAreaService; + @Autowired + private ISysUserService sysUserService; + @Autowired + private ISysDepartService sysDepartService; + @Autowired + private IOSSFileService ossFileService; /** * @Author: liao @@ -71,10 +84,8 @@ public class LawsCommonServiceImpl implements ILawsCommonService { String selectCondition = getSelectCondition(parameterMap, fieldListCondition); // 获取分页查询结果 IPage> infoPage = lawsCommonMapper.getCommonPage(page, tableName, selectField, selectCondition); - infoPage.getRecords().forEach(map -> { - // 对返回的数据做处理 - processResultMap(map, fieldListSelect); - }); + // 对返回的数据做处理 + infoPage.getRecords().forEach(map -> processResultMap(map, fieldListSelect)); // 待处理 return infoPage; } @@ -94,9 +105,8 @@ public class LawsCommonServiceImpl implements ILawsCommonService { // 如果value不为null和"",对返回结果做处理 if (StringUtils.isNotBlank(value)) { // 对返回的字段值做处理 - processResultFieldValue(key, value, fieldList); + processResultFieldValue(key, value, fieldList, map); } - } } @@ -105,18 +115,33 @@ public class LawsCommonServiceImpl implements ILawsCommonService { * @Date: 2023/8/25 11:55 * @Description: 对返回的字段值做处理 **/ - private String processResultFieldValue(String key, String value, List fieldList) { + private void processResultFieldValue(String key, String value, List fieldList, Map map) { for (LawsTag lawsTag : fieldList) { if (key.equals(lawsTag.getDbFieldName())) { + List valueList = Arrays.asList(value.split(",")); if (LawsFieldTypeEnum.DATE_MANY.getValue().equals(lawsTag.getFieldShowType())) { // 如果是多日期格式,做去重处理 - List valueList = Arrays.asList(value.split(",")) - .stream().distinct().collect(Collectors.toList()); - value = StringUtils.join(valueList, ","); + map.put(key, StringUtils.join(valueList.stream() + .distinct().collect(Collectors.toList()), ",")); + } else if (LawsFieldTypeEnum.USER_SINGLE.getValue().equals(lawsTag.getFieldShowType())) { + // 如果是用户弹框(列表查询会查询多次,但是业务上应该不会在列表上展示,应该不会影响性能) + LambdaQueryWrapper sysUserLambdaQueryWrapper = new LambdaQueryWrapper<>(); + sysUserLambdaQueryWrapper.in(SysUser::getId, valueList); + map.put(key, sysUserService.list(sysUserLambdaQueryWrapper)); + } else if (LawsFieldTypeEnum.GROUP_SINGLE.getValue().equals(lawsTag.getFieldShowType()) + || LawsFieldTypeEnum.GROUP_MANY.getValue().equals(lawsTag.getFieldShowType())) { + // 如果是组织机构弹框(列表查询会查询多次,但是业务上应该不会在列表上展示,应该不会影响性能) + LambdaQueryWrapper sysDepartLambdaQueryWrapper = new LambdaQueryWrapper<>(); + sysDepartLambdaQueryWrapper.in(SysDepart::getId, valueList); + map.put(key, sysDepartService.list(sysDepartLambdaQueryWrapper)); + } else if (LawsFieldTypeEnum.FILE_UP.getValue().equals(lawsTag.getFieldShowType())) { + // 如果是文件上传(列表查询会查询多次,但是业务上应该不会在列表上展示,应该不会影响性能) + LambdaQueryWrapper ossFileLambdaQueryWrapper = new LambdaQueryWrapper<>(); + ossFileLambdaQueryWrapper.in(OSSFile::getId, valueList); + map.put(key, ossFileService.list(ossFileLambdaQueryWrapper)); } } } - return value; } /**