mirror of https://gitee.com/stylefeng/roses
【7.2.5】【user】更新添加管理员默认绑定所有权限
parent
8a46ec2b5d
commit
9e1affc841
|
@ -153,4 +153,12 @@ public interface RoleServiceApi {
|
||||||
*/
|
*/
|
||||||
void del(SysRoleRequest sysRoleRequest);
|
void del(SysRoleRequest sysRoleRequest);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 角色绑定所有资源
|
||||||
|
*
|
||||||
|
* @author fengshuonan
|
||||||
|
* @date 2022/9/29 14:05
|
||||||
|
*/
|
||||||
|
void grantResourceV2GrantAll(SysRoleRequest sysRoleRequest);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -150,7 +150,7 @@ public class SysRoleAuthController {
|
||||||
*/
|
*/
|
||||||
@PostResource(name = "角色绑定所有接口数据", path = "/sysRole/grantResourceV2/grantAll")
|
@PostResource(name = "角色绑定所有接口数据", path = "/sysRole/grantResourceV2/grantAll")
|
||||||
public ResponseData<?> grantResourceV2GrantAll(@RequestBody @Validated(SysRoleRequest.grantAll.class) SysRoleRequest sysRoleRequest) {
|
public ResponseData<?> grantResourceV2GrantAll(@RequestBody @Validated(SysRoleRequest.grantAll.class) SysRoleRequest sysRoleRequest) {
|
||||||
sysRoleResourceService.grantResourceV2GrantAll(sysRoleRequest);
|
this.sysRoleService.grantResourceV2GrantAll(sysRoleRequest);
|
||||||
return new SuccessResponseData<>();
|
return new SuccessResponseData<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -82,11 +82,11 @@ public interface SysRoleResourceService extends IService<SysRoleResource> {
|
||||||
void quickSaveAll(List<SysRoleResource> sysRoleResourceList);
|
void quickSaveAll(List<SysRoleResource> sysRoleResourceList);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 角色绑定所有资源
|
* 批量保存角色和资源的绑定
|
||||||
*
|
*
|
||||||
* @author fengshuonan
|
* @author fengshuonan
|
||||||
* @date 2022/9/29 14:05
|
* @date 2022/9/29 14:34
|
||||||
*/
|
*/
|
||||||
void grantResourceV2GrantAll(SysRoleRequest sysRoleRequest);
|
void batchSaveResCodes(Long roleId, List<String> totalResourceCode);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,8 +30,6 @@ import cn.stylefeng.roses.kernel.cache.api.CacheOperatorApi;
|
||||||
import cn.stylefeng.roses.kernel.db.api.context.DbOperatorContext;
|
import cn.stylefeng.roses.kernel.db.api.context.DbOperatorContext;
|
||||||
import cn.stylefeng.roses.kernel.rule.constants.RuleConstants;
|
import cn.stylefeng.roses.kernel.rule.constants.RuleConstants;
|
||||||
import cn.stylefeng.roses.kernel.rule.enums.DbTypeEnum;
|
import cn.stylefeng.roses.kernel.rule.enums.DbTypeEnum;
|
||||||
import cn.stylefeng.roses.kernel.rule.enums.ResBizTypeEnum;
|
|
||||||
import cn.stylefeng.roses.kernel.system.api.ResourceServiceApi;
|
|
||||||
import cn.stylefeng.roses.kernel.system.api.pojo.role.request.SysRoleRequest;
|
import cn.stylefeng.roses.kernel.system.api.pojo.role.request.SysRoleRequest;
|
||||||
import cn.stylefeng.roses.kernel.system.modular.role.entity.SysRoleResource;
|
import cn.stylefeng.roses.kernel.system.modular.role.entity.SysRoleResource;
|
||||||
import cn.stylefeng.roses.kernel.system.modular.role.mapper.SysRoleResourceMapper;
|
import cn.stylefeng.roses.kernel.system.modular.role.mapper.SysRoleResourceMapper;
|
||||||
|
@ -59,9 +57,6 @@ public class SysRoleResourceServiceImpl extends ServiceImpl<SysRoleResourceMappe
|
||||||
@Resource(name = "roleResourceCacheApi")
|
@Resource(name = "roleResourceCacheApi")
|
||||||
private CacheOperatorApi<List<String>> roleResourceCacheApi;
|
private CacheOperatorApi<List<String>> roleResourceCacheApi;
|
||||||
|
|
||||||
@Resource
|
|
||||||
private ResourceServiceApi resourceServiceApi;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void grantResource(SysRoleRequest sysRoleRequest) {
|
public void grantResource(SysRoleRequest sysRoleRequest) {
|
||||||
|
@ -157,33 +152,14 @@ public class SysRoleResourceServiceImpl extends ServiceImpl<SysRoleResourceMappe
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void grantResourceV2GrantAll(SysRoleRequest sysRoleRequest) {
|
|
||||||
|
|
||||||
// 删除角色绑定的所有资源
|
|
||||||
this.deleteRoleResourceListByRoleId(sysRoleRequest.getRoleId());
|
|
||||||
|
|
||||||
// 获取是全部选中,还是全部取消,如果是全部取消,则直接返回
|
|
||||||
if (!sysRoleRequest.getTotalSelectFlag()) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 如果是全部选中,则查询一共有多少资源,将角色赋予全部资源
|
|
||||||
ResBizTypeEnum resBizTypeEnum = null;
|
|
||||||
if (ObjectUtil.isNotEmpty(sysRoleRequest.getResourceBizType())) {
|
|
||||||
resBizTypeEnum = ResBizTypeEnum.DEFAULT.parseToEnum(sysRoleRequest.getResourceBizType().toString());
|
|
||||||
}
|
|
||||||
List<String> totalResourceCode = resourceServiceApi.getTotalResourceCode(resBizTypeEnum);
|
|
||||||
this.batchSaveResCodes(sysRoleRequest.getRoleId(), totalResourceCode);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 批量保存角色和资源的绑定
|
* 批量保存角色和资源的绑定
|
||||||
*
|
*
|
||||||
* @author fengshuonan
|
* @author fengshuonan
|
||||||
* @date 2022/9/29 14:34
|
* @date 2022/9/29 14:34
|
||||||
*/
|
*/
|
||||||
private void batchSaveResCodes(Long roleId, List<String> totalResourceCode) {
|
@Override
|
||||||
|
public void batchSaveResCodes(Long roleId, List<String> totalResourceCode) {
|
||||||
ArrayList<SysRoleResource> sysRoleResourceList = new ArrayList<>();
|
ArrayList<SysRoleResource> sysRoleResourceList = new ArrayList<>();
|
||||||
|
|
||||||
if (ObjectUtil.isNotEmpty(totalResourceCode)) {
|
if (ObjectUtil.isNotEmpty(totalResourceCode)) {
|
||||||
|
|
|
@ -37,11 +37,13 @@ import cn.stylefeng.roses.kernel.db.api.factory.PageFactory;
|
||||||
import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory;
|
import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory;
|
||||||
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
|
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
|
||||||
import cn.stylefeng.roses.kernel.rule.constants.SymbolConstant;
|
import cn.stylefeng.roses.kernel.rule.constants.SymbolConstant;
|
||||||
|
import cn.stylefeng.roses.kernel.rule.enums.ResBizTypeEnum;
|
||||||
import cn.stylefeng.roses.kernel.rule.enums.StatusEnum;
|
import cn.stylefeng.roses.kernel.rule.enums.StatusEnum;
|
||||||
import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum;
|
import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum;
|
||||||
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
|
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
|
||||||
import cn.stylefeng.roses.kernel.rule.pojo.dict.SimpleDict;
|
import cn.stylefeng.roses.kernel.rule.pojo.dict.SimpleDict;
|
||||||
import cn.stylefeng.roses.kernel.system.api.MenuServiceApi;
|
import cn.stylefeng.roses.kernel.system.api.MenuServiceApi;
|
||||||
|
import cn.stylefeng.roses.kernel.system.api.ResourceServiceApi;
|
||||||
import cn.stylefeng.roses.kernel.system.api.UserServiceApi;
|
import cn.stylefeng.roses.kernel.system.api.UserServiceApi;
|
||||||
import cn.stylefeng.roses.kernel.system.api.constants.SystemConstants;
|
import cn.stylefeng.roses.kernel.system.api.constants.SystemConstants;
|
||||||
import cn.stylefeng.roses.kernel.system.api.enums.AntdvFrontTypeEnum;
|
import cn.stylefeng.roses.kernel.system.api.enums.AntdvFrontTypeEnum;
|
||||||
|
@ -112,6 +114,9 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
|
||||||
@Resource(name = "roleDataScopeCacheApi")
|
@Resource(name = "roleDataScopeCacheApi")
|
||||||
private CacheOperatorApi<List<Long>> roleDataScopeCacheApi;
|
private CacheOperatorApi<List<Long>> roleDataScopeCacheApi;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private ResourceServiceApi resourceServiceApi;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void add(SysRoleRequest sysRoleRequest) {
|
public void add(SysRoleRequest sysRoleRequest) {
|
||||||
|
|
||||||
|
@ -165,6 +170,26 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
|
||||||
roleDataScopeCacheApi.remove(String.valueOf(sysRoleRequest.getRoleId()));
|
roleDataScopeCacheApi.remove(String.valueOf(sysRoleRequest.getRoleId()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void grantResourceV2GrantAll(SysRoleRequest sysRoleRequest) {
|
||||||
|
|
||||||
|
// 删除角色绑定的所有资源
|
||||||
|
this.sysRoleResourceService.deleteRoleResourceListByRoleId(sysRoleRequest.getRoleId());
|
||||||
|
|
||||||
|
// 获取是全部选中,还是全部取消,如果是全部取消,则直接返回
|
||||||
|
if (!sysRoleRequest.getTotalSelectFlag()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 如果是全部选中,则查询一共有多少资源,将角色赋予全部资源
|
||||||
|
ResBizTypeEnum resBizTypeEnum = null;
|
||||||
|
if (ObjectUtil.isNotEmpty(sysRoleRequest.getResourceBizType())) {
|
||||||
|
resBizTypeEnum = ResBizTypeEnum.DEFAULT.parseToEnum(sysRoleRequest.getResourceBizType().toString());
|
||||||
|
}
|
||||||
|
List<String> totalResourceCode = resourceServiceApi.getTotalResourceCode(resBizTypeEnum);
|
||||||
|
this.sysRoleResourceService.batchSaveResCodes(sysRoleRequest.getRoleId(), totalResourceCode);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void edit(SysRoleRequest sysRoleRequest) {
|
public void edit(SysRoleRequest sysRoleRequest) {
|
||||||
|
@ -206,7 +231,7 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
|
||||||
LambdaQueryWrapper<SysRole> wrapper = createWrapper(sysRoleRequest);
|
LambdaQueryWrapper<SysRole> wrapper = createWrapper(sysRoleRequest);
|
||||||
|
|
||||||
// 不查询管理员类型的
|
// 不查询管理员类型的
|
||||||
wrapper.eq(SysRole::getRoleSystemFlag, YesOrNotEnum.N.getCode());
|
wrapper.eq(SysRole::getAdminFlag, YesOrNotEnum.N.getCode());
|
||||||
|
|
||||||
Page<SysRole> sysRolePage = this.page(PageFactory.defaultPage(), wrapper);
|
Page<SysRole> sysRolePage = this.page(PageFactory.defaultPage(), wrapper);
|
||||||
return PageResultFactory.createPageResult(sysRolePage);
|
return PageResultFactory.createPageResult(sysRolePage);
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package cn.stylefeng.roses.kernel.system.modular.user.service.impl;
|
package cn.stylefeng.roses.kernel.system.modular.user.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import cn.stylefeng.roses.kernel.rule.enums.ResBizTypeEnum;
|
||||||
import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum;
|
import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum;
|
||||||
import cn.stylefeng.roses.kernel.system.api.RoleServiceApi;
|
import cn.stylefeng.roses.kernel.system.api.RoleServiceApi;
|
||||||
import cn.stylefeng.roses.kernel.system.api.pojo.role.dto.SysRoleDTO;
|
import cn.stylefeng.roses.kernel.system.api.pojo.role.dto.SysRoleDTO;
|
||||||
|
@ -165,6 +166,13 @@ public class SysUserAdminServiceImpl implements SysUserAdminService {
|
||||||
temp.setRoleId(sysRoleRequest.getRoleId());
|
temp.setRoleId(sysRoleRequest.getRoleId());
|
||||||
temp.setTotalSelectFlag(true);
|
temp.setTotalSelectFlag(true);
|
||||||
this.roleServiceApi.grantButtonGrantAll(temp);
|
this.roleServiceApi.grantButtonGrantAll(temp);
|
||||||
|
|
||||||
|
// 添加用户默认的所有后端接口权限
|
||||||
|
SysRoleRequest tempResRequest = new SysRoleRequest();
|
||||||
|
tempResRequest.setRoleId(sysRoleRequest.getRoleId());
|
||||||
|
tempResRequest.setTotalSelectFlag(true);
|
||||||
|
tempResRequest.setResourceBizType(ResBizTypeEnum.SYSTEM.getCode());
|
||||||
|
this.roleServiceApi.grantResourceV2GrantAll(tempResRequest);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue