|
|
@@ -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)
|