|
@@ -174,27 +174,28 @@ public class SmsbDepartmentUserServiceImpl extends ServiceImpl<SmsbDepartmentUse
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 获取指定org下接收级别<=informLevel的用户
|
|
* 获取指定org下接收级别<=informLevel的用户
|
|
|
|
|
+ * level 告警级别,不接收为-1
|
|
|
|
|
+ * 第一步部门内推送,属于部门内 且 level >= inform >= 0
|
|
|
|
|
+ * 第二步租户内推送,level + 1000 >= inform>= 1000
|
|
|
*
|
|
*
|
|
|
* @param org 指定org
|
|
* @param org 指定org
|
|
|
* @param informLevel 指定informLevel
|
|
* @param informLevel 指定informLevel
|
|
|
* @return 指定部门下接收级别<= informLevel的用户
|
|
* @return 指定部门下接收级别<= informLevel的用户
|
|
|
*/
|
|
*/
|
|
|
@Override
|
|
@Override
|
|
|
- public List<SmsbSimpleUserCO> listUserByOrgAndInformLevel(String tenant, List<String> org, int informLevel) {
|
|
|
|
|
- List<SmsbDepartmentUserDO> list = new ArrayList<>(this.list(Wrappers.lambdaQuery(SmsbDepartmentUserDO.class)
|
|
|
|
|
- .eq(SmsbDepartmentUserDO::getTenant, tenant)
|
|
|
|
|
- .eq(SmsbDepartmentUserDO::getEnabled, 1)
|
|
|
|
|
- .eq(SmsbDepartmentUserDO::getInformLevel, 9999)));
|
|
|
|
|
- if (!CollectionUtils.isEmpty(org)) {
|
|
|
|
|
-
|
|
|
|
|
- LambdaQueryWrapper<SmsbDepartmentUserDO> queryWrapper = Wrappers.lambdaQuery();
|
|
|
|
|
|
|
+ public List<SmsbSimpleUserCO> listUserByInformLevel(String tenant, List<String> org, int informLevel) {
|
|
|
|
|
+ LambdaQueryWrapper<SmsbDepartmentUserDO> queryWrapper = Wrappers.lambdaQuery();
|
|
|
|
|
|
|
|
- queryWrapper.in(SmsbDepartmentUserDO::getPath, org);
|
|
|
|
|
- queryWrapper.eq(SmsbDepartmentUserDO::getEnabled, 1);
|
|
|
|
|
- queryWrapper.gt(SmsbDepartmentUserDO::getInformLevel, informLevel);
|
|
|
|
|
|
|
+ queryWrapper.eq(SmsbDepartmentUserDO::getTenant, tenant)
|
|
|
|
|
+ .ne(SmsbDepartmentUserDO::getInformLevel, -1)
|
|
|
|
|
+ .eq(SmsbDepartmentUserDO::getEnabled, 1)
|
|
|
|
|
+ .between(SmsbDepartmentUserDO::getInformLevel, 1000, 1000 + informLevel)
|
|
|
|
|
+ .or(!CollectionUtils.isEmpty(org), q -> q.ne(SmsbDepartmentUserDO::getInformLevel, -1)
|
|
|
|
|
+ .in(SmsbDepartmentUserDO::getPath, org)
|
|
|
|
|
+ .eq(SmsbDepartmentUserDO::getEnabled, 1)
|
|
|
|
|
+ .between(SmsbDepartmentUserDO::getInformLevel, 0, informLevel));
|
|
|
|
|
|
|
|
- list.addAll(this.list(queryWrapper));
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ List<SmsbDepartmentUserDO> list = this.list(queryWrapper);
|
|
|
|
|
|
|
|
List<SmsbSimpleUserCO> smsbSimpleUserList = Lists.newArrayListWithCapacity(list.size());
|
|
List<SmsbSimpleUserCO> smsbSimpleUserList = Lists.newArrayListWithCapacity(list.size());
|
|
|
list.forEach(user -> {
|
|
list.forEach(user -> {
|