All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cn.stylefeng.roses.kernel.sys.modular.role.controller.PermissionAssignController Maven / Gradle / Ivy

There is a newer version: 8.1.7
Show newest version
package cn.stylefeng.roses.kernel.sys.modular.role.controller;

import cn.stylefeng.roses.kernel.rule.annotation.BizLog;
import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest;
import cn.stylefeng.roses.kernel.rule.pojo.response.ResponseData;
import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData;
import cn.stylefeng.roses.kernel.scanner.api.annotation.ApiResource;
import cn.stylefeng.roses.kernel.scanner.api.annotation.GetResource;
import cn.stylefeng.roses.kernel.scanner.api.annotation.PostResource;
import cn.stylefeng.roses.kernel.sys.api.constants.PermissionCodeConstants;
import cn.stylefeng.roses.kernel.sys.modular.role.entity.SysRole;
import cn.stylefeng.roses.kernel.sys.modular.role.pojo.request.RoleBindDataScopeRequest;
import cn.stylefeng.roses.kernel.sys.modular.role.pojo.request.RoleBindPermissionRequest;
import cn.stylefeng.roses.kernel.sys.modular.role.pojo.request.SysRoleRequest;
import cn.stylefeng.roses.kernel.sys.modular.role.pojo.response.RoleBindDataScopeResponse;
import cn.stylefeng.roses.kernel.sys.modular.role.pojo.response.RoleBindPermissionResponse;
import cn.stylefeng.roses.kernel.sys.modular.role.service.PermissionAssignService;
import cn.stylefeng.roses.kernel.sys.modular.role.service.SysRoleDataScopeService;
import cn.stylefeng.roses.kernel.sys.modular.role.service.SysRoleService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import java.util.List;

/**
 * 权限分配界面的接口
 *
 * @author fengshuonan
 * @since 2023/6/12 21:22
 */
@RestController
@ApiResource(name = "权限分配界面的接口")
public class PermissionAssignController {

    @Resource
    private SysRoleService sysRoleService;

    @Resource
    private PermissionAssignService permissionAssignService;

    @Resource
    private SysRoleDataScopeService sysRoleDataScopeService;

    /**
     * 获取所有角色列表
     * 

* 用在权限分配界面,左侧的角色列表 * * @author fengshuonan * @since 2023/6/12 21:23 */ @GetResource(name = "获取所有角色列表", path = "/permission/getRoleList") public ResponseData> getRoleList(SysRoleRequest sysRoleRequest) { return new SuccessResponseData<>(sysRoleService.permissionGetRoleList(sysRoleRequest)); } /** * 获取角色绑定的权限列表 *

* 角色绑定的权限列表返回的是一个树形结构: * 第一层是应用,第二层是应用下的菜单,第3层是菜单下的菜单功能 * * @author fengshuonan * @since 2023/6/12 21:23 */ @GetResource(name = "获取角色绑定的权限列表", path = "/permission/getRoleBindPermission", requiredPermission = true, requirePermissionCode = PermissionCodeConstants.CHANGE_ROLE_PERMISSION) public ResponseData getRoleBindPermission( @Validated(BaseRequest.detail.class) RoleBindPermissionRequest roleBindPermissionRequest) { RoleBindPermissionResponse roleBindPermission = permissionAssignService.getRoleBindPermission(roleBindPermissionRequest); return new SuccessResponseData<>(roleBindPermission); } /** * 更新角色绑定权限 *

* 每点击一个权限直接调用一次接口,实时保存 * * @author fengshuonan * @since 2023/6/13 19:45 */ @PostResource(name = "更新角色绑定权限", path = "/permission/updateRoleBindPermission", requiredPermission = true, requirePermissionCode = PermissionCodeConstants.CHANGE_ROLE_PERMISSION) @BizLog(logTypeCode = PermissionCodeConstants.CHANGE_ROLE_PERMISSION) public ResponseData updateRoleBindPermission(@RequestBody @Validated(RoleBindPermissionRequest.roleBindPermission.class) RoleBindPermissionRequest roleBindPermissionRequest) { permissionAssignService.updateRoleBindPermission(roleBindPermissionRequest); return new SuccessResponseData<>(); } /** * 获取角色的数据权限详情 * * @author fengshuonan * @since 2023/7/16 23:15 */ @GetResource(name = "获取角色的数据权限详情", path = "/permission/getRoleBindDataScope", requiredPermission = true, requirePermissionCode = PermissionCodeConstants.CHANGE_ROLE_DATA_SCOPE) public ResponseData getRoleBindDataScope( @Validated(BaseRequest.detail.class) RoleBindDataScopeRequest roleBindDataScopeRequest) { RoleBindDataScopeResponse roleBindDataScopeResponse = sysRoleDataScopeService.getRoleBindDataScope(roleBindDataScopeRequest); return new SuccessResponseData<>(roleBindDataScopeResponse); } /** * 角色绑定数据权限的配置 * * @author fengshuonan * @since 2023/7/16 23:40 */ @PostResource(name = "角色绑定数据权限的配置", path = "/permission/updateRoleBindDataScope", requiredPermission = true, requirePermissionCode = PermissionCodeConstants.CHANGE_ROLE_DATA_SCOPE) @BizLog(logTypeCode = PermissionCodeConstants.CHANGE_ROLE_DATA_SCOPE) public ResponseData updateRoleBindDataScope( @RequestBody @Validated(RoleBindDataScopeRequest.roleBindDataScope.class) RoleBindDataScopeRequest roleBindDataScopeRequest) { sysRoleDataScopeService.updateRoleBindDataScope(roleBindDataScopeRequest); return new SuccessResponseData<>(); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy