mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-10-31 10:18:42 +08:00 
			
		
		
		
	1. RoleDO 字段的调整和优化
2. 初始化 Role 模块相关接口的 VO 类
This commit is contained in:
		| @@ -0,0 +1,28 @@ | ||||
| package cn.iocoder.dashboard.framework.security.core.enums; | ||||
|  | ||||
| import lombok.AllArgsConstructor; | ||||
| import lombok.Getter; | ||||
|  | ||||
| /** | ||||
|  * 数据范围枚举类 | ||||
|  * | ||||
|  * 用于实现数据级别的权限 | ||||
|  * | ||||
|  * @author 芋道源码 | ||||
|  */ | ||||
| @Getter | ||||
| @AllArgsConstructor | ||||
| public enum DataScopeEnum { | ||||
|  | ||||
|     ALL(1), // 全部数据权限 | ||||
|     CUSTOM(2), // 自定数据权限 | ||||
|     DEPT(3), // 部门数据权限 | ||||
|     DEPT_AND_CHILD(4), // 部门及以下数据权限 | ||||
|     SELF(5); // 仅本人数据权限 | ||||
|  | ||||
|     /** | ||||
|      * 范围 | ||||
|      */ | ||||
|     private final Integer score; | ||||
|  | ||||
| } | ||||
| @@ -1,10 +1,10 @@ | ||||
| package cn.iocoder.dashboard.modules.system.controller.permission; | ||||
|  | ||||
| import cn.iocoder.dashboard.common.pojo.CommonResult; | ||||
| import cn.iocoder.dashboard.modules.system.controller.permission.vo.SysMenuCreateReqVO; | ||||
| import cn.iocoder.dashboard.modules.system.controller.permission.vo.SysMenuListReqVO; | ||||
| import cn.iocoder.dashboard.modules.system.controller.permission.vo.SysMenuRespVO; | ||||
| import cn.iocoder.dashboard.modules.system.controller.permission.vo.SysMenuUpdateReqVO; | ||||
| import cn.iocoder.dashboard.modules.system.controller.permission.vo.menu.SysMenuCreateReqVO; | ||||
| import cn.iocoder.dashboard.modules.system.controller.permission.vo.menu.SysMenuListReqVO; | ||||
| import cn.iocoder.dashboard.modules.system.controller.permission.vo.menu.SysMenuRespVO; | ||||
| import cn.iocoder.dashboard.modules.system.controller.permission.vo.menu.SysMenuUpdateReqVO; | ||||
| import cn.iocoder.dashboard.modules.system.convert.permission.SysMenuConvert; | ||||
| import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.permission.SysMenuDO; | ||||
| import cn.iocoder.dashboard.modules.system.service.permission.SysMenuService; | ||||
|   | ||||
| @@ -0,0 +1,142 @@ | ||||
| package cn.iocoder.dashboard.modules.system.controller.permission; | ||||
|  | ||||
| import io.swagger.annotations.Api; | ||||
| import org.springframework.web.bind.annotation.RequestMapping; | ||||
| import org.springframework.web.bind.annotation.RestController; | ||||
|  | ||||
| @Api(tags = "角色 API") | ||||
| @RestController | ||||
| @RequestMapping("/system/role") | ||||
| public class SysRoleController { | ||||
|  | ||||
| //    @PreAuthorize("@ss.hasPermi('system:role:list')") | ||||
| //    @GetMapping("/list") | ||||
| //    public TableDataInfo list(SysRole role) | ||||
| //    { | ||||
| //        startPage(); | ||||
| //        List<SysRole> list = roleService.selectRoleList(role); | ||||
| //        return getDataTable(list); | ||||
| //    } | ||||
| // | ||||
| //    @Log(title = "角色管理", businessType = BusinessType.EXPORT) | ||||
| //    @PreAuthorize("@ss.hasPermi('system:role:export')") | ||||
| //    @GetMapping("/export") | ||||
| //    public AjaxResult export(SysRole role) | ||||
| //    { | ||||
| //        List<SysRole> list = roleService.selectRoleList(role); | ||||
| //        ExcelUtil<SysRole> util = new ExcelUtil<SysRole>(SysRole.class); | ||||
| //        return util.exportExcel(list, "角色数据"); | ||||
| //    } | ||||
| // | ||||
| //    /** | ||||
| //     * 根据角色编号获取详细信息 | ||||
| //     */ | ||||
| //    @PreAuthorize("@ss.hasPermi('system:role:query')") | ||||
| //    @GetMapping(value = "/{roleId}") | ||||
| //    public AjaxResult getInfo(@PathVariable Long roleId) | ||||
| //    { | ||||
| //        return AjaxResult.success(roleService.selectRoleById(roleId)); | ||||
| //    } | ||||
| // | ||||
| //    /** | ||||
| //     * 新增角色 | ||||
| //     */ | ||||
| //    @PreAuthorize("@ss.hasPermi('system:role:add')") | ||||
| //    @Log(title = "角色管理", businessType = BusinessType.INSERT) | ||||
| //    @PostMapping | ||||
| //    public AjaxResult add(@Validated @RequestBody SysRole role) | ||||
| //    { | ||||
| //        if (UserConstants.NOT_UNIQUE.equals(roleService.checkRoleNameUnique(role))) | ||||
| //        { | ||||
| //            return AjaxResult.error("新增角色'" + role.getRoleName() + "'失败,角色名称已存在"); | ||||
| //        } | ||||
| //        else if (UserConstants.NOT_UNIQUE.equals(roleService.checkRoleKeyUnique(role))) | ||||
| //        { | ||||
| //            return AjaxResult.error("新增角色'" + role.getRoleName() + "'失败,角色权限已存在"); | ||||
| //        } | ||||
| //        role.setCreateBy(SecurityUtils.getUsername()); | ||||
| //        return toAjax(roleService.insertRole(role)); | ||||
| // | ||||
| //    } | ||||
| // | ||||
| //    /** | ||||
| //     * 修改保存角色 | ||||
| //     */ | ||||
| //    @PreAuthorize("@ss.hasPermi('system:role:edit')") | ||||
| //    @Log(title = "角色管理", businessType = BusinessType.UPDATE) | ||||
| //    @PutMapping | ||||
| //    public AjaxResult edit(@Validated @RequestBody SysRole role) | ||||
| //    { | ||||
| //        roleService.checkRoleAllowed(role); | ||||
| //        if (UserConstants.NOT_UNIQUE.equals(roleService.checkRoleNameUnique(role))) | ||||
| //        { | ||||
| //            return AjaxResult.error("修改角色'" + role.getRoleName() + "'失败,角色名称已存在"); | ||||
| //        } | ||||
| //        else if (UserConstants.NOT_UNIQUE.equals(roleService.checkRoleKeyUnique(role))) | ||||
| //        { | ||||
| //            return AjaxResult.error("修改角色'" + role.getRoleName() + "'失败,角色权限已存在"); | ||||
| //        } | ||||
| //        role.setUpdateBy(SecurityUtils.getUsername()); | ||||
| // | ||||
| //        if (roleService.updateRole(role) > 0) | ||||
| //        { | ||||
| //            // 更新缓存用户权限 | ||||
| //            LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest()); | ||||
| //            if (StringUtils.isNotNull(loginUser.getUser()) && !loginUser.getUser().isAdmin()) | ||||
| //            { | ||||
| //                loginUser.setPermissions(permissionService.getMenuPermission(loginUser.getUser())); | ||||
| //                loginUser.setUser(userService.selectUserByUserName(loginUser.getUser().getUserName())); | ||||
| //                tokenService.setLoginUser(loginUser); | ||||
| //            } | ||||
| //            return AjaxResult.success(); | ||||
| //        } | ||||
| //        return AjaxResult.error("修改角色'" + role.getRoleName() + "'失败,请联系管理员"); | ||||
| //    } | ||||
| // | ||||
| //    /** | ||||
| //     * 修改保存数据权限 | ||||
| //     */ | ||||
| //    @PreAuthorize("@ss.hasPermi('system:role:edit')") | ||||
| //    @Log(title = "角色管理", businessType = BusinessType.UPDATE) | ||||
| //    @PutMapping("/dataScope") | ||||
| //    public AjaxResult dataScope(@RequestBody SysRole role) | ||||
| //    { | ||||
| //        roleService.checkRoleAllowed(role); | ||||
| //        return toAjax(roleService.authDataScope(role)); | ||||
| //    } | ||||
| // | ||||
| //    /** | ||||
| //     * 状态修改 | ||||
| //     */ | ||||
| //    @PreAuthorize("@ss.hasPermi('system:role:edit')") | ||||
| //    @Log(title = "角色管理", businessType = BusinessType.UPDATE) | ||||
| //    @PutMapping("/changeStatus") | ||||
| //    public AjaxResult changeStatus(@RequestBody SysRole role) | ||||
| //    { | ||||
| //        roleService.checkRoleAllowed(role); | ||||
| //        role.setUpdateBy(SecurityUtils.getUsername()); | ||||
| //        return toAjax(roleService.updateRoleStatus(role)); | ||||
| //    } | ||||
| // | ||||
| //    /** | ||||
| //     * 删除角色 | ||||
| //     */ | ||||
| //    @PreAuthorize("@ss.hasPermi('system:role:remove')") | ||||
| //    @Log(title = "角色管理", businessType = BusinessType.DELETE) | ||||
| //    @DeleteMapping("/{roleIds}") | ||||
| //    public AjaxResult remove(@PathVariable Long[] roleIds) | ||||
| //    { | ||||
| //        return toAjax(roleService.deleteRoleByIds(roleIds)); | ||||
| //    } | ||||
| // | ||||
| //    /** | ||||
| //     * 获取角色选择框列表 | ||||
| //     */ | ||||
| //    @PreAuthorize("@ss.hasPermi('system:role:query')") | ||||
| //    @GetMapping("/optionselect") | ||||
| //    public AjaxResult optionselect() | ||||
| //    { | ||||
| //        return AjaxResult.success(roleService.selectRoleAll()); | ||||
| //    } | ||||
|  | ||||
| } | ||||
| @@ -1,4 +1,4 @@ | ||||
| package cn.iocoder.dashboard.modules.system.controller.permission.vo; | ||||
| package cn.iocoder.dashboard.modules.system.controller.permission.vo.menu; | ||||
| 
 | ||||
