|
|
@@ -32,6 +32,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
import javax.annotation.Resource;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* @Author wangbo13
|
|
|
@@ -211,7 +212,7 @@ public class SmsbDepartmentUserServiceImpl extends ServiceImpl<SmsbDepartmentUse
|
|
|
.eq(SmsbDepartmentUserDO::getTenant, tenant)
|
|
|
.between(SmsbDepartmentUserDO::getInformLevel, 0, informLevel));
|
|
|
queryWrapper.or(i->i.eq(SmsbDepartmentUserDO::getInformLevel , 9999)
|
|
|
- .like(SmsbDepartmentUserDO::getInformType , ","+errorId+","));
|
|
|
+ .apply("FIND_IN_SET({0}, REPLACE(REPLACE(inform_type, '[', ''), ']', '')) > 0" , errorId));
|
|
|
List<SmsbDepartmentUserDO> list = this.list(queryWrapper);
|
|
|
|
|
|
List<SmsbSimpleUserCO> smsbSimpleUserList = Lists.newArrayListWithCapacity(list.size());
|
|
|
@@ -264,4 +265,25 @@ public class SmsbDepartmentUserServiceImpl extends ServiceImpl<SmsbDepartmentUse
|
|
|
}
|
|
|
return userList;
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<Integer> queryUserInformType(String userId) {
|
|
|
+ SmsbDepartmentUserDO user = super.getOne(Wrappers.<SmsbDepartmentUserDO>lambdaQuery()
|
|
|
+ .eq(SmsbDepartmentUserDO::getUserId, userId)
|
|
|
+ .last("LIMIT 1"));
|
|
|
+ if(Objects.nonNull(user) && StringUtils.isNotEmpty(user.getInformType())){
|
|
|
+ String informType = user.getInformType();
|
|
|
+ return Arrays.stream(informType.replaceAll("\\[|\\]|\\s", "").split(","))
|
|
|
+ .map(s -> {
|
|
|
+ try {
|
|
|
+ return Integer.parseInt(s);
|
|
|
+ }catch (NumberFormatException e){
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .filter(Objects::nonNull)
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ }
|
|
|
+ return Lists.newArrayList();
|
|
|
+ }
|
|
|
}
|