diff --git a/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java index 84b4ad9e..d2c2118a 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java @@ -186,6 +186,9 @@ public class LawsCommonServiceImpl implements ILawsCommonService { @Resource private DockingService dockingService; + @Resource + private EnterpriseStandardAuthDeptService authDeptService; + public static boolean ENCRYPT_ENABLE; public static String DECRYPT_URL; public static String DECRYPT_APP_CODE; @@ -377,7 +380,27 @@ public class LawsCommonServiceImpl implements ILawsCommonService { // 获取分页查询结果 IPage> infoPage = lawsCommonMapper.getCommonPage(page, tableName, selectField, selectCondition); - // 对返回的数据做处理 + // 对返回的数据做处理 增加授权部门字段的数据 + if (selectField.contains(FieldCommon.AUTH_DEPT)) { + List> records = infoPage.getRecords(); + List standardIds = records.stream().map(map -> (String) map.get("id")).collect(Collectors.toList()); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.in(EnterpriseStandardAuthDept::getStandardId, standardIds); + queryWrapper.isNull(EnterpriseStandardAuthDept::getAuthExpireDate); + List enterpriseStandardAuthDeptList = authDeptService.list(queryWrapper); + Map> authDeptMap = enterpriseStandardAuthDeptList.stream() + .collect(Collectors.groupingBy(EnterpriseStandardAuthDept::getStandardId)); + // 处理数据 + records.forEach(map -> { + String standardId = (String) map.get("id"); + if (authDeptMap.containsKey(standardId)) { + List authDeptList = authDeptMap.get(standardId); + List authDeptIdList = authDeptList.stream().map(EnterpriseStandardAuthDept::getAuthDept) + .collect(Collectors.toList()); + map.put(FieldCommon.AUTH_DEPT, String.join(",", authDeptIdList)); + } + }); + } // 做字段翻译和拼接 infoPage.setRecords(processResultMapPageList(infoPage.getRecords(), fieldList)); // 待处理