| import io.swagger.annotations.ApiModelProperty; | ||||
| import lombok.Data; | ||||
| @@ -1,4 +1,4 @@ | ||||
| package cn.iocoder.dashboard.modules.system.controller.permission.vo; | ||||
| package cn.iocoder.dashboard.modules.system.controller.permission.vo.menu; | ||||
| 
 | ||||
| import io.swagger.annotations.ApiModel; | ||||
| import lombok.*; | ||||
| @@ -1,4 +1,4 @@ | ||||
| package cn.iocoder.dashboard.modules.system.controller.permission.vo; | ||||
| package cn.iocoder.dashboard.modules.system.controller.permission.vo.menu; | ||||
| 
 | ||||
| import io.swagger.annotations.ApiModel; | ||||
| import io.swagger.annotations.ApiModelProperty; | ||||
| @@ -1,4 +1,4 @@ | ||||
| package cn.iocoder.dashboard.modules.system.controller.permission.vo; | ||||
| package cn.iocoder.dashboard.modules.system.controller.permission.vo.menu; | ||||
| 
 | ||||
| import io.swagger.annotations.ApiModel; | ||||
| import io.swagger.annotations.ApiModelProperty; | ||||
| @@ -1,4 +1,4 @@ | ||||
| package cn.iocoder.dashboard.modules.system.controller.permission.vo; | ||||
| package cn.iocoder.dashboard.modules.system.controller.permission.vo.menu; | ||||
| 
 | ||||
