|
@@ -4,6 +4,7 @@ import cn.cslg.permission.common.model.vo.PersonnelVO;
|
|
|
import cn.cslg.permission.common.model.vo.RoleVO;
|
|
|
import cn.cslg.permission.common.utils.CacheUtils;
|
|
|
import cn.cslg.permission.common.utils.DataUtils;
|
|
|
+import cn.cslg.permission.common.utils.LoginUtils;
|
|
|
import cn.cslg.permission.common.utils.Response;
|
|
|
import cn.cslg.permission.common.utils.SecurityUtils.SecurityUtils;
|
|
|
import cn.cslg.permission.domain.Position;
|
|
@@ -41,6 +42,7 @@ public class RoleService extends ServiceImpl<RoleMapper, Role> {
|
|
|
private final DepartRoleService departRoleService;
|
|
|
private final TenantService tenantService;
|
|
|
private final CacheUtils cacheUtils;
|
|
|
+ private final LoginUtils loginUtils;
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void addRole(RoleVO roleVO) {
|
|
@@ -62,7 +64,6 @@ public class RoleService extends ServiceImpl<RoleMapper, Role> {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public String deleteRole(RoleVO roleVO) {
|
|
|
log.info("开始处理【删除角色】的业务,参数为:{}", roleVO);
|
|
@@ -76,12 +77,10 @@ public class RoleService extends ServiceImpl<RoleMapper, Role> {
|
|
|
} else if (roleType.equals(2)) {
|
|
|
return Response.error("无法删除租户管理员");
|
|
|
}
|
|
|
-
|
|
|
//根据id删除角色表数据
|
|
|
Role role = new Role();
|
|
|
role.setId(roleVO.getId());
|
|
|
role.deleteById();
|
|
|
-
|
|
|
//删除关联表数据
|
|
|
//角色功能数据权限关联表删除数据
|
|
|
roleFunctionDataService.delete(roleVO.getId(), null, null, null);
|
|
@@ -109,11 +108,14 @@ public class RoleService extends ServiceImpl<RoleMapper, Role> {
|
|
|
//根据角色id查询角色,获得角色类型 (用于判断是否为管理员:1为系统管理员 2为租户管理员 0为普通角色)
|
|
|
Integer roleType = this.getRoleType(roleVO.getId());
|
|
|
//若为超级管理员或租户管理员则无法修改,返回错误提示
|
|
|
-// if (roleType.equals(1)) {
|
|
|
-// return Response.error("无法修改系统管理员");
|
|
|
-// } else if (roleType.equals(2)) {
|
|
|
-// return Response.error("无法修改租户管理员");
|
|
|
-// }
|
|
|
+ PersonnelVO personnelVO =cacheUtils.getLoginUser(loginUtils.getId());
|
|
|
+ if(personnelVO.getRoleType()!=1) {
|
|
|
+ if (roleType.equals(1)) {
|
|
|
+ return Response.error("无法修改系统管理员");
|
|
|
+ } else if (roleType.equals(2)) {
|
|
|
+ return Response.error("无法修改租户管理员");
|
|
|
+ }
|
|
|
+ }
|
|
|
Role role = new Role();
|
|
|
role
|
|
|
.setRoleDescription(roleVO.getRemark())
|