Browse Source

fix: org指针问题修复

zengweijie 2 years ago
parent
commit
3e68307e36

+ 7 - 2
smsb-customer-manager-app/src/main/java/com/inspur/customer/service/org/SmsbDepartmentUserServiceImpl.java

@@ -195,11 +195,16 @@ public class SmsbDepartmentUserServiceImpl extends ServiceImpl<SmsbDepartmentUse
     @Override
     public List<SmsbSimpleUserCO> listUserByInformLevel(String tenant, List<String> org, int informLevel ,int errorId) {
         LambdaQueryWrapper<SmsbDepartmentUserDO> queryWrapper = Wrappers.lambdaQuery();
-        List<String> paths = departmentService.listSuperiorDepartments(org, tenant);
+        List<String> paths = new ArrayList<>();
+        if (CollectionUtils.isNotEmpty(org)) {
+            paths = departmentService.listSuperiorDepartments(org, tenant);
+        }
+
         queryWrapper.eq(SmsbDepartmentUserDO::getTenant, tenant)
             .ne(SmsbDepartmentUserDO::getInformLevel, -1)
             .eq(SmsbDepartmentUserDO::getEnabled, 1);
-        queryWrapper.and(wrapper->wrapper.isNull(SmsbDepartmentUserDO::getPath).or().in(SmsbDepartmentUserDO::getPath, paths));
+        List<String> finalPaths = paths;
+        queryWrapper.and(wrapper->wrapper.isNull(SmsbDepartmentUserDO::getPath).or().in(CollectionUtils.isNotEmpty(finalPaths), SmsbDepartmentUserDO::getPath, finalPaths));
         queryWrapper.and(wrapper -> wrapper.nested(nestedWrapper ->
                     nestedWrapper.eq(SmsbDepartmentUserDO::getInformLevel, 9999)
                         .apply("FIND_IN_SET({0}, REPLACE(REPLACE(inform_type, '[', ''), ']', '')) > 0" , errorId)