|
|
@ -3,6 +3,7 @@ package cn.estsh.i3plus.core.apiservice.serviceimpl.busi;
|
|
|
|
import cn.estsh.i3plus.core.api.iservice.busi.IPersonnelService;
|
|
|
|
import cn.estsh.i3plus.core.api.iservice.busi.IPersonnelService;
|
|
|
|
import cn.estsh.i3plus.core.api.iservice.busi.ISysRoleService;
|
|
|
|
import cn.estsh.i3plus.core.api.iservice.busi.ISysRoleService;
|
|
|
|
import cn.estsh.i3plus.core.apiservice.dao.IUserPermissionDao;
|
|
|
|
import cn.estsh.i3plus.core.apiservice.dao.IUserPermissionDao;
|
|
|
|
|
|
|
|
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
|
|
|
|
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
|
|
|
|
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
|
|
|
|
import cn.estsh.i3plus.pojo.base.bean.ListPager;
|
|
|
|
import cn.estsh.i3plus.pojo.base.bean.ListPager;
|
|
|
|
import cn.estsh.i3plus.pojo.base.common.Pager;
|
|
|
|
import cn.estsh.i3plus.pojo.base.common.Pager;
|
|
|
@ -15,8 +16,10 @@ import cn.estsh.i3plus.pojo.platform.repository.SysRefRoleMenuRepository;
|
|
|
|
import cn.estsh.i3plus.pojo.platform.repository.SysRefUserRoleRepository;
|
|
|
|
import cn.estsh.i3plus.pojo.platform.repository.SysRefUserRoleRepository;
|
|
|
|
import cn.estsh.i3plus.pojo.platform.repository.SysRoleRepository;
|
|
|
|
import cn.estsh.i3plus.pojo.platform.repository.SysRoleRepository;
|
|
|
|
import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack;
|
|
|
|
import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack;
|
|
|
|
|
|
|
|
import cn.estsh.impp.framework.boot.auth.AuthUtil;
|
|
|
|
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
|
|
|
|
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
|
|
|
|
import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum;
|
|
|
|
import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum;
|
|
|
|
|
|
|
|
import cn.estsh.impp.framework.boot.util.ValidatorBean;
|
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
import org.slf4j.Logger;
|
|
|
|
import org.slf4j.Logger;
|
|
|
@ -24,6 +27,7 @@ import org.slf4j.LoggerFactory;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
import java.util.ArrayList;
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
|
|
|
import java.util.Arrays;
|
|
|
|
import java.util.List;
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
@ -137,19 +141,11 @@ public class SysRoleService implements ISysRoleService {
|
|
|
|
List<String> featuresListRdd = new ArrayList<>(); // 冗余
|
|
|
|
List<String> featuresListRdd = new ArrayList<>(); // 冗余
|
|
|
|
List<SysRefRoleMenu> refs = new ArrayList<>(); // 角色权限关系
|
|
|
|
List<SysRefRoleMenu> refs = new ArrayList<>(); // 角色权限关系
|
|
|
|
|
|
|
|
|
|
|
|
// 封装需要删除的IDS
|
|
|
|
|
|
|
|
Long[] rids = new Long[roleList.size()];
|
|
|
|
|
|
|
|
for (int i = 0; i < roleList.size(); i++) {
|
|
|
|
|
|
|
|
rids[i] = roleList.get(i).getId();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// 删除角色权限关系
|
|
|
|
// 删除角色权限关系
|
|
|
|
String deleteWhere = CoreHqlPack.packHqlIds("roleId", roleIds);
|
|
|
|
refRoleMenuRDao.deleteByPropertyIn("roleId",roleIds);
|
|
|
|
List<SysRefRoleMenu> refRoleMenuList = refRoleMenuRDao.findByHqlWhere(deleteWhere);
|
|
|
|
|
|
|
|
refRoleMenuRDao.deleteAll(refRoleMenuList);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(ids != null && ids.length > 0){
|
|
|
|
if(ids != null && ids.length > 0){
|
|
|
|
String menuWhere = CoreHqlPack.packHqlIds("id", ids);
|
|
|
|
List<SysMenu> list = sysMenuRDao.findAllById(Arrays.asList(ids));
|
|
|
|
List<SysMenu> list = sysMenuRDao.findByHqlWhere(menuWhere);
|
|
|
|
|
|
|
|
SysRefRoleMenu ref = null;
|
|
|
|
SysRefRoleMenu ref = null;
|
|
|
|
|
|
|
|
|
|
|
|
// 插入角色权限关系
|
|
|
|
// 插入角色权限关系
|
|
|
@ -161,11 +157,10 @@ public class SysRoleService implements ISysRoleService {
|
|
|
|
ref.setRoleNameRdd(role.getName());
|
|
|
|
ref.setRoleNameRdd(role.getName());
|
|
|
|
ref.setMenuNameRdd(menu.getName());
|
|
|
|
ref.setMenuNameRdd(menu.getName());
|
|
|
|
ref.setMenuId(menu.getId());
|
|
|
|
ref.setMenuId(menu.getId());
|
|
|
|
ref.setIsValid(CommonEnumUtil.IS_VAILD.VAILD.getValue());
|
|
|
|
|
|
|
|
ref.setIsDeleted(CommonEnumUtil.IS_DEAL.NO.getValue());
|
|
|
|
|
|
|
|
ref.setMenuTypeRdd(menu.getMenuType());
|
|
|
|
ref.setMenuTypeRdd(menu.getMenuType());
|
|
|
|
|
|
|
|
ConvertBean.serviceModelInitialize(ref, AuthUtil.getSessionUser());
|
|
|
|
|
|
|
|
|
|
|
|
refs.add(ref);
|
|
|
|
refRoleMenuRDao.insert(ref);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 冗余信息封装
|
|
|
|
// 冗余信息封装
|
|
|
@ -185,7 +180,6 @@ public class SysRoleService implements ISysRoleService {
|
|
|
|
role.setMenuNumber(featuresListRdd.size());
|
|
|
|
role.setMenuNumber(featuresListRdd.size());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
refRoleMenuRDao.saveAll(refs);
|
|
|
|
|
|
|
|
roleRDao.saveAll(roleList);
|
|
|
|
roleRDao.saveAll(roleList);
|
|
|
|
}else {
|
|
|
|
}else {
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|