【8.0】【role】完善绑定权限增加范围筛选,增加绑定权限的筛选

pull/57/head
fengshuonan 2023-09-08 23:11:23 +08:00
parent 3fe5356431
commit f2b9f27584
3 changed files with 26 additions and 4 deletions

View File

@ -6,6 +6,7 @@ import cn.stylefeng.roses.kernel.sys.modular.menu.pojo.request.SysMenuOptionsReq
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
import java.util.Set;
/**
*
@ -81,6 +82,17 @@ public interface SysMenuOptionsService extends IService<SysMenuOptions> {
*/
List<SysMenuOptions> getTotalMenuOptionsList();
/**
* id
* <p>
*
*
* @param roleLimitMenuIdsAndOptionIds idid
* @author fengshuonan
* @since 2023/6/18 20:37
*/
List<SysMenuOptions> getTotalMenuOptionsList(Set<Long> roleLimitMenuIdsAndOptionIds);
/**
* id
*

View File

@ -117,8 +117,17 @@ public class SysMenuOptionsServiceImpl extends ServiceImpl<SysMenuOptionsMapper,
@Override
public List<SysMenuOptions> getTotalMenuOptionsList() {
return this.getTotalMenuOptionsList(null);
}
@Override
public List<SysMenuOptions> getTotalMenuOptionsList(Set<Long> roleLimitMenuIdsAndOptionIds) {
LambdaQueryWrapper<SysMenuOptions> sysMenuOptionsLambdaQueryWrapper = new LambdaQueryWrapper<>();
sysMenuOptionsLambdaQueryWrapper.select(SysMenuOptions::getMenuOptionId, SysMenuOptions::getMenuId, SysMenuOptions::getAppId, SysMenuOptions::getOptionName);
sysMenuOptionsLambdaQueryWrapper.select(SysMenuOptions::getMenuOptionId, SysMenuOptions::getMenuId, SysMenuOptions::getAppId,
SysMenuOptions::getOptionName);
if (ObjectUtil.isNotEmpty(roleLimitMenuIdsAndOptionIds)) {
sysMenuOptionsLambdaQueryWrapper.in(SysMenuOptions::getMenuOptionId, roleLimitMenuIdsAndOptionIds);
}
return this.list(sysMenuOptionsLambdaQueryWrapper);
}

View File

@ -21,6 +21,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
/**
*
@ -52,7 +53,7 @@ public class RoleBindTotalImpl implements RoleAssignOperateAction, RoleBindLimit
}
@Override
public void doOperateAction(RoleBindPermissionRequest roleBindPermissionRequest) {
public void doOperateAction(RoleBindPermissionRequest roleBindPermissionRequest, Set<Long> roleLimitMenuIdsAndOptionIds) {
Long roleId = roleBindPermissionRequest.getRoleId();
@ -69,7 +70,7 @@ public class RoleBindTotalImpl implements RoleAssignOperateAction, RoleBindLimit
if (roleBindPermissionRequest.getChecked()) {
// 获取所有的菜单
List<SysMenu> totalMenus = this.sysMenuService.getTotalMenus();
List<SysMenu> totalMenus = this.sysMenuService.getTotalMenus(roleLimitMenuIdsAndOptionIds);
// 绑定角色的所有菜单
List<SysRoleMenu> sysRoleMenuList = new ArrayList<>();
@ -83,7 +84,7 @@ public class RoleBindTotalImpl implements RoleAssignOperateAction, RoleBindLimit
this.sysRoleMenuService.saveBatch(sysRoleMenuList);
// 获取所有的功能
List<SysMenuOptions> sysMenuOptionsList = sysMenuOptionsService.getTotalMenuOptionsList();
List<SysMenuOptions> sysMenuOptionsList = sysMenuOptionsService.getTotalMenuOptionsList(roleLimitMenuIdsAndOptionIds);
// 绑定角色的所有功能
List<SysRoleMenuOptions> sysRoleMenuOptionsList = new ArrayList<>();