|
@@ -920,12 +920,24 @@ public class UserProvider extends BaseProvider implements IUserService {
|
|
|
List<DefaultPartyRolePo> roles = getRoles(userId); //当前登录用户角色
|
|
List<DefaultPartyRolePo> roles = getRoles(userId); //当前登录用户角色
|
|
|
List<DefaultPartyRolePo> rolePos;
|
|
List<DefaultPartyRolePo> rolePos;
|
|
|
//主任查看所有
|
|
//主任查看所有
|
|
|
- rolePos = roles.stream().filter(role -> "主任".equals(role.getRoleType())).collect(Collectors.toList());
|
|
|
|
|
|
|
+ //rolePos = roles.stream().filter(role -> "主任".equals(role.getRoleType())).collect(Collectors.toList());
|
|
|
|
|
+ rolePos = Optional.of(roles)
|
|
|
|
|
+ .orElseGet(Collections::emptyList) // 若roles为null,转为空列表
|
|
|
|
|
+ .stream()
|
|
|
|
|
+ .filter(Objects::nonNull) // 过滤掉role对象为null的情况
|
|
|
|
|
+ .filter(role -> "主任".equals(role.getRoleType()))
|
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
if(rolePos.size() > 0){ //判断是否拥有主任角色
|
|
if(rolePos.size() > 0){ //判断是否拥有主任角色
|
|
|
return "isMaster";
|
|
return "isMaster";
|
|
|
}
|
|
}
|
|
|
//负责人查看自己部门
|
|
//负责人查看自己部门
|
|
|
- rolePos = roles.stream().filter(role -> "负责人".equals(role.getRoleType())).collect(Collectors.toList());
|
|
|
|
|
|
|
+ //rolePos = roles.stream().filter(role -> "负责人".equals(role.getRoleType())).collect(Collectors.toList());
|
|
|
|
|
+ rolePos = Optional.of(roles)
|
|
|
|
|
+ .orElseGet(Collections::emptyList) // 处理roles集合本身为null的情况
|
|
|
|
|
+ .stream()
|
|
|
|
|
+ .filter(Objects::nonNull) // 过滤掉集合中的null元素
|
|
|
|
|
+ .filter(role -> "负责人".equals(role.getRoleType())) // 安全比较(即使getRoleType()返回null也不会抛NPE)
|
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
if(rolePos.size() > 0){ //判断是否拥有负责人角色
|
|
if(rolePos.size() > 0){ //判断是否拥有负责人角色
|
|
|
return "isCharger";
|
|
return "isCharger";
|
|
|
}
|
|
}
|