|
@ -19,6 +19,7 @@ import org.springframework.transaction.annotation.Transactional; |
|
|
|
|
|
|
|
|
import javax.annotation.Resource; |
|
|
import javax.annotation.Resource; |
|
|
import java.util.ArrayList; |
|
|
import java.util.ArrayList; |
|
|
|
|
|
import java.util.Iterator; |
|
|
import java.util.List; |
|
|
import java.util.List; |
|
|
import java.util.stream.Collectors; |
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
@ -56,19 +57,19 @@ public class ProRoleService implements IProRoleService { |
|
|
//不显示的角色
|
|
|
//不显示的角色
|
|
|
List<RoleVo.RoleInfo> invisibleList = new ArrayList<>(); |
|
|
List<RoleVo.RoleInfo> invisibleList = new ArrayList<>(); |
|
|
//查询当前用户所属的角色的list
|
|
|
//查询当前用户所属的角色的list
|
|
|
List<Long> roleIds = null; |
|
|
List<Long> roleIds = new ArrayList<>(); |
|
|
//对自己不可见的角色的list
|
|
|
//对自己不可见的角色的list
|
|
|
List<Long> roleIds1 = null; |
|
|
List<Long> roleIds1 = new ArrayList<>(); |
|
|
//判断是否是关注者 用户不是项目下的成员 并且 用户是成员但不属于任何角色 就是关注者
|
|
|
//判断是否是关注者 用户不是项目下的成员 并且 用户是成员但不属于任何角色 就是关注者
|
|
|
// 判断用户是成员但是不属于任何角色 在成员表下查询到 成员信息
|
|
|
// 判断用户是成员但是不属于任何角色 在成员表下查询到 成员信息
|
|
|
ProMemberExample proMemberExample = new ProMemberExample(); |
|
|
ProMemberExample proMemberExample = new ProMemberExample(); |
|
|
proMemberExample.createCriteria().andUserIdEqualTo(userId).andProjectIdEqualTo(param.getProjectId()); |
|
|
proMemberExample.createCriteria().andUserIdEqualTo(userId).andProjectIdEqualTo(param.getProjectId()); |
|
|
List<ProMember> proMembers = proMemberMapper.selectByExample(proMemberExample); //默认一个
|
|
|
List<ProMember> proMembers = proMemberMapper.selectByExample(proMemberExample); //默认一个
|
|
|
//判断用户是不是项目下的成员
|
|
|
//判断用户是不是项目下的成员
|
|
|
List<ProRole> proRoles = null; |
|
|
List<ProRole> proRoles = new ArrayList<>(); |
|
|
//排序后的
|
|
|
//排序后的
|
|
|
List<ProRole> proRoles1 = null; |
|
|
List<ProRole> proRoles1 = new ArrayList<>(); |
|
|
if (ObjectUtil.isNotNull(proMembers)) { |
|
|
if (proMembers.size()!=0) { |
|
|
//判断用户是成员是不是有角色 通过成员id来判断
|
|
|
//判断用户是成员是不是有角色 通过成员id来判断
|
|
|
ProRoleMemberExample proRoleMemberExample = new ProRoleMemberExample(); |
|
|
ProRoleMemberExample proRoleMemberExample = new ProRoleMemberExample(); |
|
|
proRoleMemberExample.createCriteria().andMemberIdEqualTo(proMembers.get(0).getId()); |
|
|
proRoleMemberExample.createCriteria().andMemberIdEqualTo(proMembers.get(0).getId()); |
|
@ -109,17 +110,28 @@ public class ProRoleService implements IProRoleService { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
//进行排序 把项目经理拿出来
|
|
|
//进行排序 把项目经理拿出来
|
|
|
for (int i = 0; i < proRoles.size(); i++) { |
|
|
Iterator<ProRole> iterator5 = proRoles.iterator(); |
|
|
|
|
|
while (iterator5.hasNext()) { |
|
|
|
|
|
ProRole proRole = iterator5.next(); |
|
|
|
|
|
String PM = labelDao.queryIsPm(proRole.getLabelId()); |
|
|
|
|
|
if (StrUtil.isNotEmpty(PM)) { //是项目经理
|
|
|
|
|
|
proRoles1.add(proRole); |
|
|
|
|
|
proRoles.remove(proRole); //把项目经理角色拿出去
|
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/*for (int i = 0; i < proRoles.size(); i++) { |
|
|
String PM = labelDao.queryIsPm(proRoles.get(i).getLabelId()); |
|
|
String PM = labelDao.queryIsPm(proRoles.get(i).getLabelId()); |
|
|
if (StrUtil.isNotEmpty(PM)) { //是项目经理
|
|
|
if (StrUtil.isNotEmpty(PM)) { //是项目经理
|
|
|
ProRole proRole = proRoles.get(i); |
|
|
ProRole proRole = proRoles.get(i); |
|
|
proRoles1.add(proRole); |
|
|
proRoles1.add(proRole); |
|
|
proRoles.remove(proRole); //把项目经理角色拿出去
|
|
|
proRoles.remove(proRole); //把项目经理角色拿出去
|
|
|
} |
|
|
} |
|
|
} |
|
|
}*/ |
|
|
//进行排序 把我的角色拿出来
|
|
|
//进行排序 把我的角色拿出来
|
|
|
for (int i = 0; i < proRoles.size(); i++) { |
|
|
/*for (int i = 0; i < proRoles.size(); i++) { |
|
|
//是否是mine 判断是不是自己的角色// 0否 1是
|
|
|
//是否是mine 判断是不是自己的角色// 0否 1是
|
|
|
for (Long roleId : roleIds) { |
|
|
for (Long roleId : roleIds) { |
|
|
Long id = proRoles.get(i).getId(); |
|
|
Long id = proRoles.get(i).getId(); |
|
@ -128,6 +140,22 @@ public class ProRoleService implements IProRoleService { |
|
|
proRoles.remove(proRoles.get(i)); //把我的角色拿出去
|
|
|
proRoles.remove(proRoles.get(i)); //把我的角色拿出去
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
}*/ |
|
|
|
|
|
|
|
|
|
|
|
for (int i = 0; i < proRoles.size(); i++) { |
|
|
|
|
|
//是否是mine 判断是不是自己的角色// 0否 1是
|
|
|
|
|
|
if(!roleIds.isEmpty()){ |
|
|
|
|
|
Iterator<Long> iterator6 = roleIds.iterator(); |
|
|
|
|
|
while (iterator6.hasNext()) { |
|
|
|
|
|
Long roleId = iterator6.next(); |
|
|
|
|
|
Long id = proRoles.get(i).getId(); |
|
|
|
|
|
if (roleId.equals(id)) { |
|
|
|
|
|
proRoles1.add(proRoles.get(i)); |
|
|
|
|
|
proRoles.remove(proRoles.get(i)); //把我的角色拿出去
|
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
//进行排序 把其他角色拿出来
|
|
|
//进行排序 把其他角色拿出来
|
|
|
for (int i = 0; i < proRoles.size(); i++) { |
|
|
for (int i = 0; i < proRoles.size(); i++) { |
|
@ -135,12 +163,12 @@ public class ProRoleService implements IProRoleService { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
} else { //用户是关注者 是 查询所有 未设置对谁不可见信息 的角色 通过角色id去查找 role_id
|
|
|
} else { //用户是游客 是 查询所有 未设置对谁不可见信息 的角色 通过角色id去查找 role_id
|
|
|
ProRoleExample proRoleExample = new ProRoleExample(); |
|
|
ProRoleExample proRoleExample = new ProRoleExample(); |
|
|
proRoleExample.createCriteria().andProjectIdEqualTo(param.getProjectId()); |
|
|
proRoleExample.createCriteria().andProjectIdEqualTo(param.getProjectId()); |
|
|
proRoles = proRoleMapper.selectByExample(proRoleExample); |
|
|
proRoles = proRoleMapper.selectByExample(proRoleExample); |
|
|
if (ObjectUtil.isNotNull(proRoles)) { |
|
|
if (ObjectUtil.isNotNull(proRoles)) { |
|
|
for (ProRole proRole : proRoles) { |
|
|
/*for (ProRole proRole : proRoles) { |
|
|
ProRoleRepulsionExample proRoleRepulsionExample = new ProRoleRepulsionExample(); |
|
|
ProRoleRepulsionExample proRoleRepulsionExample = new ProRoleRepulsionExample(); |
|
|
proRoleRepulsionExample.createCriteria().andRoleIdEqualTo(proRole.getId()); |
|
|
proRoleRepulsionExample.createCriteria().andRoleIdEqualTo(proRole.getId()); |
|
|
List<ProRoleRepulsion> proRoleRepulsions = proRoleRepulsionMapper.selectByExample(proRoleRepulsionExample); |
|
|
List<ProRoleRepulsion> proRoleRepulsions = proRoleRepulsionMapper.selectByExample(proRoleRepulsionExample); |
|
@ -148,28 +176,73 @@ public class ProRoleService implements IProRoleService { |
|
|
//查到就是设置过了 移除
|
|
|
//查到就是设置过了 移除
|
|
|
proRoles.remove(proRole); |
|
|
proRoles.remove(proRole); |
|
|
} |
|
|
} |
|
|
|
|
|
}*/ |
|
|
|
|
|
|
|
|
|
|
|
Iterator<ProRole> iterator = proRoles.iterator(); |
|
|
|
|
|
while (iterator.hasNext()) { |
|
|
|
|
|
ProRole proRole = iterator.next(); |
|
|
|
|
|
//查看是否设置不可见
|
|
|
|
|
|
ProRoleRepulsionExample proRoleRepulsionExample = new ProRoleRepulsionExample(); |
|
|
|
|
|
proRoleRepulsionExample.createCriteria().andRoleIdEqualTo(proRole.getId()); |
|
|
|
|
|
List<ProRoleRepulsion> proRoleRepulsions = proRoleRepulsionMapper.selectByExample(proRoleRepulsionExample); |
|
|
|
|
|
if (proRoleRepulsions.size()!=0) { |
|
|
|
|
|
//查到就是设置过了 移除
|
|
|
|
|
|
proRoles.remove(proRole); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//进行排序 把项目经理拿出来
|
|
|
//进行排序 把项目经理拿出来
|
|
|
for (int i = 0; i < proRoles.size(); i++) { |
|
|
/*for (int i = 0; i < proRoles.size(); i++) { |
|
|
String PM = labelDao.queryIsPm(proRoles.get(i).getLabelId()); |
|
|
String PM = labelDao.queryIsPm(proRoles.get(i).getLabelId()); |
|
|
if (StrUtil.isNotEmpty(PM)) { //是项目经理
|
|
|
if (StrUtil.isNotEmpty(PM)) { //是项目经理
|
|
|
ProRole proRole = proRoles.get(i); |
|
|
ProRole proRole = proRoles.get(i); |
|
|
proRoles1.add(proRole); |
|
|
proRoles1.add(proRole); |
|
|
proRoles.remove(proRole); //把项目经理角色拿出去
|
|
|
proRoles.remove(proRole); //把项目经理角色拿出去
|
|
|
} |
|
|
} |
|
|
|
|
|
}*/ |
|
|
|
|
|
|
|
|
|
|
|
Iterator<ProRole> iterator1 = proRoles.iterator(); |
|
|
|
|
|
while (iterator1.hasNext()) { |
|
|
|
|
|
ProRole proRole = iterator1.next(); |
|
|
|
|
|
String PM = labelDao.queryIsPm(proRole.getLabelId()); |
|
|
|
|
|
if (StrUtil.isNotEmpty(PM)) { //是项目经理
|
|
|
|
|
|
proRoles1.add(proRole); |
|
|
|
|
|
proRoles.remove(proRole); //把项目经理角色拿出去
|
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
//进行排序 把我的角色拿出来
|
|
|
|
|
|
for (int i = 0; i < proRoles.size(); i++) { |
|
|
//进行排序 把我的角色拿出来 本来就没有我的角色 不需要判断
|
|
|
|
|
|
/*for (int i = 0; i < proRoles.size(); i++) { |
|
|
//是否是mine 判断是不是自己的角色// 0否 1是
|
|
|
//是否是mine 判断是不是自己的角色// 0否 1是
|
|
|
for (Long roleId : roleIds) { |
|
|
if(!roleIds.isEmpty()){ |
|
|
Long id = proRoles.get(i).getId(); |
|
|
for (Long roleId : roleIds) { |
|
|
if (roleId.equals(id)) { |
|
|
Long id = proRoles.get(i).getId(); |
|
|
proRoles1.add(proRoles.get(i)); |
|
|
if (roleId.equals(id)) { |
|
|
proRoles.remove(proRoles.get(i)); //把我的角色拿出去
|
|
|
proRoles1.add(proRoles.get(i)); |
|
|
|
|
|
proRoles.remove(proRoles.get(i)); //把我的角色拿出去
|
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
}*/ |
|
|
|
|
|
|
|
|
|
|
|
/*for (int i = 0; i < proRoles.size(); i++) { |
|
|
|
|
|
//是否是mine 判断是不是自己的角色// 0否 1是
|
|
|
|
|
|
if(!roleIds.isEmpty()){ |
|
|
|
|
|
Iterator<Long> iterator2 = roleIds.iterator(); |
|
|
|
|
|
while (iterator2.hasNext()) { |
|
|
|
|
|
Long roleId = iterator2.next(); |
|
|
|
|
|
Long id = proRoles.get(i).getId(); |
|
|
|
|
|
if (roleId.equals(id)) { |
|
|
|
|
|
proRoles1.add(proRoles.get(i)); |
|
|
|
|
|
proRoles.remove(proRoles.get(i)); //把我的角色拿出去
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
}*/ |
|
|
//进行排序 把其他角色拿出来
|
|
|
//进行排序 把其他角色拿出来
|
|
|
for (int i = 0; i < proRoles.size(); i++) { |
|
|
for (int i = 0; i < proRoles.size(); i++) { |
|
|
proRoles1.add(proRoles.get(i)); |
|
|
proRoles1.add(proRoles.get(i)); |
|
@ -182,15 +255,89 @@ public class ProRoleService implements IProRoleService { |
|
|
proRoleShowExample.createCriteria().andProjectIdEqualTo(param.getProjectId()).andUserIdEqualTo(userId); |
|
|
proRoleShowExample.createCriteria().andProjectIdEqualTo(param.getProjectId()).andUserIdEqualTo(userId); |
|
|
List<ProRoleShow> proRoleShows = proRoleShowMapper.selectByExample(proRoleShowExample); |
|
|
List<ProRoleShow> proRoleShows = proRoleShowMapper.selectByExample(proRoleShowExample); |
|
|
//循环所有的角色,判断是否在配置信息内 将角色信息放入“显示角色”的数组内 将角色放入“隐藏角色"数组
|
|
|
//循环所有的角色,判断是否在配置信息内 将角色信息放入“显示角色”的数组内 将角色放入“隐藏角色"数组
|
|
|
if (ObjectUtil.isNotNull(proRoleShows)) { |
|
|
if (proRoleShows.size()!=0) { |
|
|
for (int i = 0; i < proRoles1.size(); i++) { |
|
|
for (int i = 0; i < proRoles1.size(); i++) { |
|
|
ProRoleShowExample proRoleShowExample1 = new ProRoleShowExample(); |
|
|
for (ProRoleShow proRoleShow : proRoleShows) { |
|
|
proRoleShowExample.createCriteria().andRoleIdEqualTo(proRoles1.get(i).getId()); |
|
|
Long roleId = proRoleShow.getRoleId(); //配置信息的id
|
|
|
List<ProRoleShow> proRoleShows1 = proRoleShowMapper.selectByExample(proRoleShowExample1); |
|
|
Long id = proRoles1.get(i).getId(); //项目下的角色
|
|
|
if (ObjectUtil.isNotNull(proRoleShows1)) { |
|
|
if(roleId.equals(id)){ //一样就是配置过
|
|
|
|
|
|
RoleVo.RoleInfo RoleInfo1 = new RoleVo.RoleInfo(); |
|
|
|
|
|
RoleInfo1.setId(proRoles1.get(i).getId()); |
|
|
|
|
|
RoleInfo1.setName(proRoles1.get(i).getName()); |
|
|
|
|
|
//是否是pm 0否 1 是 //通过标签来定义 5 和 2 34是
|
|
|
|
|
|
//通过角色表里面的标签id 去 标签表查询 label_type_id =5 在去标签类型表查5 和 level =2
|
|
|
|
|
|
String PM = labelDao.queryIsPm(proRoles1.get(i).getLabelId()); |
|
|
|
|
|
if (StrUtil.isNotEmpty(PM)) { //是
|
|
|
|
|
|
RoleInfo1.setPm(1L); |
|
|
|
|
|
} else { |
|
|
|
|
|
RoleInfo1.setPm(0L); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//是否是mine 判断是不是自己的角色// 0否 1是
|
|
|
|
|
|
if(roleIds.size()!=0){ |
|
|
|
|
|
for (Long roleId1 : roleIds) { |
|
|
|
|
|
Long id1 = proRoles1.get(i).getId(); |
|
|
|
|
|
if (roleId1.equals(id1)) { |
|
|
|
|
|
RoleInfo1.setMine(1L); |
|
|
|
|
|
} else { |
|
|
|
|
|
RoleInfo1.setMine(0L); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
}else { |
|
|
|
|
|
RoleInfo1.setMine(0L); |
|
|
|
|
|
} |
|
|
|
|
|
//排序
|
|
|
|
|
|
RoleInfo1.setSequence(Long.valueOf(proRoleShow.getSequence())); |
|
|
|
|
|
visibleList.add(RoleInfo1); |
|
|
|
|
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
//未配置过了
|
|
|
|
|
|
RoleVo.RoleInfo RoleInfo1 = new RoleVo.RoleInfo(); |
|
|
|
|
|
RoleInfo1.setId(proRoles1.get(i).getId()); |
|
|
|
|
|
RoleInfo1.setName(proRoles1.get(i).getName()); |
|
|
|
|
|
//是否是pm
|
|
|
|
|
|
String PM = labelDao.queryIsPm(proRoles1.get(i).getLabelId()); |
|
|
|
|
|
if (StrUtil.isNotEmpty(PM)) { //是
|
|
|
|
|
|
RoleInfo1.setPm(1L); |
|
|
|
|
|
} else { |
|
|
|
|
|
RoleInfo1.setPm(0L); |
|
|
|
|
|
} |
|
|
|
|
|
/*//是否是mine 判断是不是自己的角色// 0否 1是
|
|
|
|
|
|
for (Long roleId1 : roleIds) { |
|
|
|
|
|
Long id1 = proRoles1.get(i).getId(); |
|
|
|
|
|
if (roleId1.equals(id1)) { |
|
|
|
|
|
RoleInfo1.setMine(1L); |
|
|
|
|
|
} else { |
|
|
|
|
|
RoleInfo1.setMine(0L); |
|
|
|
|
|
} |
|
|
|
|
|
}*/ |
|
|
|
|
|
|
|
|
|
|
|
//是否是mine 判断是不是自己的角色// 0否 1是
|
|
|
|
|
|
if(roleIds.size()!=0){ |
|
|
|
|
|
for (Long roleId1 : roleIds) { |
|
|
|
|
|
Long id1 = proRoles1.get(i).getId(); |
|
|
|
|
|
if (roleId1.equals(id1)) { |
|
|
|
|
|
RoleInfo1.setMine(1L); |
|
|
|
|
|
} else { |
|
|
|
|
|
RoleInfo1.setMine(0L); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
}else { |
|
|
|
|
|
RoleInfo1.setMine(0L); |
|
|
|
|
|
} |
|
|
|
|
|
//排序
|
|
|
|
|
|
RoleInfo1.setSequence((long) i+1); |
|
|
|
|
|
invisibleList.add(RoleInfo1); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
/*ProRoleShowExample proRoleShowExample1 = new ProRoleShowExample(); |
|
|
|
|
|
proRoleShowExample.createCriteria().andRoleIdEqualTo(proRoles1.get(i).getId()).andProjectIdEqualTo(param.getProjectId()).andUserIdEqualTo(userId); |
|
|
|
|
|
List<ProRoleShow> proRoleShows1 = proRoleShowMapper.selectByExample(proRoleShowExample1);*/ |
|
|
|
|
|
/*if (ObjectUtil.isNotNull(proRoleShows1)) { |
|
|
//配置过了 将角色信总放入“显示角色"的数组内
|
|
|
//配置过了 将角色信总放入“显示角色"的数组内
|
|
|
RoleInfo.setId(proRoles1.get(i).getId()); |
|
|
RoleVo.RoleInfo RoleInfo1 = new RoleVo.RoleInfo(); |
|
|
RoleInfo.setName(proRoles1.get(i).getName()); |
|
|
RoleInfo1.setId(proRoles1.get(i).getId()); |
|
|
|
|
|
RoleInfo1.setName(proRoles1.get(i).getName()); |
|
|
//是否是pm 0否 1 是 //通过标签来定义 5 和 2 34是
|
|
|
//是否是pm 0否 1 是 //通过标签来定义 5 和 2 34是
|
|
|
//通过角色表里面的标签id 去 标签表查询 label_type_id =5 在去标签类型表查5 和 level =2
|
|
|
//通过角色表里面的标签id 去 标签表查询 label_type_id =5 在去标签类型表查5 和 level =2
|
|
|
String PM = labelDao.queryIsPm(proRoles1.get(i).getLabelId()); |
|
|
String PM = labelDao.queryIsPm(proRoles1.get(i).getLabelId()); |
|
@ -204,14 +351,14 @@ public class ProRoleService implements IProRoleService { |
|
|
for (Long roleId : roleIds) { |
|
|
for (Long roleId : roleIds) { |
|
|
Long id = proRoles1.get(i).getId(); |
|
|
Long id = proRoles1.get(i).getId(); |
|
|
if (roleId.equals(id)) { |
|
|
if (roleId.equals(id)) { |
|
|
RoleInfo.setMine(1L); |
|
|
RoleInfo1.setMine(1L); |
|
|
} else { |
|
|
} else { |
|
|
RoleInfo.setMine(0L); |
|
|
RoleInfo1.setMine(0L); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
//排序
|
|
|
//排序
|
|
|
RoleInfo.setSequence(Long.valueOf(proRoleShows1.get(0).getSequence())); |
|
|
RoleInfo1.setSequence(Long.valueOf(proRoleShows1.get(0).getSequence())); |
|
|
visibleList.add(RoleInfo); |
|
|
visibleList.add(RoleInfo1); |
|
|
|
|
|
|
|
|
} else { |
|
|
} else { |
|
|
//未配置过了
|
|
|
//未配置过了
|
|
@ -236,58 +383,104 @@ public class ProRoleService implements IProRoleService { |
|
|
//排序
|
|
|
//排序
|
|
|
RoleInfo.setSequence((long) i); |
|
|
RoleInfo.setSequence((long) i); |
|
|
invisibleList.add(RoleInfo); |
|
|
invisibleList.add(RoleInfo); |
|
|
} |
|
|
}*/ |
|
|
} |
|
|
} |
|
|
} else { |
|
|
} else { |
|
|
//循环查询到的角色,放入“显示角色”的数组内 数组长度大于等于5
|
|
|
//循环查询到的角色,放入“显示角色”的数组内 数组长度大于等于5
|
|
|
for (int i = 0; i < 5; i++) { |
|
|
if(proRoles1.size()<6){ |
|
|
RoleInfo.setId(proRoles1.get(i).getId()); |
|
|
for (int i = 0; i < proRoles1.size(); i++) { |
|
|
RoleInfo.setName(proRoles1.get(i).getName()); |
|
|
RoleVo.RoleInfo RoleInfo1 = new RoleVo.RoleInfo(); |
|
|
//是否是pm
|
|
|
RoleInfo1.setId(proRoles1.get(i).getId()); |
|
|
Long index = proRoles1.get(i).getLabelId()+1; |
|
|
RoleInfo1.setName(proRoles1.get(i).getName()); |
|
|
String PM = labelDao.queryIsPm(index); |
|
|
//是否是pm
|
|
|
if (StrUtil.isNotEmpty(PM)) { //是
|
|
|
Long index = proRoles1.get(i).getLabelId()+1; |
|
|
RoleInfo.setPm(1L); |
|
|
String PM = labelDao.queryIsPm(index); |
|
|
} else { |
|
|
if (StrUtil.isNotEmpty(PM)) { //是
|
|
|
RoleInfo.setPm(0L); |
|
|
RoleInfo1.setPm(1L); |
|
|
} |
|
|
|
|
|
//是否是mine 判断是不是自己的角色// 0否 1是
|
|
|
|
|
|
for (Long roleId : roleIds) { |
|
|
|
|
|
Long id = proRoles1.get(i).getId(); |
|
|
|
|
|
if (roleId.equals(id)) { |
|
|
|
|
|
RoleInfo.setMine(1L); |
|
|
|
|
|
} else { |
|
|
} else { |
|
|
RoleInfo.setMine(0L); |
|
|
RoleInfo1.setPm(0L); |
|
|
} |
|
|
} |
|
|
|
|
|
//是否是mine 判断是不是自己的角色// 0否 1是
|
|
|
|
|
|
if(roleIds.size()!=0){ |
|
|
|
|
|
for (Long roleId : roleIds) { |
|
|
|
|
|
Long id = proRoles1.get(i).getId(); |
|
|
|
|
|
if (roleId.equals(id)) { |
|
|
|
|
|
RoleInfo1.setMine(1L); |
|
|
|
|
|
} else { |
|
|
|
|
|
RoleInfo1.setMine(0L); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
}else { |
|
|
|
|
|
RoleInfo1.setMine(0L); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//排序
|
|
|
|
|
|
RoleInfo1.setSequence((long) i+1); |
|
|
|
|
|
visibleList.add(RoleInfo1); |
|
|
} |
|
|
} |
|
|
//排序
|
|
|
|
|
|
RoleInfo.setSequence((long) i); |
|
|
|
|
|
visibleList.add(RoleInfo); |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
if (proRoles1.size() >= 6) { |
|
|
if (proRoles1.size() >= 6) { |
|
|
|
|
|
|
|
|
|
|
|
for (int i = 0; i < 5; i++) { |
|
|
|
|
|
RoleVo.RoleInfo RoleInfo1 = new RoleVo.RoleInfo(); |
|
|
|
|
|
RoleInfo1.setId(proRoles1.get(i).getId()); |
|
|
|
|
|
RoleInfo1.setName(proRoles1.get(i).getName()); |
|
|
|
|
|
//是否是pm
|
|
|
|
|
|
Long index = proRoles1.get(i).getLabelId()+1; |
|
|
|
|
|
String PM = labelDao.queryIsPm(index); |
|
|
|
|
|
if (StrUtil.isNotEmpty(PM)) { //是
|
|
|
|
|
|
RoleInfo1.setPm(1L); |
|
|
|
|
|
} else { |
|
|
|
|
|
RoleInfo1.setPm(0L); |
|
|
|
|
|
} |
|
|
|
|
|
//是否是mine 判断是不是自己的角色// 0否 1是
|
|
|
|
|
|
if(roleIds.size()!=0){ |
|
|
|
|
|
for (Long roleId : roleIds) { |
|
|
|
|
|
Long id = proRoles1.get(i).getId(); |
|
|
|
|
|
if (roleId.equals(id)) { |
|
|
|
|
|
RoleInfo1.setMine(1L); |
|
|
|
|
|
} else { |
|
|
|
|
|
RoleInfo1.setMine(0L); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
}else { |
|
|
|
|
|
RoleInfo1.setMine(0L); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//排序
|
|
|
|
|
|
RoleInfo1.setSequence((long) i+1); |
|
|
|
|
|
visibleList.add(RoleInfo1); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
//将剩下的角色放入“隐藏角色”数组
|
|
|
//将剩下的角色放入“隐藏角色”数组
|
|
|
for (int i = 5; i < proRoles1.size(); i++) { |
|
|
for (int i = 5; i < proRoles1.size(); i++) { |
|
|
RoleInfo.setId(proRoles1.get(i).getId()); |
|
|
RoleVo.RoleInfo RoleInfo1 = new RoleVo.RoleInfo(); |
|
|
RoleInfo.setName(proRoles1.get(i).getName()); |
|
|
RoleInfo1.setId(proRoles1.get(i).getId()); |
|
|
|
|
|
RoleInfo1.setName(proRoles1.get(i).getName()); |
|
|
//是否是pm
|
|
|
//是否是pm
|
|
|
String PM = labelDao.queryIsPm(proRoles1.get(i).getLabelId()); |
|
|
String PM = labelDao.queryIsPm(proRoles1.get(i).getLabelId()); |
|
|
if (StrUtil.isNotEmpty(PM)) { //是
|
|
|
if (StrUtil.isNotEmpty(PM)) { //是
|
|
|
RoleInfo.setPm(1L); |
|
|
RoleInfo1.setPm(1L); |
|
|
} else { |
|
|
} else { |
|
|
RoleInfo.setPm(0L); |
|
|
RoleInfo1.setPm(0L); |
|
|
} |
|
|
} |
|
|
//是否是mine 判断是不是自己的角色// 0否 1是
|
|
|
//是否是mine 判断是不是自己的角色// 0否 1是
|
|
|
for (Long roleId : roleIds) { |
|
|
if(roleIds.size()!=0){ |
|
|
Long id = proRoles1.get(i).getId(); |
|
|
for (Long roleId : roleIds) { |
|
|
if (roleId.equals(id)) { |
|
|
Long id = proRoles1.get(i).getId(); |
|
|
RoleInfo.setMine(1L); |
|
|
if (roleId.equals(id)) { |
|
|
} else { |
|
|
RoleInfo1.setMine(1L); |
|
|
RoleInfo.setMine(0L); |
|
|
} else { |
|
|
|
|
|
RoleInfo1.setMine(0L); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
}else { |
|
|
|
|
|
RoleInfo1.setMine(0L); |
|
|
} |
|
|
} |
|
|
//排序
|
|
|
//排序
|
|
|
RoleInfo.setSequence((long) (i-5)); //6-5
|
|
|
RoleInfo1.setSequence((long) (i-4)); //5-4
|
|
|
invisibleList.add(RoleInfo); |
|
|
invisibleList.add(RoleInfo1); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
@ -299,7 +492,7 @@ public class ProRoleService implements IProRoleService { |
|
|
@Override |
|
|
@Override |
|
|
public void updateShowRole(RoleDto.UpdateRoleShow param, Long userId) { |
|
|
public void updateShowRole(RoleDto.UpdateRoleShow param, Long userId) { |
|
|
//判断入参内的角色判断入参内的角色id列表是否为空
|
|
|
//判断入参内的角色判断入参内的角色id列表是否为空
|
|
|
if(ObjectUtil.isNull(param.getRoleIds())){ |
|
|
if(param.getRoleIds().size()==0){ |
|
|
throw new BaseException(CodeEnum.NOT_ROLE); |
|
|
throw new BaseException(CodeEnum.NOT_ROLE); |
|
|
} |
|
|
} |
|
|
//根据token获取到userld和项目id在角色展示表中查看是否有原来的数据
|
|
|
//根据token获取到userld和项目id在角色展示表中查看是否有原来的数据
|
|
@ -322,7 +515,7 @@ public class ProRoleService implements IProRoleService { |
|
|
proRoleShow.setProjectId(param.getProjectId()); |
|
|
proRoleShow.setProjectId(param.getProjectId()); |
|
|
proRoleShow.setRoleId((long)roleIdsList.get(i)); |
|
|
proRoleShow.setRoleId((long)roleIdsList.get(i)); |
|
|
proRoleShow.setOperator(userId); |
|
|
proRoleShow.setOperator(userId); |
|
|
proRoleShow.setSequence(i); |
|
|
proRoleShow.setSequence(i+1); |
|
|
proRoleShowMapper.insertSelective(proRoleShow); |
|
|
proRoleShowMapper.insertSelective(proRoleShow); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|