| import io.swagger.annotations.ApiModel; | ||||
| import io.swagger.annotations.ApiModelProperty; | ||||
| @@ -0,0 +1,13 @@ | ||||
| package cn.iocoder.dashboard.modules.system.controller.permission.vo.role; | ||||
|  | ||||
| import cn.iocoder.dashboard.common.pojo.PageParam; | ||||
| import io.swagger.annotations.ApiModel; | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
|  | ||||
| @ApiModel("角色分页 Request VO") | ||||
| @Data | ||||
| @EqualsAndHashCode(callSuper = true) | ||||
| public class SysMenuPageReqVO extends PageParam { | ||||
|  | ||||
| } | ||||
| @@ -0,0 +1,33 @@ | ||||
| package cn.iocoder.dashboard.modules.system.controller.permission.vo.role; | ||||
|  | ||||
| import io.swagger.annotations.ApiModelProperty; | ||||
| import lombok.Data; | ||||
|  | ||||
| import javax.validation.constraints.NotBlank; | ||||
| import javax.validation.constraints.Size; | ||||
|  | ||||
| /** | ||||
|  * 角色 Base VO,提供给添加、修改、详细的子 VO 使用 | ||||
|  * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 | ||||
|  */ | ||||
| @Data | ||||
| public class SysRoleBaseVO { | ||||
|  | ||||
|     @ApiModelProperty(value = "角色名称", required = true, example = "管理员") | ||||
|     @NotBlank(message = "角色名称不能为空") | ||||
|     @Size(max = 30, message = "角色名称长度不能超过30个字符") | ||||
|     private String name; | ||||
|  | ||||
|     @NotBlank(message = "角色标志不能为空") | ||||
|     @Size(max = 100, message = "角色标志长度不能超过100个字符") | ||||
|     @ApiModelProperty(value = "角色编码", required = true, example = "ADMIN") | ||||
|     private String code; | ||||
|  | ||||
|     @ApiModelProperty(value = "显示顺序不能为空", required = true, example = "1024") | ||||
|     @NotBlank(message = "显示顺序不能为空") | ||||
|     private String sort; | ||||
|  | ||||
|     @ApiModelProperty(value = "角色类型", required = true, example = "1", notes = "见 RoleTypeEnum 枚举") | ||||
|     private Integer type; | ||||
|  | ||||
| } | ||||
| @@ -0,0 +1,12 @@ | ||||
| package cn.iocoder.dashboard.modules.system.controller.permission.vo.role; | ||||
|  | ||||
| import io.swagger.annotations.ApiModel; | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
|  | ||||
| @ApiModel("角色创建 Request VO") | ||||
| @Data | ||||
| @EqualsAndHashCode(callSuper = true) | ||||
| public class SysRoleCreateReqVO extends SysRoleBaseVO { | ||||
|  | ||||
| } | ||||
| @@ -0,0 +1,30 @@ | ||||
| package cn.iocoder.dashboard.modules.system.controller.permission.vo.role; | ||||
|  | ||||
| import cn.iocoder.dashboard.framework.excel.Excel; | ||||
| import lombok.Data; | ||||
|  | ||||
| /** | ||||
|  * 角色 Excel 导出响应 VO | ||||
|  */ | ||||
| @Data | ||||
| public class SysRoleExcelRespVO { | ||||
|  | ||||
|     @Excel(name = "角色序号", cellType = Excel.ColumnType.NUMERIC) | ||||
|     private Long id; | ||||
|  | ||||
|     @Excel(name = "角色名称") | ||||
|     private String name; | ||||
|  | ||||
|     @Excel(name = "角色标志") | ||||
|     private String code; | ||||
|  | ||||
|     @Excel(name = "角色排序") | ||||
|     private Integer sort; | ||||
|  | ||||
|     @Excel(name = "数据范围", readConverterExp = "1=所有数据权限,2=自定义数据权限,3=本部门数据权限,4=本部门及以下数据权限") | ||||
|     private Integer dataScope; | ||||
|  | ||||
|     @Excel(name = "角色状态", readConverterExp = "0=正常,1=停用") | ||||
|     private String status; | ||||
|  | ||||
| } | ||||
| @@ -0,0 +1,37 @@ | ||||
| package cn.iocoder.dashboard.modules.system.controller.permission.vo.role; | ||||
|  | ||||
| import io.swagger.annotations.ApiModel; | ||||
| import io.swagger.annotations.ApiModelProperty; | ||||
| import lombok.AllArgsConstructor; | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
| import lombok.NoArgsConstructor; | ||||
|  | ||||
| import java.util.Date; | ||||
|  | ||||
| @ApiModel("角色信息 Response VO") | ||||
| @Data | ||||
| @NoArgsConstructor | ||||
| @AllArgsConstructor | ||||
| @EqualsAndHashCode(callSuper = true) | ||||
| public class SysRoleRespVO extends SysRoleBaseVO { | ||||
|  | ||||
|     @ApiModelProperty(value = "角色编号", required = true, example = "1") | ||||
|     private Integer id; | ||||
|  | ||||
|     @ApiModelProperty(value = "数据范围", required = true, example = "1", notes = "参见 DataScopeEnum 枚举类") | ||||
|     private Integer dataScope; | ||||
|  | ||||
|     @ApiModelProperty(value = "状态", required = true, example = "1", notes = "参见 SysCommonStatusEnum 枚举类") | ||||
|     private Integer status; | ||||
|  | ||||
|     @ApiModelProperty(value = "角色类型", required = true, example = "1", notes = "参见 RoleTypeEnum 枚举类") | ||||
|     private Integer type; | ||||
|  | ||||
|     @ApiModelProperty(value = "备注", example = "我是一个角色") | ||||
|     private String remark; | ||||
|  | ||||
|     @ApiModelProperty(value = "创建时间", required = true, example = "时间戳格式") | ||||
|     private Date createTime; | ||||
|  | ||||
| } | ||||
| @@ -0,0 +1,19 @@ | ||||
| package cn.iocoder.dashboard.modules.system.controller.permission.vo.role; | ||||
|  | ||||
| import io.swagger.annotations.ApiModel; | ||||
| import io.swagger.annotations.ApiModelProperty; | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
|  | ||||
| import javax.validation.constraints.NotNull; | ||||
|  | ||||
| @ApiModel("角色更新 Request VO") | ||||
| @Data | ||||
| @EqualsAndHashCode(callSuper = true) | ||||
| public class SysRoleUpdateReqVO extends SysRoleBaseVO { | ||||
|  | ||||
|     @ApiModelProperty(value = "角色编号", required = true, example = "1024") | ||||
|     @NotNull(message = "角色编号不能为空") | ||||
|     private Long id; | ||||
|  | ||||
| } | ||||
| @@ -26,7 +26,7 @@ public interface SysAuthConvert { | ||||
|     default SysAuthPermissionInfoRespVO convert(SysUserDO user, List<SysRoleDO> roleList, List<SysMenuDO> menuList) { | ||||
|         return SysAuthPermissionInfoRespVO.builder() | ||||
|                 .user(SysAuthPermissionInfoRespVO.UserVO.builder().nickname(user.getNickname()).avatar(user.getAvatar()).build()) | ||||
|                 .roles(CollectionUtils.convertSet(roleList, SysRoleDO::getRoleKey)) | ||||
|                 .roles(CollectionUtils.convertSet(roleList, SysRoleDO::getCode)) | ||||
|                 .permissions(CollectionUtils.convertSet(menuList, SysMenuDO::getPermission)) | ||||
|                 .build(); | ||||
|     } | ||||
|   | ||||
| @@ -1,8 +1,8 @@ | ||||
| package cn.iocoder.dashboard.modules.system.convert.permission; | ||||
|  | ||||
| import cn.iocoder.dashboard.modules.system.controller.permission.vo.SysMenuCreateReqVO; | ||||
| import cn.iocoder.dashboard.modules.system.controller.permission.vo.SysMenuRespVO; | ||||
| import cn.iocoder.dashboard.modules.system.controller.permission.vo.SysMenuUpdateReqVO; | ||||
| import cn.iocoder.dashboard.modules.system.controller.permission.vo.menu.SysMenuCreateReqVO; | ||||
| import cn.iocoder.dashboard.modules.system.controller.permission.vo.menu.SysMenuRespVO; | ||||
| import cn.iocoder.dashboard.modules.system.controller.permission.vo.menu.SysMenuUpdateReqVO; | ||||
| import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.permission.SysMenuDO; | ||||
| import org.mapstruct.Mapper; | ||||
| import org.mapstruct.factory.Mappers; | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| package cn.iocoder.dashboard.modules.system.dal.mysql.dao.permission; | ||||
|  | ||||
| import cn.iocoder.dashboard.framework.mybatis.core.query.QueryWrapperX; | ||||
| import cn.iocoder.dashboard.modules.system.controller.permission.vo.SysMenuListReqVO; | ||||
| import cn.iocoder.dashboard.modules.system.controller.permission.vo.menu.SysMenuListReqVO; | ||||
| import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.permission.SysMenuDO; | ||||
| import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | ||||
| import com.baomidou.mybatisplus.core.mapper.BaseMapper; | ||||
|   | ||||
| @@ -1,16 +1,15 @@ | ||||
| package cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.permission; | ||||
|  | ||||
| import cn.iocoder.dashboard.framework.excel.Excel; | ||||
| import cn.iocoder.dashboard.common.enums.CommonStatusEnum; | ||||
| import cn.iocoder.dashboard.framework.mybatis.core.dataobject.BaseDO; | ||||
| import com.baomidou.mybatisplus.annotation.TableField; | ||||
| import cn.iocoder.dashboard.framework.security.core.enums.DataScopeEnum; | ||||
| import cn.iocoder.dashboard.modules.system.enums.permission.RoleCodeEnum; | ||||
| import cn.iocoder.dashboard.modules.system.enums.permission.RoleTypeEnum; | ||||
| import com.baomidou.mybatisplus.annotation.TableId; | ||||
| import com.baomidou.mybatisplus.annotation.TableName; | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
|  | ||||
| import javax.validation.constraints.NotBlank; | ||||
| import javax.validation.constraints.Size; | ||||
|  | ||||
| /** | ||||
|  * 角色 DO | ||||
|  * | ||||
| @@ -19,44 +18,49 @@ import javax.validation.constraints.Size; | ||||
| @TableName("sys_role") | ||||
| @Data | ||||
| @EqualsAndHashCode(callSuper = true) | ||||
| // TODO 芋艿:数据库的字段默认值 | ||||
| public class SysRoleDO extends BaseDO { | ||||
|  | ||||
|     /** | ||||
|      * 角色ID | ||||
|      */ | ||||
|     @TableId | ||||
|     @Excel(name = "角色序号", cellType = Excel.ColumnType.NUMERIC) | ||||
|     private Long roleId; | ||||
|  | ||||
|     private Long id; | ||||
|     /** | ||||
|      * 角色名称 | ||||
|      */ | ||||
|     @Excel(name = "角色名称") | ||||
|     @NotBlank(message = "角色名称不能为空") | ||||
|     @Size(max = 30, message = "角色名称长度不能超过30个字符") | ||||
|     private String roleName; | ||||
|  | ||||
|     private String name; | ||||
|     /** | ||||
|      * 角色权限 | ||||
|      * 角色标识 | ||||
|      * | ||||
|      * 枚举 {@link RoleCodeEnum} | ||||
|      */ | ||||
|     @Excel(name = "角色权限") | ||||
|     @NotBlank(message = "权限字符不能为空") | ||||
|     @Size(max = 100, message = "权限字符长度不能超过100个字符") | ||||
|     private String roleKey; | ||||
|  | ||||
|     private String code; | ||||
|     /** | ||||
|      * 角色排序 | ||||
|      */ | ||||
|     @Excel(name = "角色排序") | ||||
|     @NotBlank(message = "显示顺序不能为空") | ||||
|     private Integer roleSort; | ||||
|  | ||||
|     private Integer sort; | ||||
|     /** | ||||
|      * 数据范围(1:所有数据权限;2:自定义数据权限;3:本部门数据权限;4:本部门及以下数据权限) | ||||
|      * 数据范围 | ||||
|      * | ||||
|      * 枚举类 {@link DataScopeEnum} | ||||
|      */ | ||||
|     @Excel(name = "数据范围", readConverterExp = "1=所有数据权限,2=自定义数据权限,3=本部门数据权限,4=本部门及以下数据权限") | ||||
|     private String dataScope; | ||||
|     private Integer dataScope; | ||||
|     /** | ||||
|      * 角色状态 | ||||
|      * | ||||
|      * 枚举 {@link CommonStatusEnum} | ||||
|      */ | ||||
|     private String status; | ||||
|     /** | ||||
|      * 角色类型 | ||||
|      * | ||||
|      * 枚举 {@link RoleTypeEnum} | ||||
|      */ | ||||
|     private Integer type; | ||||
|     /** | ||||
|      * 备注 | ||||
|      */ | ||||
|     private String remark; | ||||
|  | ||||
|     /** | ||||
|      * 菜单树选择项是否关联显示( 0:父子不互相关联显示 1:父子互相关联显示) | ||||
| @@ -68,30 +72,4 @@ public class SysRoleDO extends BaseDO { | ||||
|      */ | ||||
|     private boolean deptCheckStrictly; | ||||
|  | ||||
|     /** | ||||
|      * 角色状态(0正常 1停用) | ||||
|      */ | ||||
|     @Excel(name = "角色状态", readConverterExp = "0=正常,1=停用") | ||||
|     private String status; | ||||
|  | ||||
|     // TODO FROM 芋艿:下面的字段,需要忽略 | ||||
|  | ||||
|     /** | ||||
|      * 用户是否存在此角色标识 默认不存在 | ||||
|      */ | ||||
|     @TableField(exist = false) | ||||
|     private boolean flag = false; | ||||
|  | ||||
|     /** | ||||
|      * 菜单组 | ||||
|      */ | ||||
|     @TableField(exist = false) | ||||
|     private Long[] menuIds; | ||||
|  | ||||
|     /** | ||||
|      * 部门组(数据权限) | ||||
|      */ | ||||
|     @TableField(exist = false) | ||||
|     private Long[] deptIds; | ||||
|  | ||||
| } | ||||
|   | ||||
| @@ -8,7 +8,7 @@ import lombok.Getter; | ||||
|  */ | ||||
| @Getter | ||||
| @AllArgsConstructor | ||||
| public enum RoleKeyEnum { | ||||
| public enum RoleCodeEnum { | ||||
| 
 | ||||
|     ADMIN("admin"), // 超级管理员 | ||||
|     ; | ||||
| @@ -0,0 +1,21 @@ | ||||
| package cn.iocoder.dashboard.modules.system.enums.permission; | ||||
|  | ||||
| import lombok.AllArgsConstructor; | ||||
| import lombok.Getter; | ||||
|  | ||||
| @Getter | ||||
| @AllArgsConstructor | ||||
| public enum RoleTypeEnum { | ||||
|  | ||||
|     /** | ||||
|      * 内置角色 | ||||
|      */ | ||||
|     SYSTEM(1), | ||||
|     /** | ||||
|      * 自定义角色 | ||||
|      */ | ||||
|     CUSTOM(2); | ||||
|  | ||||
|     private final Integer type; | ||||
|  | ||||
| } | ||||
| @@ -1,9 +1,9 @@ | ||||
| package cn.iocoder.dashboard.modules.system.service.permission; | ||||
|  | ||||
| import cn.iocoder.dashboard.modules.system.controller.permission.vo.SysMenuCreateReqVO; | ||||
| import cn.iocoder.dashboard.modules.system.controller.permission.vo.SysMenuListReqVO; | ||||
| import cn.iocoder.dashboard.modules.system.controller.permission.vo.SysMenuRespVO; | ||||
| import cn.iocoder.dashboard.modules.system.controller.permission.vo.SysMenuUpdateReqVO; | ||||
| import cn.iocoder.dashboard.modules.system.controller.permission.vo.menu.SysMenuCreateReqVO; | ||||
| import cn.iocoder.dashboard.modules.system.controller.permission.vo.menu.SysMenuListReqVO; | ||||
| import cn.iocoder.dashboard.modules.system.controller.permission.vo.menu.SysMenuRespVO; | ||||
| import cn.iocoder.dashboard.modules.system.controller.permission.vo.menu.SysMenuUpdateReqVO; | ||||
| import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.permission.SysMenuDO; | ||||
|  | ||||
| import java.util.Collection; | ||||
|   | ||||
| @@ -1,10 +1,10 @@ | ||||
| package cn.iocoder.dashboard.modules.system.service.permission.impl; | ||||
|  | ||||
| import cn.iocoder.dashboard.common.exception.util.ServiceExceptionUtil; | ||||
| import cn.iocoder.dashboard.modules.system.controller.permission.vo.SysMenuCreateReqVO; | ||||
| import cn.iocoder.dashboard.modules.system.controller.permission.vo.SysMenuListReqVO; | ||||
| import cn.iocoder.dashboard.modules.system.controller.permission.vo.SysMenuRespVO; | ||||
| import cn.iocoder.dashboard.modules.system.controller.permission.vo.SysMenuUpdateReqVO; | ||||
| import cn.iocoder.dashboard.modules.system.controller.permission.vo.menu.SysMenuCreateReqVO; | ||||
| import cn.iocoder.dashboard.modules.system.controller.permission.vo.menu.SysMenuListReqVO; | ||||
| import cn.iocoder.dashboard.modules.system.controller.permission.vo.menu.SysMenuRespVO; | ||||
| import cn.iocoder.dashboard.modules.system.controller.permission.vo.menu.SysMenuUpdateReqVO; | ||||
| import cn.iocoder.dashboard.modules.system.convert.permission.SysMenuConvert; | ||||
| import cn.iocoder.dashboard.modules.system.dal.mysql.dao.permission.SysMenuMapper; | ||||
| import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.permission.SysMenuDO; | ||||
|   | ||||
| @@ -3,7 +3,7 @@ package cn.iocoder.dashboard.modules.system.service.permission.impl; | ||||
| import cn.hutool.core.collection.CollectionUtil; | ||||
| import cn.iocoder.dashboard.modules.system.dal.mysql.dao.permission.SysRoleMapper; | ||||
| import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.permission.SysRoleDO; | ||||
| import cn.iocoder.dashboard.modules.system.enums.permission.RoleKeyEnum; | ||||
| import cn.iocoder.dashboard.modules.system.enums.permission.RoleCodeEnum; | ||||
| import cn.iocoder.dashboard.modules.system.service.permission.SysRoleService; | ||||
| import com.google.common.collect.ImmutableMap; | ||||
| import lombok.extern.slf4j.Slf4j; | ||||
| @@ -29,7 +29,7 @@ public class SysRoleServiceImpl implements SysRoleService { | ||||
|  | ||||
|     /** | ||||
|      * 角色缓存 | ||||
|      * key:角色编号 {@link SysRoleDO#getRoleId()} | ||||
|      * key:角色编号 {@link SysRoleDO#getId()} | ||||
|      * | ||||
|      * 这里声明 volatile 修饰的原因是,每次刷新时,直接修改指向 | ||||
|      */ | ||||
| @@ -45,7 +45,7 @@ public class SysRoleServiceImpl implements SysRoleService { | ||||
|         List<SysRoleDO> roleDOList = roleMapper.selectList(null); | ||||
|         // 写入缓存 | ||||
|         ImmutableMap.Builder<Long, SysRoleDO> builder = ImmutableMap.builder(); | ||||
|         roleDOList.forEach(sysRoleDO -> builder.put(sysRoleDO.getRoleId(), sysRoleDO)); | ||||
|         roleDOList.forEach(sysRoleDO -> builder.put(sysRoleDO.getId(), sysRoleDO)); | ||||
|         roleCache = builder.build(); | ||||
|         log.info("[init][初始化 Role 数量为 {}]", roleDOList.size()); | ||||
|     } | ||||
| @@ -55,7 +55,7 @@ public class SysRoleServiceImpl implements SysRoleService { | ||||
|         if (CollectionUtil.isEmpty(roleIds)) { | ||||
|             return Collections.emptyList(); | ||||
|         } | ||||
|         return roleCache.values().stream().filter(roleDO -> roleIds.contains(roleDO.getRoleId())) | ||||
|         return roleCache.values().stream().filter(roleDO -> roleIds.contains(roleDO.getId())) | ||||
|                 .collect(Collectors.toList()); | ||||
|     } | ||||
|  | ||||
| @@ -64,7 +64,7 @@ public class SysRoleServiceImpl implements SysRoleService { | ||||
|         if (CollectionUtil.isEmpty(roleList)) { | ||||
|             return false; | ||||
|         } | ||||
|         return roleList.stream().anyMatch(roleDO -> RoleKeyEnum.ADMIN.getKey().equals(roleDO.getRoleKey())); | ||||
|         return roleList.stream().anyMatch(roleDO -> RoleCodeEnum.ADMIN.getKey().equals(roleDO.getCode())); | ||||
|     } | ||||
|  | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 YunaiV
					YunaiV