Commit 2dd835893a6a5e14305d521606808d1ac287e784
1 parent
73d53dba
🔧 简化 permission 模块的 VO
Showing
27 changed files
with
193 additions
and
352 deletions
yudao-framework/yudao-spring-boot-starter-biz-operatelog/src/main/java/cn/iocoder/yudao/framework/operatelog/core/service/OperateLogFrameworkServiceImpl.java
| @@ -21,7 +21,7 @@ public class OperateLogFrameworkServiceImpl implements OperateLogFrameworkServic | @@ -21,7 +21,7 @@ public class OperateLogFrameworkServiceImpl implements OperateLogFrameworkServic | ||
| 21 | @Override | 21 | @Override |
| 22 | @Async | 22 | @Async |
| 23 | public void createOperateLog(OperateLog operateLog) { | 23 | public void createOperateLog(OperateLog operateLog) { |
| 24 | - OperateLogCreateReqDTO reqDTO = BeanUtil.copyProperties(operateLog, OperateLogCreateReqDTO.class); | 24 | + OperateLogCreateReqDTO reqDTO = BeanUtil.toBean(operateLog, OperateLogCreateReqDTO.class); |
| 25 | operateLogApi.createOperateLog(reqDTO); | 25 | operateLogApi.createOperateLog(reqDTO); |
| 26 | } | 26 | } |
| 27 | 27 |
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/enums/permission/DataScopeEnum.java
| 1 | package cn.iocoder.yudao.module.system.enums.permission; | 1 | package cn.iocoder.yudao.module.system.enums.permission; |
| 2 | 2 | ||
| 3 | +import cn.iocoder.yudao.framework.common.core.IntArrayValuable; | ||
| 3 | import lombok.AllArgsConstructor; | 4 | import lombok.AllArgsConstructor; |
| 4 | import lombok.Getter; | 5 | import lombok.Getter; |
| 5 | 6 | ||
| 7 | +import java.util.Arrays; | ||
| 8 | + | ||
| 6 | /** | 9 | /** |
| 7 | * 数据范围枚举类 | 10 | * 数据范围枚举类 |
| 8 | * | 11 | * |
| @@ -12,7 +15,7 @@ import lombok.Getter; | @@ -12,7 +15,7 @@ import lombok.Getter; | ||
| 12 | */ | 15 | */ |
| 13 | @Getter | 16 | @Getter |
| 14 | @AllArgsConstructor | 17 | @AllArgsConstructor |
| 15 | -public enum DataScopeEnum { | 18 | +public enum DataScopeEnum implements IntArrayValuable { |
| 16 | 19 | ||
| 17 | ALL(1), // 全部数据权限 | 20 | ALL(1), // 全部数据权限 |
| 18 | 21 | ||
| @@ -27,4 +30,11 @@ public enum DataScopeEnum { | @@ -27,4 +30,11 @@ public enum DataScopeEnum { | ||
| 27 | */ | 30 | */ |
| 28 | private final Integer scope; | 31 | private final Integer scope; |
| 29 | 32 | ||
| 33 | + public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(DataScopeEnum::getScope).toArray(); | ||
| 34 | + | ||
| 35 | + @Override | ||
| 36 | + public int[] array() { | ||
| 37 | + return ARRAYS; | ||
| 38 | + } | ||
| 39 | + | ||
| 30 | } | 40 | } |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/MenuController.java
| @@ -2,13 +2,16 @@ package cn.iocoder.yudao.module.system.controller.admin.permission; | @@ -2,13 +2,16 @@ package cn.iocoder.yudao.module.system.controller.admin.permission; | ||
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; | 3 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; |
| 4 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; | 4 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 5 | -import cn.iocoder.yudao.module.system.controller.admin.permission.vo.menu.*; | ||
| 6 | -import cn.iocoder.yudao.module.system.convert.permission.MenuConvert; | 5 | +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 6 | +import cn.iocoder.yudao.module.system.controller.admin.permission.vo.menu.MenuListReqVO; | ||
| 7 | +import cn.iocoder.yudao.module.system.controller.admin.permission.vo.menu.MenuRespVO; | ||
| 8 | +import cn.iocoder.yudao.module.system.controller.admin.permission.vo.menu.MenuSaveVO; | ||
| 9 | +import cn.iocoder.yudao.module.system.controller.admin.permission.vo.menu.MenuSimpleRespVO; | ||
| 7 | import cn.iocoder.yudao.module.system.dal.dataobject.permission.MenuDO; | 10 | import cn.iocoder.yudao.module.system.dal.dataobject.permission.MenuDO; |
| 8 | import cn.iocoder.yudao.module.system.service.permission.MenuService; | 11 | import cn.iocoder.yudao.module.system.service.permission.MenuService; |
| 9 | -import io.swagger.v3.oas.annotations.tags.Tag; | ||
| 10 | -import io.swagger.v3.oas.annotations.Parameter; | ||
| 11 | import io.swagger.v3.oas.annotations.Operation; | 12 | import io.swagger.v3.oas.annotations.Operation; |
| 13 | +import io.swagger.v3.oas.annotations.Parameter; | ||
| 14 | +import io.swagger.v3.oas.annotations.tags.Tag; | ||
| 12 | import org.springframework.security.access.prepost.PreAuthorize; | 15 | import org.springframework.security.access.prepost.PreAuthorize; |
| 13 | import org.springframework.validation.annotation.Validated; | 16 | import org.springframework.validation.annotation.Validated; |
| 14 | import org.springframework.web.bind.annotation.*; | 17 | import org.springframework.web.bind.annotation.*; |
| @@ -32,16 +35,16 @@ public class MenuController { | @@ -32,16 +35,16 @@ public class MenuController { | ||
| 32 | @PostMapping("/create") | 35 | @PostMapping("/create") |
| 33 | @Operation(summary = "创建菜单") | 36 | @Operation(summary = "创建菜单") |
| 34 | @PreAuthorize("@ss.hasPermission('system:menu:create')") | 37 | @PreAuthorize("@ss.hasPermission('system:menu:create')") |
| 35 | - public CommonResult<Long> createMenu(@Valid @RequestBody MenuCreateReqVO reqVO) { | ||
| 36 | - Long menuId = menuService.createMenu(reqVO); | 38 | + public CommonResult<Long> createMenu(@Valid @RequestBody MenuSaveVO createReqVO) { |
| 39 | + Long menuId = menuService.createMenu(createReqVO); | ||
| 37 | return success(menuId); | 40 | return success(menuId); |
| 38 | } | 41 | } |
| 39 | 42 | ||
| 40 | @PutMapping("/update") | 43 | @PutMapping("/update") |
| 41 | @Operation(summary = "修改菜单") | 44 | @Operation(summary = "修改菜单") |
| 42 | @PreAuthorize("@ss.hasPermission('system:menu:update')") | 45 | @PreAuthorize("@ss.hasPermission('system:menu:update')") |
| 43 | - public CommonResult<Boolean> updateMenu(@Valid @RequestBody MenuUpdateReqVO reqVO) { | ||
| 44 | - menuService.updateMenu(reqVO); | 46 | + public CommonResult<Boolean> updateMenu(@Valid @RequestBody MenuSaveVO updateReqVO) { |
| 47 | + menuService.updateMenu(updateReqVO); | ||
| 45 | return success(true); | 48 | return success(true); |
| 46 | } | 49 | } |
| 47 | 50 | ||
| @@ -60,20 +63,17 @@ public class MenuController { | @@ -60,20 +63,17 @@ public class MenuController { | ||
| 60 | public CommonResult<List<MenuRespVO>> getMenuList(MenuListReqVO reqVO) { | 63 | public CommonResult<List<MenuRespVO>> getMenuList(MenuListReqVO reqVO) { |
| 61 | List<MenuDO> list = menuService.getMenuList(reqVO); | 64 | List<MenuDO> list = menuService.getMenuList(reqVO); |
| 62 | list.sort(Comparator.comparing(MenuDO::getSort)); | 65 | list.sort(Comparator.comparing(MenuDO::getSort)); |
| 63 | - return success(MenuConvert.INSTANCE.convertList(list)); | 66 | + return success(BeanUtils.toBean(list, MenuRespVO.class)); |
| 64 | } | 67 | } |
| 65 | 68 | ||
| 66 | - @GetMapping("/list-all-simple") | 69 | + @GetMapping({"/list-all-simple", "simple-list"}) |
| 67 | @Operation(summary = "获取菜单精简信息列表", description = "只包含被开启的菜单,用于【角色分配菜单】功能的选项。" + | 70 | @Operation(summary = "获取菜单精简信息列表", description = "只包含被开启的菜单,用于【角色分配菜单】功能的选项。" + |
| 68 | "在多租户的场景下,会只返回租户所在套餐有的菜单") | 71 | "在多租户的场景下,会只返回租户所在套餐有的菜单") |
| 69 | public CommonResult<List<MenuSimpleRespVO>> getSimpleMenuList() { | 72 | public CommonResult<List<MenuSimpleRespVO>> getSimpleMenuList() { |
| 70 | - // 获得菜单列表,只要开启状态的 | ||
| 71 | - MenuListReqVO reqVO = new MenuListReqVO(); | ||
| 72 | - reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus()); | ||
| 73 | - List<MenuDO> list = menuService.getMenuListByTenant(reqVO); | ||
| 74 | - // 排序后,返回给前端 | 73 | + List<MenuDO> list = menuService.getMenuListByTenant( |
| 74 | + new MenuListReqVO().setStatus(CommonStatusEnum.ENABLE.getStatus())); | ||
| 75 | list.sort(Comparator.comparing(MenuDO::getSort)); | 75 | list.sort(Comparator.comparing(MenuDO::getSort)); |
| 76 | - return success(MenuConvert.INSTANCE.convertList02(list)); | 76 | + return success(BeanUtils.toBean(list, MenuSimpleRespVO.class)); |
| 77 | } | 77 | } |
| 78 | 78 | ||
| 79 | @GetMapping("/get") | 79 | @GetMapping("/get") |
| @@ -81,7 +81,7 @@ public class MenuController { | @@ -81,7 +81,7 @@ public class MenuController { | ||
| 81 | @PreAuthorize("@ss.hasPermission('system:menu:query')") | 81 | @PreAuthorize("@ss.hasPermission('system:menu:query')") |
| 82 | public CommonResult<MenuRespVO> getMenu(Long id) { | 82 | public CommonResult<MenuRespVO> getMenu(Long id) { |
| 83 | MenuDO menu = menuService.getMenu(id); | 83 | MenuDO menu = menuService.getMenu(id); |
| 84 | - return success(MenuConvert.INSTANCE.convert(menu)); | 84 | + return success(BeanUtils.toBean(menu, MenuRespVO.class)); |
| 85 | } | 85 | } |
| 86 | 86 | ||
| 87 | } | 87 | } |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/RoleController.java
| @@ -2,16 +2,17 @@ package cn.iocoder.yudao.module.system.controller.admin.permission; | @@ -2,16 +2,17 @@ package cn.iocoder.yudao.module.system.controller.admin.permission; | ||
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; | 3 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; |
| 4 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; | 4 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 5 | +import cn.iocoder.yudao.framework.common.pojo.PageParam; | ||
| 5 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 6 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 7 | +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | ||
| 6 | import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; | 8 | import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; |
| 7 | import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; | 9 | import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; |
| 8 | import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.*; | 10 | import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.*; |
| 9 | -import cn.iocoder.yudao.module.system.convert.permission.RoleConvert; | ||
| 10 | import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleDO; | 11 | import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleDO; |
| 11 | import cn.iocoder.yudao.module.system.service.permission.RoleService; | 12 | import cn.iocoder.yudao.module.system.service.permission.RoleService; |
| 12 | -import io.swagger.v3.oas.annotations.tags.Tag; | ||
| 13 | -import io.swagger.v3.oas.annotations.Parameter; | ||
| 14 | import io.swagger.v3.oas.annotations.Operation; | 13 | import io.swagger.v3.oas.annotations.Operation; |
| 14 | +import io.swagger.v3.oas.annotations.Parameter; | ||
| 15 | +import io.swagger.v3.oas.annotations.tags.Tag; | ||
| 15 | import org.springframework.security.access.prepost.PreAuthorize; | 16 | import org.springframework.security.access.prepost.PreAuthorize; |
| 16 | import org.springframework.validation.annotation.Validated; | 17 | import org.springframework.validation.annotation.Validated; |
| 17 | import org.springframework.web.bind.annotation.*; | 18 | import org.springframework.web.bind.annotation.*; |
| @@ -39,15 +40,15 @@ public class RoleController { | @@ -39,15 +40,15 @@ public class RoleController { | ||
| 39 | @PostMapping("/create") | 40 | @PostMapping("/create") |
| 40 | @Operation(summary = "创建角色") | 41 | @Operation(summary = "创建角色") |
| 41 | @PreAuthorize("@ss.hasPermission('system:role:create')") | 42 | @PreAuthorize("@ss.hasPermission('system:role:create')") |
| 42 | - public CommonResult<Long> createRole(@Valid @RequestBody RoleCreateReqVO reqVO) { | ||
| 43 | - return success(roleService.createRole(reqVO, null)); | 43 | + public CommonResult<Long> createRole(@Valid @RequestBody RoleSaveReqVO createReqVO) { |
| 44 | + return success(roleService.createRole(createReqVO, null)); | ||
| 44 | } | 45 | } |
| 45 | 46 | ||
| 46 | @PutMapping("/update") | 47 | @PutMapping("/update") |
| 47 | @Operation(summary = "修改角色") | 48 | @Operation(summary = "修改角色") |
| 48 | @PreAuthorize("@ss.hasPermission('system:role:update')") | 49 | @PreAuthorize("@ss.hasPermission('system:role:update')") |
| 49 | - public CommonResult<Boolean> updateRole(@Valid @RequestBody RoleUpdateReqVO reqVO) { | ||
| 50 | - roleService.updateRole(reqVO); | 50 | + public CommonResult<Boolean> updateRole(@Valid @RequestBody RoleSaveReqVO updateReqVO) { |
| 51 | + roleService.updateRole(updateReqVO); | ||
| 51 | return success(true); | 52 | return success(true); |
| 52 | } | 53 | } |
| 53 | 54 | ||
| @@ -73,34 +74,35 @@ public class RoleController { | @@ -73,34 +74,35 @@ public class RoleController { | ||
| 73 | @PreAuthorize("@ss.hasPermission('system:role:query')") | 74 | @PreAuthorize("@ss.hasPermission('system:role:query')") |
| 74 | public CommonResult<RoleRespVO> getRole(@RequestParam("id") Long id) { | 75 | public CommonResult<RoleRespVO> getRole(@RequestParam("id") Long id) { |
| 75 | RoleDO role = roleService.getRole(id); | 76 | RoleDO role = roleService.getRole(id); |
| 76 | - return success(RoleConvert.INSTANCE.convert(role)); | 77 | + return success(BeanUtils.toBean(role, RoleRespVO.class)); |
| 77 | } | 78 | } |
| 78 | 79 | ||
| 79 | @GetMapping("/page") | 80 | @GetMapping("/page") |
| 80 | @Operation(summary = "获得角色分页") | 81 | @Operation(summary = "获得角色分页") |
| 81 | @PreAuthorize("@ss.hasPermission('system:role:query')") | 82 | @PreAuthorize("@ss.hasPermission('system:role:query')") |
| 82 | - public CommonResult<PageResult<RoleDO>> getRolePage(RolePageReqVO reqVO) { | ||
| 83 | - return success(roleService.getRolePage(reqVO)); | 83 | + public CommonResult<PageResult<RoleRespVO>> getRolePage(RolePageReqVO pageReqVO) { |
| 84 | + PageResult<RoleDO> pageResult = roleService.getRolePage(pageReqVO); | ||
| 85 | + return success(BeanUtils.toBean(pageResult, RoleRespVO.class)); | ||
| 84 | } | 86 | } |
| 85 | 87 | ||
| 86 | @GetMapping("/list-all-simple") | 88 | @GetMapping("/list-all-simple") |
| 87 | @Operation(summary = "获取角色精简信息列表", description = "只包含被开启的角色,主要用于前端的下拉选项") | 89 | @Operation(summary = "获取角色精简信息列表", description = "只包含被开启的角色,主要用于前端的下拉选项") |
| 88 | public CommonResult<List<RoleSimpleRespVO>> getSimpleRoleList() { | 90 | public CommonResult<List<RoleSimpleRespVO>> getSimpleRoleList() { |
| 89 | - // 获得角色列表,只要开启状态的 | ||
| 90 | List<RoleDO> list = roleService.getRoleListByStatus(singleton(CommonStatusEnum.ENABLE.getStatus())); | 91 | List<RoleDO> list = roleService.getRoleListByStatus(singleton(CommonStatusEnum.ENABLE.getStatus())); |
| 91 | - // 排序后,返回给前端 | ||
| 92 | list.sort(Comparator.comparing(RoleDO::getSort)); | 92 | list.sort(Comparator.comparing(RoleDO::getSort)); |
| 93 | - return success(RoleConvert.INSTANCE.convertList02(list)); | 93 | + return success(BeanUtils.toBean(list, RoleSimpleRespVO.class)); |
| 94 | } | 94 | } |
| 95 | 95 | ||
| 96 | - @GetMapping("/export") | 96 | + @GetMapping("/export-excel") |
| 97 | + @Operation(summary = "导出角色 Excel") | ||
| 97 | @OperateLog(type = EXPORT) | 98 | @OperateLog(type = EXPORT) |
| 98 | @PreAuthorize("@ss.hasPermission('system:role:export')") | 99 | @PreAuthorize("@ss.hasPermission('system:role:export')") |
| 99 | - public void export(HttpServletResponse response, @Validated RoleExportReqVO reqVO) throws IOException { | ||
| 100 | - List<RoleDO> list = roleService.getRoleList(reqVO); | ||
| 101 | - List<RoleExcelVO> data = RoleConvert.INSTANCE.convertList03(list); | 100 | + public void export(HttpServletResponse response, @Validated RolePageReqVO exportReqVO) throws IOException { |
| 101 | + exportReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); | ||
| 102 | + List<RoleDO> list = roleService.getRolePage(exportReqVO).getList(); | ||
| 102 | // 输出 | 103 | // 输出 |
| 103 | - ExcelUtils.write(response, "角色数据.xls", "角色列表", RoleExcelVO.class, data); | 104 | + ExcelUtils.write(response, "角色数据.xls", "数据", RoleRespVO.class, |
| 105 | + BeanUtils.toBean(list, RoleRespVO.class)); | ||
| 104 | } | 106 | } |
| 105 | 107 | ||
| 106 | } | 108 | } |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuCreateReqVO.java deleted
| 1 | -package cn.iocoder.yudao.module.system.controller.admin.permission.vo.menu; | ||
| 2 | - | ||
| 3 | -import io.swagger.v3.oas.annotations.media.Schema; | ||
| 4 | -import lombok.*; | ||
| 5 | - | ||
| 6 | -@Schema(description = "管理后台 - 菜单创建 Request VO") | ||
| 7 | -@Data | ||
| 8 | -@EqualsAndHashCode(callSuper = true) | ||
| 9 | -public class MenuCreateReqVO extends MenuBaseVO { | ||
| 10 | -} |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuRespVO.java
| @@ -6,21 +6,66 @@ import lombok.Data; | @@ -6,21 +6,66 @@ import lombok.Data; | ||
| 6 | import lombok.EqualsAndHashCode; | 6 | import lombok.EqualsAndHashCode; |
| 7 | import lombok.NoArgsConstructor; | 7 | import lombok.NoArgsConstructor; |
| 8 | 8 | ||
| 9 | +import javax.validation.constraints.NotBlank; | ||
| 10 | +import javax.validation.constraints.NotNull; | ||
| 11 | +import javax.validation.constraints.Size; | ||
| 9 | import java.time.LocalDateTime; | 12 | import java.time.LocalDateTime; |
| 10 | 13 | ||
| 11 | @Schema(description = "管理后台 - 菜单信息 Response VO") | 14 | @Schema(description = "管理后台 - 菜单信息 Response VO") |
| 12 | @Data | 15 | @Data |
| 13 | -@NoArgsConstructor | ||
| 14 | -@AllArgsConstructor | ||
| 15 | -@EqualsAndHashCode(callSuper = true) | ||
| 16 | -public class MenuRespVO extends MenuBaseVO { | 16 | +public class MenuRespVO { |
| 17 | 17 | ||
| 18 | @Schema(description = "菜单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") | 18 | @Schema(description = "菜单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") |
| 19 | private Long id; | 19 | private Long id; |
| 20 | 20 | ||
| 21 | - @Schema(description = "状态,参见 CommonStatusEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | 21 | + @Schema(description = "菜单名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道") |
| 22 | + @NotBlank(message = "菜单名称不能为空") | ||
| 23 | + @Size(max = 50, message = "菜单名称长度不能超过50个字符") | ||
| 24 | + private String name; | ||
| 25 | + | ||
| 26 | + @Schema(description = "权限标识,仅菜单类型为按钮时,才需要传递", example = "sys:menu:add") | ||
| 27 | + @Size(max = 100) | ||
| 28 | + private String permission; | ||
| 29 | + | ||
| 30 | + @Schema(description = "类型,参见 MenuTypeEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | ||
| 31 | + @NotNull(message = "菜单类型不能为空") | ||
| 32 | + private Integer type; | ||
| 33 | + | ||
| 34 | + @Schema(description = "显示顺序不能为空", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") | ||
| 35 | + @NotNull(message = "显示顺序不能为空") | ||
| 36 | + private Integer sort; | ||
| 37 | + | ||
| 38 | + @Schema(description = "父菜单 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") | ||
| 39 | + @NotNull(message = "父菜单 ID 不能为空") | ||
| 40 | + private Long parentId; | ||
| 41 | + | ||
| 42 | + @Schema(description = "路由地址,仅菜单类型为菜单或者目录时,才需要传", example = "post") | ||
| 43 | + @Size(max = 200, message = "路由地址不能超过200个字符") | ||
| 44 | + private String path; | ||
| 45 | + | ||
| 46 | + @Schema(description = "菜单图标,仅菜单类型为菜单或者目录时,才需要传", example = "/menu/list") | ||
| 47 | + private String icon; | ||
| 48 | + | ||
| 49 | + @Schema(description = "组件路径,仅菜单类型为菜单时,才需要传", example = "system/post/index") | ||
| 50 | + @Size(max = 200, message = "组件路径不能超过255个字符") | ||
| 51 | + private String component; | ||
| 52 | + | ||
| 53 | + @Schema(description = "组件名", example = "SystemUser") | ||
| 54 | + private String componentName; | ||
| 55 | + | ||
| 56 | + @Schema(description = "状态,见 CommonStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | ||
| 57 | + @NotNull(message = "状态不能为空") | ||
| 22 | private Integer status; | 58 | private Integer status; |
| 23 | 59 | ||
| 60 | + @Schema(description = "是否可见", example = "false") | ||
| 61 | + private Boolean visible; | ||
| 62 | + | ||
| 63 | + @Schema(description = "是否缓存", example = "false") | ||
| 64 | + private Boolean keepAlive; | ||
| 65 | + | ||
| 66 | + @Schema(description = "是否总是显示", example = "false") | ||
| 67 | + private Boolean alwaysShow; | ||
| 68 | + | ||
| 24 | @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式") | 69 | @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式") |
| 25 | private LocalDateTime createTime; | 70 | private LocalDateTime createTime; |
| 26 | 71 |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuBaseVO.java renamed to yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuSaveVO.java
| @@ -7,12 +7,12 @@ import javax.validation.constraints.NotBlank; | @@ -7,12 +7,12 @@ import javax.validation.constraints.NotBlank; | ||
| 7 | import javax.validation.constraints.NotNull; | 7 | import javax.validation.constraints.NotNull; |
| 8 | import javax.validation.constraints.Size; | 8 | import javax.validation.constraints.Size; |
| 9 | 9 | ||
| 10 | -/** | ||
| 11 | - * 菜单 Base VO,提供给添加、修改、详细的子 VO 使用 | ||
| 12 | - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 | ||
| 13 | - */ | 10 | +@Schema(description = "管理后台 - 菜单创建/修改 Request VO") |
| 14 | @Data | 11 | @Data |
| 15 | -public class MenuBaseVO { | 12 | +public class MenuSaveVO { |
| 13 | + | ||
| 14 | + @Schema(description = "菜单编号", example = "1024") | ||
| 15 | + private Long id; | ||
| 16 | 16 | ||
| 17 | @Schema(description = "菜单名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道") | 17 | @Schema(description = "菜单名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道") |
| 18 | @NotBlank(message = "菜单名称不能为空") | 18 | @NotBlank(message = "菜单名称不能为空") |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuSimpleRespVO.java
| @@ -9,8 +9,6 @@ import javax.validation.constraints.NotNull; | @@ -9,8 +9,6 @@ import javax.validation.constraints.NotNull; | ||
| 9 | 9 | ||
| 10 | @Schema(description = "管理后台 - 菜单精简信息 Response VO") | 10 | @Schema(description = "管理后台 - 菜单精简信息 Response VO") |
| 11 | @Data | 11 | @Data |
| 12 | -@NoArgsConstructor | ||
| 13 | -@AllArgsConstructor | ||
| 14 | public class MenuSimpleRespVO { | 12 | public class MenuSimpleRespVO { |
| 15 | 13 | ||
| 16 | @Schema(description = "菜单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") | 14 | @Schema(description = "菜单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuUpdateReqVO.java deleted
| 1 | -package cn.iocoder.yudao.module.system.controller.admin.permission.vo.menu; | ||
| 2 | - | ||
| 3 | -import io.swagger.v3.oas.annotations.media.Schema; | ||
| 4 | -import lombok.*; | ||
| 5 | - | ||
| 6 | -import javax.validation.constraints.NotNull; | ||
| 7 | - | ||
| 8 | -@Schema(description = "管理后台 - 菜单更新 Request VO") | ||
| 9 | -@Data | ||
| 10 | -@EqualsAndHashCode(callSuper = true) | ||
| 11 | -public class MenuUpdateReqVO extends MenuBaseVO { | ||
| 12 | - | ||
| 13 | - @Schema(description = "菜单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") | ||
| 14 | - @NotNull(message = "菜单编号不能为空") | ||
| 15 | - private Long id; | ||
| 16 | - | ||
| 17 | -} |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/permission/PermissionAssignRoleDataScopeReqVO.java
| 1 | package cn.iocoder.yudao.module.system.controller.admin.permission.vo.permission; | 1 | package cn.iocoder.yudao.module.system.controller.admin.permission.vo.permission; |
| 2 | 2 | ||
| 3 | +import cn.iocoder.yudao.framework.common.validation.InEnum; | ||
| 4 | +import cn.iocoder.yudao.module.system.enums.permission.DataScopeEnum; | ||
| 3 | import io.swagger.v3.oas.annotations.media.Schema; | 5 | import io.swagger.v3.oas.annotations.media.Schema; |
| 4 | import lombok.Data; | 6 | import lombok.Data; |
| 5 | 7 | ||
| @@ -17,7 +19,7 @@ public class PermissionAssignRoleDataScopeReqVO { | @@ -17,7 +19,7 @@ public class PermissionAssignRoleDataScopeReqVO { | ||
| 17 | 19 | ||
| 18 | @Schema(description = "数据范围,参见 DataScopeEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | 20 | @Schema(description = "数据范围,参见 DataScopeEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") |
| 19 | @NotNull(message = "数据范围不能为空") | 21 | @NotNull(message = "数据范围不能为空") |
| 20 | -// TODO 这里要多一个枚举校验 | 22 | + @InEnum(value = DataScopeEnum.class, message = "数据范围必须是 {value}") |
| 21 | private Integer dataScope; | 23 | private Integer dataScope; |
| 22 | 24 | ||
| 23 | @Schema(description = "部门编号列表,只有范围类型为 DEPT_CUSTOM 时,该字段才需要", example = "1,3,5") | 25 | @Schema(description = "部门编号列表,只有范围类型为 DEPT_CUSTOM 时,该字段才需要", example = "1,3,5") |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RoleCreateReqVO.java deleted
| 1 | -package cn.iocoder.yudao.module.system.controller.admin.permission.vo.role; | ||
| 2 | - | ||
| 3 | -import io.swagger.v3.oas.annotations.media.Schema; | ||
| 4 | -import lombok.Data; | ||
| 5 | -import lombok.EqualsAndHashCode; | ||
| 6 | - | ||
| 7 | -@Schema(description = "管理后台 - 角色创建 Request VO") | ||
| 8 | -@Data | ||
| 9 | -@EqualsAndHashCode(callSuper = true) | ||
| 10 | -public class RoleCreateReqVO extends RoleBaseVO { | ||
| 11 | - | ||
| 12 | -} |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RoleExcelVO.java deleted
| 1 | -package cn.iocoder.yudao.module.system.controller.admin.permission.vo.role; | ||
| 2 | - | ||
| 3 | -import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; | ||
| 4 | -import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; | ||
| 5 | -import cn.iocoder.yudao.module.system.enums.DictTypeConstants; | ||
| 6 | -import com.alibaba.excel.annotation.ExcelProperty; | ||
| 7 | -import lombok.Data; | ||
| 8 | - | ||
| 9 | -/** | ||
| 10 | - * 角色 Excel 导出响应 VO | ||
| 11 | - */ | ||
| 12 | -@Data | ||
| 13 | -public class RoleExcelVO { | ||
| 14 | - | ||
| 15 | - @ExcelProperty("角色序号") | ||
| 16 | - private Long id; | ||
| 17 | - | ||
| 18 | - @ExcelProperty("角色名称") | ||
| 19 | - private String name; | ||
| 20 | - | ||
| 21 | - @ExcelProperty("角色标志") | ||
| 22 | - private String code; | ||
| 23 | - | ||
| 24 | - @ExcelProperty("角色排序") | ||
| 25 | - private Integer sort; | ||
| 26 | - | ||
| 27 | - @ExcelProperty("数据范围") | ||
| 28 | - private Integer dataScope; | ||
| 29 | - | ||
| 30 | - @ExcelProperty(value = "角色状态", converter = DictConvert.class) | ||
| 31 | - @DictFormat(DictTypeConstants.COMMON_STATUS) | ||
| 32 | - private String status; | ||
| 33 | - | ||
| 34 | -} |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RoleExportReqVO.java deleted
| 1 | -package cn.iocoder.yudao.module.system.controller.admin.permission.vo.role; | ||
| 2 | - | ||
| 3 | -import io.swagger.v3.oas.annotations.media.Schema; | ||
| 4 | -import lombok.Data; | ||
| 5 | -import org.springframework.format.annotation.DateTimeFormat; | ||
| 6 | - | ||
| 7 | -import java.time.LocalDateTime; | ||
| 8 | - | ||
| 9 | -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | ||
| 10 | - | ||
| 11 | -@Schema(description = "管理后台 - 角色分页 Request VO") | ||
| 12 | -@Data | ||
| 13 | -public class RoleExportReqVO { | ||
| 14 | - | ||
| 15 | - @Schema(description = "角色名称,模糊匹配", example = "芋道") | ||
| 16 | - private String name; | ||
| 17 | - | ||
| 18 | - @Schema(description = "角色标识,模糊匹配", example = "yudao") | ||
| 19 | - private String code; | ||
| 20 | - | ||
| 21 | - @Schema(description = "展示状态,参见 CommonStatusEnum 枚举类", example = "1") | ||
| 22 | - private Integer status; | ||
| 23 | - | ||
| 24 | - @Schema(description = "开始时间", example = "[2022-07-01 00:00:00,2022-07-01 23:59:59]") | ||
| 25 | - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 26 | - private LocalDateTime[] createTime; | ||
| 27 | - | ||
| 28 | -} |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RoleRespVO.java
| 1 | package cn.iocoder.yudao.module.system.controller.admin.permission.vo.role; | 1 | package cn.iocoder.yudao.module.system.controller.admin.permission.vo.role; |
| 2 | 2 | ||
| 3 | +import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; | ||
| 4 | +import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; | ||
| 5 | +import cn.iocoder.yudao.module.system.enums.DictTypeConstants; | ||
| 6 | +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; | ||
| 7 | +import com.alibaba.excel.annotation.ExcelProperty; | ||
| 3 | import io.swagger.v3.oas.annotations.media.Schema; | 8 | import io.swagger.v3.oas.annotations.media.Schema; |
| 4 | -import lombok.AllArgsConstructor; | ||
| 5 | import lombok.Data; | 9 | import lombok.Data; |
| 6 | -import lombok.EqualsAndHashCode; | ||
| 7 | -import lombok.NoArgsConstructor; | ||
| 8 | 10 | ||
| 11 | +import javax.validation.constraints.NotBlank; | ||
| 9 | import java.time.LocalDateTime; | 12 | import java.time.LocalDateTime; |
| 10 | import java.util.Set; | 13 | import java.util.Set; |
| 11 | 14 | ||
| 12 | @Schema(description = "管理后台 - 角色信息 Response VO") | 15 | @Schema(description = "管理后台 - 角色信息 Response VO") |
| 13 | @Data | 16 | @Data |
| 14 | -@NoArgsConstructor | ||
| 15 | -@AllArgsConstructor | ||
| 16 | -@EqualsAndHashCode(callSuper = true) | ||
| 17 | -public class RoleRespVO extends RoleBaseVO { | 17 | +@ExcelIgnoreUnannotated |
| 18 | +public class RoleRespVO { | ||
| 18 | 19 | ||
| 19 | @Schema(description = "角色编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | 20 | @Schema(description = "角色编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") |
| 21 | + @ExcelProperty("角色序号") | ||
| 20 | private Long id; | 22 | private Long id; |
| 21 | 23 | ||
| 22 | - @Schema(description = "数据范围,参见 DataScopeEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | ||
| 23 | - private Integer dataScope; | 24 | + @Schema(description = "角色名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "管理员") |
| 25 | + @ExcelProperty("角色名称") | ||
| 26 | + private String name; | ||
| 24 | 27 | ||
| 25 | - @Schema(description = "数据范围(指定部门数组)", example = "1") | ||
| 26 | - private Set<Long> dataScopeDeptIds; | 28 | + @NotBlank(message = "角色标志不能为空") |
| 29 | + @ExcelProperty("角色标志") | ||
| 30 | + private String code; | ||
| 31 | + | ||
| 32 | + @Schema(description = "显示顺序不能为空", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") | ||
| 33 | + @ExcelProperty("角色排序") | ||
| 34 | + private Integer sort; | ||
| 27 | 35 | ||
| 28 | @Schema(description = "状态,参见 CommonStatusEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | 36 | @Schema(description = "状态,参见 CommonStatusEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") |
| 37 | + @ExcelProperty(value = "角色状态", converter = DictConvert.class) | ||
| 38 | + @DictFormat(DictTypeConstants.COMMON_STATUS) | ||
| 29 | private Integer status; | 39 | private Integer status; |
| 30 | 40 | ||
| 31 | @Schema(description = "角色类型,参见 RoleTypeEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | 41 | @Schema(description = "角色类型,参见 RoleTypeEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") |
| 32 | private Integer type; | 42 | private Integer type; |
| 33 | 43 | ||
| 44 | + @Schema(description = "备注", example = "我是一个角色") | ||
| 45 | + private String remark; | ||
| 46 | + | ||
| 47 | + @Schema(description = "数据范围,参见 DataScopeEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | ||
| 48 | + @ExcelProperty("数据范围") | ||
| 49 | + private Integer dataScope; | ||
| 50 | + | ||
| 51 | + @Schema(description = "数据范围(指定部门数组)", example = "1") | ||
| 52 | + private Set<Long> dataScopeDeptIds; | ||
| 53 | + | ||
| 34 | @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式") | 54 | @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式") |
| 35 | private LocalDateTime createTime; | 55 | private LocalDateTime createTime; |
| 36 | 56 |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RoleBaseVO.java renamed to yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RoleSaveReqVO.java
| @@ -7,12 +7,12 @@ import javax.validation.constraints.NotBlank; | @@ -7,12 +7,12 @@ import javax.validation.constraints.NotBlank; | ||
| 7 | import javax.validation.constraints.NotNull; | 7 | import javax.validation.constraints.NotNull; |
| 8 | import javax.validation.constraints.Size; | 8 | import javax.validation.constraints.Size; |
| 9 | 9 | ||
| 10 | -/** | ||
| 11 | - * 角色 Base VO,提供给添加、修改、详细的子 VO 使用 | ||
| 12 | - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 | ||
| 13 | - */ | 10 | +@Schema(description = "管理后台 - 角色创建 Request VO") |
| 14 | @Data | 11 | @Data |
| 15 | -public class RoleBaseVO { | 12 | +public class RoleSaveReqVO { |
| 13 | + | ||
| 14 | + @Schema(description = "角色编号", example = "1") | ||
| 15 | + private Long id; | ||
| 16 | 16 | ||
| 17 | @Schema(description = "角色名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "管理员") | 17 | @Schema(description = "角色名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "管理员") |
| 18 | @NotBlank(message = "角色名称不能为空") | 18 | @NotBlank(message = "角色名称不能为空") |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RoleSimpleRespVO.java
| @@ -7,8 +7,6 @@ import lombok.NoArgsConstructor; | @@ -7,8 +7,6 @@ import lombok.NoArgsConstructor; | ||
| 7 | 7 | ||
| 8 | @Schema(description = "管理后台 - 角色精简信息 Response VO") | 8 | @Schema(description = "管理后台 - 角色精简信息 Response VO") |
| 9 | @Data | 9 | @Data |
| 10 | -@NoArgsConstructor | ||
| 11 | -@AllArgsConstructor | ||
| 12 | public class RoleSimpleRespVO { | 10 | public class RoleSimpleRespVO { |
| 13 | 11 | ||
| 14 | @Schema(description = "角色编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") | 12 | @Schema(description = "角色编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RoleUpdateReqVO.java deleted
| 1 | -package cn.iocoder.yudao.module.system.controller.admin.permission.vo.role; | ||
| 2 | - | ||
| 3 | -import io.swagger.v3.oas.annotations.media.Schema; | ||
| 4 | -import lombok.Data; | ||
| 5 | -import lombok.EqualsAndHashCode; | ||
| 6 | - | ||
| 7 | -import javax.validation.constraints.NotNull; | ||
| 8 | - | ||
| 9 | -@Schema(description = "管理后台 - 角色更新 Request VO") | ||
| 10 | -@Data | ||
| 11 | -@EqualsAndHashCode(callSuper = true) | ||
| 12 | -public class RoleUpdateReqVO extends RoleBaseVO { | ||
| 13 | - | ||
| 14 | - @Schema(description = "角色编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") | ||
| 15 | - @NotNull(message = "角色编号不能为空") | ||
| 16 | - private Long id; | ||
| 17 | - | ||
| 18 | -} |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/convert/permission/MenuConvert.java deleted
| 1 | -package cn.iocoder.yudao.module.system.convert.permission; | ||
| 2 | - | ||
| 3 | -import cn.iocoder.yudao.module.system.controller.admin.permission.vo.menu.MenuCreateReqVO; | ||
| 4 | -import cn.iocoder.yudao.module.system.controller.admin.permission.vo.menu.MenuRespVO; | ||
| 5 | -import cn.iocoder.yudao.module.system.controller.admin.permission.vo.menu.MenuSimpleRespVO; | ||
| 6 | -import cn.iocoder.yudao.module.system.controller.admin.permission.vo.menu.MenuUpdateReqVO; | ||
| 7 | -import cn.iocoder.yudao.module.system.dal.dataobject.permission.MenuDO; | ||
| 8 | -import org.mapstruct.Mapper; | ||
| 9 | -import org.mapstruct.factory.Mappers; | ||
| 10 | - | ||
| 11 | -import java.util.List; | ||
| 12 | - | ||
| 13 | -@Mapper | ||
| 14 | -public interface MenuConvert { | ||
| 15 | - | ||
| 16 | - MenuConvert INSTANCE = Mappers.getMapper(MenuConvert.class); | ||
| 17 | - | ||
| 18 | - List<MenuRespVO> convertList(List<MenuDO> list); | ||
| 19 | - | ||
| 20 | - MenuDO convert(MenuCreateReqVO bean); | ||
| 21 | - | ||
| 22 | - MenuDO convert(MenuUpdateReqVO bean); | ||
| 23 | - | ||
| 24 | - MenuRespVO convert(MenuDO bean); | ||
| 25 | - | ||
| 26 | - List<MenuSimpleRespVO> convertList02(List<MenuDO> list); | ||
| 27 | - | ||
| 28 | -} |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/convert/permission/RoleConvert.java deleted
| 1 | -package cn.iocoder.yudao.module.system.convert.permission; | ||
| 2 | - | ||
| 3 | -import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.*; | ||
| 4 | -import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleDO; | ||
| 5 | -import cn.iocoder.yudao.module.system.service.permission.bo.RoleCreateReqBO; | ||
| 6 | -import org.mapstruct.Mapper; | ||
| 7 | -import org.mapstruct.factory.Mappers; | ||
| 8 | - | ||
| 9 | -import java.util.List; | ||
| 10 | - | ||
| 11 | -@Mapper | ||
| 12 | -public interface RoleConvert { | ||
| 13 | - | ||
| 14 | - RoleConvert INSTANCE = Mappers.getMapper(RoleConvert.class); | ||
| 15 | - | ||
| 16 | - RoleDO convert(RoleUpdateReqVO bean); | ||
| 17 | - | ||
| 18 | - RoleRespVO convert(RoleDO bean); | ||
| 19 | - | ||
| 20 | - RoleDO convert(RoleCreateReqVO bean); | ||
| 21 | - | ||
| 22 | - List<RoleSimpleRespVO> convertList02(List<RoleDO> list); | ||
| 23 | - | ||
| 24 | - List<RoleExcelVO> convertList03(List<RoleDO> list); | ||
| 25 | - | ||
| 26 | - RoleDO convert(RoleCreateReqBO bean); | ||
| 27 | - | ||
| 28 | -} |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/permission/RoleMapper.java
| @@ -4,7 +4,6 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; | @@ -4,7 +4,6 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 4 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; | 4 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 5 | import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; | 5 | import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; |
| 6 | import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; | 6 | import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; |
| 7 | -import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.RoleExportReqVO; | ||
| 8 | import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.RolePageReqVO; | 7 | import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.RolePageReqVO; |
| 9 | import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleDO; | 8 | import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleDO; |
| 10 | import org.apache.ibatis.annotations.Mapper; | 9 | import org.apache.ibatis.annotations.Mapper; |
| @@ -25,14 +24,6 @@ public interface RoleMapper extends BaseMapperX<RoleDO> { | @@ -25,14 +24,6 @@ public interface RoleMapper extends BaseMapperX<RoleDO> { | ||
| 25 | .orderByDesc(RoleDO::getId)); | 24 | .orderByDesc(RoleDO::getId)); |
| 26 | } | 25 | } |
| 27 | 26 | ||
| 28 | - default List<RoleDO> selectList(RoleExportReqVO reqVO) { | ||
| 29 | - return selectList(new LambdaQueryWrapperX<RoleDO>() | ||
| 30 | - .likeIfPresent(RoleDO::getName, reqVO.getName()) | ||
| 31 | - .likeIfPresent(RoleDO::getCode, reqVO.getCode()) | ||
| 32 | - .eqIfPresent(RoleDO::getStatus, reqVO.getStatus()) | ||
| 33 | - .betweenIfPresent(BaseDO::getCreateTime, reqVO.getCreateTime())); | ||
| 34 | - } | ||
| 35 | - | ||
| 36 | default RoleDO selectByName(String name) { | 27 | default RoleDO selectByName(String name) { |
| 37 | return selectOne(RoleDO::getName, name); | 28 | return selectOne(RoleDO::getName, name); |
| 38 | } | 29 | } |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/permission/MenuService.java
| 1 | package cn.iocoder.yudao.module.system.service.permission; | 1 | package cn.iocoder.yudao.module.system.service.permission; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.module.system.controller.admin.permission.vo.menu.MenuCreateReqVO; | 3 | +import cn.iocoder.yudao.module.system.controller.admin.permission.vo.menu.MenuSaveVO; |
| 4 | import cn.iocoder.yudao.module.system.controller.admin.permission.vo.menu.MenuListReqVO; | 4 | import cn.iocoder.yudao.module.system.controller.admin.permission.vo.menu.MenuListReqVO; |
| 5 | -import cn.iocoder.yudao.module.system.controller.admin.permission.vo.menu.MenuUpdateReqVO; | ||
| 6 | import cn.iocoder.yudao.module.system.dal.dataobject.permission.MenuDO; | 5 | import cn.iocoder.yudao.module.system.dal.dataobject.permission.MenuDO; |
| 7 | 6 | ||
| 8 | import java.util.Collection; | 7 | import java.util.Collection; |
| @@ -18,17 +17,17 @@ public interface MenuService { | @@ -18,17 +17,17 @@ public interface MenuService { | ||
| 18 | /** | 17 | /** |
| 19 | * 创建菜单 | 18 | * 创建菜单 |
| 20 | * | 19 | * |
| 21 | - * @param reqVO 菜单信息 | 20 | + * @param createReqVO 菜单信息 |
| 22 | * @return 创建出来的菜单编号 | 21 | * @return 创建出来的菜单编号 |
| 23 | */ | 22 | */ |
| 24 | - Long createMenu(MenuCreateReqVO reqVO); | 23 | + Long createMenu(MenuSaveVO createReqVO); |
| 25 | 24 | ||
| 26 | /** | 25 | /** |
| 27 | * 更新菜单 | 26 | * 更新菜单 |
| 28 | * | 27 | * |
| 29 | - * @param reqVO 菜单信息 | 28 | + * @param updateReqVO 菜单信息 |
| 30 | */ | 29 | */ |
| 31 | - void updateMenu(MenuUpdateReqVO reqVO); | 30 | + void updateMenu(MenuSaveVO updateReqVO); |
| 32 | 31 | ||
| 33 | /** | 32 | /** |
| 34 | * 删除菜单 | 33 | * 删除菜单 |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/permission/MenuServiceImpl.java
| 1 | package cn.iocoder.yudao.module.system.service.permission; | 1 | package cn.iocoder.yudao.module.system.service.permission; |
| 2 | 2 | ||
| 3 | import cn.hutool.core.collection.CollUtil; | 3 | import cn.hutool.core.collection.CollUtil; |
| 4 | -import cn.iocoder.yudao.module.system.controller.admin.permission.vo.menu.MenuCreateReqVO; | 4 | +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 5 | +import cn.iocoder.yudao.module.system.controller.admin.permission.vo.menu.MenuSaveVO; | ||
| 5 | import cn.iocoder.yudao.module.system.controller.admin.permission.vo.menu.MenuListReqVO; | 6 | import cn.iocoder.yudao.module.system.controller.admin.permission.vo.menu.MenuListReqVO; |
| 6 | -import cn.iocoder.yudao.module.system.controller.admin.permission.vo.menu.MenuUpdateReqVO; | ||
| 7 | -import cn.iocoder.yudao.module.system.convert.permission.MenuConvert; | ||
| 8 | import cn.iocoder.yudao.module.system.dal.dataobject.permission.MenuDO; | 7 | import cn.iocoder.yudao.module.system.dal.dataobject.permission.MenuDO; |
| 9 | import cn.iocoder.yudao.module.system.dal.mysql.permission.MenuMapper; | 8 | import cn.iocoder.yudao.module.system.dal.mysql.permission.MenuMapper; |
| 10 | import cn.iocoder.yudao.module.system.dal.redis.RedisKeyConstants; | 9 | import cn.iocoder.yudao.module.system.dal.redis.RedisKeyConstants; |
| @@ -45,16 +44,16 @@ public class MenuServiceImpl implements MenuService { | @@ -45,16 +44,16 @@ public class MenuServiceImpl implements MenuService { | ||
| 45 | private TenantService tenantService; | 44 | private TenantService tenantService; |
| 46 | 45 | ||
| 47 | @Override | 46 | @Override |
| 48 | - @CacheEvict(value = RedisKeyConstants.PERMISSION_MENU_ID_LIST, key = "#reqVO.permission", | ||
| 49 | - condition = "#reqVO.permission != null") | ||
| 50 | - public Long createMenu(MenuCreateReqVO reqVO) { | 47 | + @CacheEvict(value = RedisKeyConstants.PERMISSION_MENU_ID_LIST, key = "#createReqVO.permission", |
| 48 | + condition = "#createReqVO.permission != null") | ||
| 49 | + public Long createMenu(MenuSaveVO createReqVO) { | ||
| 51 | // 校验父菜单存在 | 50 | // 校验父菜单存在 |
| 52 | - validateParentMenu(reqVO.getParentId(), null); | 51 | + validateParentMenu(createReqVO.getParentId(), null); |
| 53 | // 校验菜单(自己) | 52 | // 校验菜单(自己) |
| 54 | - validateMenu(reqVO.getParentId(), reqVO.getName(), null); | 53 | + validateMenu(createReqVO.getParentId(), createReqVO.getName(), null); |
| 55 | 54 | ||
| 56 | // 插入数据库 | 55 | // 插入数据库 |
| 57 | - MenuDO menu = MenuConvert.INSTANCE.convert(reqVO); | 56 | + MenuDO menu = BeanUtils.toBean(createReqVO, MenuDO.class); |
| 58 | initMenuProperty(menu); | 57 | initMenuProperty(menu); |
| 59 | menuMapper.insert(menu); | 58 | menuMapper.insert(menu); |
| 60 | // 返回 | 59 | // 返回 |
| @@ -64,20 +63,20 @@ public class MenuServiceImpl implements MenuService { | @@ -64,20 +63,20 @@ public class MenuServiceImpl implements MenuService { | ||
| 64 | @Override | 63 | @Override |
| 65 | @CacheEvict(value = RedisKeyConstants.PERMISSION_MENU_ID_LIST, | 64 | @CacheEvict(value = RedisKeyConstants.PERMISSION_MENU_ID_LIST, |
| 66 | allEntries = true) // allEntries 清空所有缓存,因为 permission 如果变更,涉及到新老两个 permission。直接清理,简单有效 | 65 | allEntries = true) // allEntries 清空所有缓存,因为 permission 如果变更,涉及到新老两个 permission。直接清理,简单有效 |
| 67 | - public void updateMenu(MenuUpdateReqVO reqVO) { | 66 | + public void updateMenu(MenuSaveVO updateReqVO) { |
| 68 | // 校验更新的菜单是否存在 | 67 | // 校验更新的菜单是否存在 |
| 69 | - if (menuMapper.selectById(reqVO.getId()) == null) { | 68 | + if (menuMapper.selectById(updateReqVO.getId()) == null) { |
| 70 | throw exception(MENU_NOT_EXISTS); | 69 | throw exception(MENU_NOT_EXISTS); |
| 71 | } | 70 | } |
| 72 | // 校验父菜单存在 | 71 | // 校验父菜单存在 |
| 73 | - validateParentMenu(reqVO.getParentId(), reqVO.getId()); | 72 | + validateParentMenu(updateReqVO.getParentId(), updateReqVO.getId()); |
| 74 | // 校验菜单(自己) | 73 | // 校验菜单(自己) |
| 75 | - validateMenu(reqVO.getParentId(), reqVO.getName(), reqVO.getId()); | 74 | + validateMenu(updateReqVO.getParentId(), updateReqVO.getName(), updateReqVO.getId()); |
| 76 | 75 | ||
| 77 | // 更新到数据库 | 76 | // 更新到数据库 |
| 78 | - MenuDO updateObject = MenuConvert.INSTANCE.convert(reqVO); | ||
| 79 | - initMenuProperty(updateObject); | ||
| 80 | - menuMapper.updateById(updateObject); | 77 | + MenuDO updateObj = BeanUtils.toBean(updateReqVO, MenuDO.class); |
| 78 | + initMenuProperty(updateObj); | ||
| 79 | + menuMapper.updateById(updateObj); | ||
| 81 | } | 80 | } |
| 82 | 81 | ||
| 83 | @Override | 82 | @Override |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/permission/RoleService.java
| 1 | package cn.iocoder.yudao.module.system.service.permission; | 1 | package cn.iocoder.yudao.module.system.service.permission; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 3 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 4 | -import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.RoleCreateReqVO; | ||
| 5 | -import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.RoleExportReqVO; | ||
| 6 | import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.RolePageReqVO; | 4 | import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.RolePageReqVO; |
| 7 | -import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.RoleUpdateReqVO; | 5 | +import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.RoleSaveReqVO; |
| 8 | import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleDO; | 6 | import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleDO; |
| 9 | 7 | ||
| 10 | import javax.validation.Valid; | 8 | import javax.validation.Valid; |
| @@ -22,18 +20,18 @@ public interface RoleService { | @@ -22,18 +20,18 @@ public interface RoleService { | ||
| 22 | /** | 20 | /** |
| 23 | * 创建角色 | 21 | * 创建角色 |
| 24 | * | 22 | * |
| 25 | - * @param reqVO 创建角色信息 | 23 | + * @param createReqVO 创建角色信息 |
| 26 | * @param type 角色类型 | 24 | * @param type 角色类型 |
| 27 | * @return 角色编号 | 25 | * @return 角色编号 |
| 28 | */ | 26 | */ |
| 29 | - Long createRole(@Valid RoleCreateReqVO reqVO, Integer type); | 27 | + Long createRole(@Valid RoleSaveReqVO createReqVO, Integer type); |
| 30 | 28 | ||
| 31 | /** | 29 | /** |
| 32 | * 更新角色 | 30 | * 更新角色 |
| 33 | * | 31 | * |
| 34 | - * @param reqVO 更新角色信息 | 32 | + * @param updateReqVO 更新角色信息 |
| 35 | */ | 33 | */ |
| 36 | - void updateRole(@Valid RoleUpdateReqVO reqVO); | 34 | + void updateRole(@Valid RoleSaveReqVO updateReqVO); |
| 37 | 35 | ||
| 38 | /** | 36 | /** |
| 39 | * 删除角色 | 37 | * 删除角色 |
| @@ -115,14 +113,6 @@ public interface RoleService { | @@ -115,14 +113,6 @@ public interface RoleService { | ||
| 115 | PageResult<RoleDO> getRolePage(RolePageReqVO reqVO); | 113 | PageResult<RoleDO> getRolePage(RolePageReqVO reqVO); |
| 116 | 114 | ||
| 117 | /** | 115 | /** |
| 118 | - * 获得角色列表 | ||
| 119 | - * | ||
| 120 | - * @param reqVO 列表查询 | ||
| 121 | - * @return 角色列表 | ||
| 122 | - */ | ||
| 123 | - List<RoleDO> getRoleList(RoleExportReqVO reqVO); | ||
| 124 | - | ||
| 125 | - /** | ||
| 126 | * 判断角色编号数组中,是否有管理员 | 116 | * 判断角色编号数组中,是否有管理员 |
| 127 | * | 117 | * |
| 128 | * @param ids 角色编号数组 | 118 | * @param ids 角色编号数组 |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/permission/RoleServiceImpl.java
| @@ -6,11 +6,9 @@ import cn.hutool.core.util.ObjectUtil; | @@ -6,11 +6,9 @@ import cn.hutool.core.util.ObjectUtil; | ||
| 6 | import cn.hutool.extra.spring.SpringUtil; | 6 | import cn.hutool.extra.spring.SpringUtil; |
| 7 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; | 7 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; |
| 8 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 8 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 9 | -import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.RoleCreateReqVO; | ||
| 10 | -import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.RoleExportReqVO; | 9 | +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 11 | import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.RolePageReqVO; | 10 | import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.RolePageReqVO; |
| 12 | -import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.RoleUpdateReqVO; | ||
| 13 | -import cn.iocoder.yudao.module.system.convert.permission.RoleConvert; | 11 | +import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.RoleSaveReqVO; |
| 14 | import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleDO; | 12 | import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleDO; |
| 15 | import cn.iocoder.yudao.module.system.dal.mysql.permission.RoleMapper; | 13 | import cn.iocoder.yudao.module.system.dal.mysql.permission.RoleMapper; |
| 16 | import cn.iocoder.yudao.module.system.dal.redis.RedisKeyConstants; | 14 | import cn.iocoder.yudao.module.system.dal.redis.RedisKeyConstants; |
| @@ -50,11 +48,11 @@ public class RoleServiceImpl implements RoleService { | @@ -50,11 +48,11 @@ public class RoleServiceImpl implements RoleService { | ||
| 50 | 48 | ||
| 51 | @Override | 49 | @Override |
| 52 | @Transactional(rollbackFor = Exception.class) | 50 | @Transactional(rollbackFor = Exception.class) |
| 53 | - public Long createRole(RoleCreateReqVO reqVO, Integer type) { | 51 | + public Long createRole(RoleSaveReqVO createReqVO, Integer type) { |
| 54 | // 校验角色 | 52 | // 校验角色 |
| 55 | - validateRoleDuplicate(reqVO.getName(), reqVO.getCode(), null); | 53 | + validateRoleDuplicate(createReqVO.getName(), createReqVO.getCode(), null); |
| 56 | // 插入到数据库 | 54 | // 插入到数据库 |
| 57 | - RoleDO role = RoleConvert.INSTANCE.convert(reqVO); | 55 | + RoleDO role = BeanUtils.toBean(createReqVO, RoleDO.class); |
| 58 | role.setType(ObjectUtil.defaultIfNull(type, RoleTypeEnum.CUSTOM.getType())); | 56 | role.setType(ObjectUtil.defaultIfNull(type, RoleTypeEnum.CUSTOM.getType())); |
| 59 | role.setStatus(CommonStatusEnum.ENABLE.getStatus()); | 57 | role.setStatus(CommonStatusEnum.ENABLE.getStatus()); |
| 60 | role.setDataScope(DataScopeEnum.ALL.getScope()); // 默认可查看所有数据。原因是,可能一些项目不需要项目权限 | 58 | role.setDataScope(DataScopeEnum.ALL.getScope()); // 默认可查看所有数据。原因是,可能一些项目不需要项目权限 |
| @@ -64,15 +62,15 @@ public class RoleServiceImpl implements RoleService { | @@ -64,15 +62,15 @@ public class RoleServiceImpl implements RoleService { | ||
| 64 | } | 62 | } |
| 65 | 63 | ||
| 66 | @Override | 64 | @Override |
| 67 | - @CacheEvict(value = RedisKeyConstants.ROLE, key = "#reqVO.id") | ||
| 68 | - public void updateRole(RoleUpdateReqVO reqVO) { | 65 | + @CacheEvict(value = RedisKeyConstants.ROLE, key = "#updateReqVO.id") |
| 66 | + public void updateRole(RoleSaveReqVO updateReqVO) { | ||
| 69 | // 校验是否可以更新 | 67 | // 校验是否可以更新 |
| 70 | - validateRoleForUpdate(reqVO.getId()); | 68 | + validateRoleForUpdate(updateReqVO.getId()); |
| 71 | // 校验角色的唯一字段是否重复 | 69 | // 校验角色的唯一字段是否重复 |
| 72 | - validateRoleDuplicate(reqVO.getName(), reqVO.getCode(), reqVO.getId()); | 70 | + validateRoleDuplicate(updateReqVO.getName(), updateReqVO.getCode(), updateReqVO.getId()); |
| 73 | 71 | ||
| 74 | // 更新到数据库 | 72 | // 更新到数据库 |
| 75 | - RoleDO updateObj = RoleConvert.INSTANCE.convert(reqVO); | 73 | + RoleDO updateObj = BeanUtils.toBean(updateReqVO, RoleDO.class); |
| 76 | roleMapper.updateById(updateObj); | 74 | roleMapper.updateById(updateObj); |
| 77 | } | 75 | } |
| 78 | 76 | ||
| @@ -209,11 +207,6 @@ public class RoleServiceImpl implements RoleService { | @@ -209,11 +207,6 @@ public class RoleServiceImpl implements RoleService { | ||
| 209 | } | 207 | } |
| 210 | 208 | ||
| 211 | @Override | 209 | @Override |
| 212 | - public List<RoleDO> getRoleList(RoleExportReqVO reqVO) { | ||
| 213 | - return roleMapper.selectList(reqVO); | ||
| 214 | - } | ||
| 215 | - | ||
| 216 | - @Override | ||
| 217 | public boolean hasAnySuperAdmin(Collection<Long> ids) { | 210 | public boolean hasAnySuperAdmin(Collection<Long> ids) { |
| 218 | if (CollectionUtil.isEmpty(ids)) { | 211 | if (CollectionUtil.isEmpty(ids)) { |
| 219 | return false; | 212 | return false; |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/tenant/TenantServiceImpl.java
| @@ -11,7 +11,7 @@ import cn.iocoder.yudao.framework.common.util.date.DateUtils; | @@ -11,7 +11,7 @@ import cn.iocoder.yudao.framework.common.util.date.DateUtils; | ||
| 11 | import cn.iocoder.yudao.framework.tenant.config.TenantProperties; | 11 | import cn.iocoder.yudao.framework.tenant.config.TenantProperties; |
| 12 | import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder; | 12 | import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder; |
| 13 | import cn.iocoder.yudao.framework.tenant.core.util.TenantUtils; | 13 | import cn.iocoder.yudao.framework.tenant.core.util.TenantUtils; |
| 14 | -import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.RoleCreateReqVO; | 14 | +import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.RoleSaveReqVO; |
| 15 | import cn.iocoder.yudao.module.system.controller.admin.tenant.vo.tenant.TenantCreateReqVO; | 15 | import cn.iocoder.yudao.module.system.controller.admin.tenant.vo.tenant.TenantCreateReqVO; |
| 16 | import cn.iocoder.yudao.module.system.controller.admin.tenant.vo.tenant.TenantExportReqVO; | 16 | import cn.iocoder.yudao.module.system.controller.admin.tenant.vo.tenant.TenantExportReqVO; |
| 17 | import cn.iocoder.yudao.module.system.controller.admin.tenant.vo.tenant.TenantPageReqVO; | 17 | import cn.iocoder.yudao.module.system.controller.admin.tenant.vo.tenant.TenantPageReqVO; |
| @@ -130,7 +130,7 @@ public class TenantServiceImpl implements TenantService { | @@ -130,7 +130,7 @@ public class TenantServiceImpl implements TenantService { | ||
| 130 | 130 | ||
| 131 | private Long createRole(TenantPackageDO tenantPackage) { | 131 | private Long createRole(TenantPackageDO tenantPackage) { |
| 132 | // 创建角色 | 132 | // 创建角色 |
| 133 | - RoleCreateReqVO reqVO = new RoleCreateReqVO(); | 133 | + RoleSaveReqVO reqVO = new RoleSaveReqVO(); |
| 134 | reqVO.setName(RoleCodeEnum.TENANT_ADMIN.getName()).setCode(RoleCodeEnum.TENANT_ADMIN.getCode()) | 134 | reqVO.setName(RoleCodeEnum.TENANT_ADMIN.getName()).setCode(RoleCodeEnum.TENANT_ADMIN.getCode()) |
| 135 | .setSort(0).setRemark("系统自动生成"); | 135 | .setSort(0).setRemark("系统自动生成"); |
| 136 | Long roleId = roleService.createRole(reqVO, RoleTypeEnum.SYSTEM.getType()); | 136 | Long roleId = roleService.createRole(reqVO, RoleTypeEnum.SYSTEM.getType()); |
yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/permission/MenuServiceImplTest.java
| @@ -2,9 +2,8 @@ package cn.iocoder.yudao.module.system.service.permission; | @@ -2,9 +2,8 @@ package cn.iocoder.yudao.module.system.service.permission; | ||
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; | 3 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; |
| 4 | import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest; | 4 | import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest; |
| 5 | -import cn.iocoder.yudao.module.system.controller.admin.permission.vo.menu.MenuCreateReqVO; | ||
| 6 | import cn.iocoder.yudao.module.system.controller.admin.permission.vo.menu.MenuListReqVO; | 5 | import cn.iocoder.yudao.module.system.controller.admin.permission.vo.menu.MenuListReqVO; |
| 7 | -import cn.iocoder.yudao.module.system.controller.admin.permission.vo.menu.MenuUpdateReqVO; | 6 | +import cn.iocoder.yudao.module.system.controller.admin.permission.vo.menu.MenuSaveVO; |
| 8 | import cn.iocoder.yudao.module.system.dal.dataobject.permission.MenuDO; | 7 | import cn.iocoder.yudao.module.system.dal.dataobject.permission.MenuDO; |
| 9 | import cn.iocoder.yudao.module.system.dal.mysql.permission.MenuMapper; | 8 | import cn.iocoder.yudao.module.system.dal.mysql.permission.MenuMapper; |
| 10 | import cn.iocoder.yudao.module.system.enums.permission.MenuTypeEnum; | 9 | import cn.iocoder.yudao.module.system.enums.permission.MenuTypeEnum; |
| @@ -14,7 +13,8 @@ import org.springframework.boot.test.mock.mockito.MockBean; | @@ -14,7 +13,8 @@ import org.springframework.boot.test.mock.mockito.MockBean; | ||
| 14 | import org.springframework.context.annotation.Import; | 13 | import org.springframework.context.annotation.Import; |
| 15 | 14 | ||
| 16 | import javax.annotation.Resource; | 15 | import javax.annotation.Resource; |
| 17 | -import java.util.*; | 16 | +import java.util.List; |
| 17 | +import java.util.Set; | ||
| 18 | 18 | ||
| 19 | import static cn.iocoder.yudao.framework.common.util.collection.SetUtils.asSet; | 19 | import static cn.iocoder.yudao.framework.common.util.collection.SetUtils.asSet; |
| 20 | import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId; | 20 | import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId; |
| @@ -51,16 +51,16 @@ public class MenuServiceImplTest extends BaseDbUnitTest { | @@ -51,16 +51,16 @@ public class MenuServiceImplTest extends BaseDbUnitTest { | ||
| 51 | menuMapper.insert(menuDO); | 51 | menuMapper.insert(menuDO); |
| 52 | Long parentId = menuDO.getId(); | 52 | Long parentId = menuDO.getId(); |
| 53 | // 准备参数 | 53 | // 准备参数 |
| 54 | - MenuCreateReqVO reqVO = randomPojo(MenuCreateReqVO.class, o -> { | 54 | + MenuSaveVO reqVO = randomPojo(MenuSaveVO.class, o -> { |
| 55 | o.setParentId(parentId); | 55 | o.setParentId(parentId); |
| 56 | o.setName("testSonName"); | 56 | o.setName("testSonName"); |
| 57 | o.setType(MenuTypeEnum.MENU.getType()); | 57 | o.setType(MenuTypeEnum.MENU.getType()); |
| 58 | - }); | 58 | + }).setId(null); // 防止 id 被赋值 |
| 59 | Long menuId = menuService.createMenu(reqVO); | 59 | Long menuId = menuService.createMenu(reqVO); |
| 60 | 60 | ||
| 61 | // 校验记录的属性是否正确 | 61 | // 校验记录的属性是否正确 |
| 62 | MenuDO dbMenu = menuMapper.selectById(menuId); | 62 | MenuDO dbMenu = menuMapper.selectById(menuId); |
| 63 | - assertPojoEquals(reqVO, dbMenu); | 63 | + assertPojoEquals(reqVO, dbMenu, "id"); |
| 64 | } | 64 | } |
| 65 | 65 | ||
| 66 | @Test | 66 | @Test |
| @@ -69,7 +69,7 @@ public class MenuServiceImplTest extends BaseDbUnitTest { | @@ -69,7 +69,7 @@ public class MenuServiceImplTest extends BaseDbUnitTest { | ||
| 69 | MenuDO sonMenuDO = createParentAndSonMenu(); | 69 | MenuDO sonMenuDO = createParentAndSonMenu(); |
| 70 | Long sonId = sonMenuDO.getId(); | 70 | Long sonId = sonMenuDO.getId(); |
| 71 | // 准备参数 | 71 | // 准备参数 |
| 72 | - MenuUpdateReqVO reqVO = randomPojo(MenuUpdateReqVO.class, o -> { | 72 | + MenuSaveVO reqVO = randomPojo(MenuSaveVO.class, o -> { |
| 73 | o.setId(sonId); | 73 | o.setId(sonId); |
| 74 | o.setName("testSonName"); // 修改名字 | 74 | o.setName("testSonName"); // 修改名字 |
| 75 | o.setParentId(sonMenuDO.getParentId()); | 75 | o.setParentId(sonMenuDO.getParentId()); |
| @@ -86,7 +86,7 @@ public class MenuServiceImplTest extends BaseDbUnitTest { | @@ -86,7 +86,7 @@ public class MenuServiceImplTest extends BaseDbUnitTest { | ||
| 86 | @Test | 86 | @Test |
| 87 | public void testUpdateMenu_sonIdNotExist() { | 87 | public void testUpdateMenu_sonIdNotExist() { |
| 88 | // 准备参数 | 88 | // 准备参数 |
| 89 | - MenuUpdateReqVO reqVO = randomPojo(MenuUpdateReqVO.class); | 89 | + MenuSaveVO reqVO = randomPojo(MenuSaveVO.class); |
| 90 | // 调用,并断言异常 | 90 | // 调用,并断言异常 |
| 91 | assertServiceException(() -> menuService.updateMenu(reqVO), MENU_NOT_EXISTS); | 91 | assertServiceException(() -> menuService.updateMenu(reqVO), MENU_NOT_EXISTS); |
| 92 | } | 92 | } |
yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/permission/RoleServiceImplTest.java
| @@ -4,10 +4,8 @@ import cn.hutool.extra.spring.SpringUtil; | @@ -4,10 +4,8 @@ import cn.hutool.extra.spring.SpringUtil; | ||
| 4 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; | 4 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; |
| 5 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 5 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 6 | import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest; | 6 | import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest; |
| 7 | -import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.RoleCreateReqVO; | ||
| 8 | -import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.RoleExportReqVO; | ||
| 9 | import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.RolePageReqVO; | 7 | import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.RolePageReqVO; |
| 10 | -import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.RoleUpdateReqVO; | 8 | +import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.RoleSaveReqVO; |
| 11 | import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleDO; | 9 | import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleDO; |
| 12 | import cn.iocoder.yudao.module.system.dal.mysql.permission.RoleMapper; | 10 | import cn.iocoder.yudao.module.system.dal.mysql.permission.RoleMapper; |
| 13 | import cn.iocoder.yudao.module.system.enums.permission.DataScopeEnum; | 11 | import cn.iocoder.yudao.module.system.enums.permission.DataScopeEnum; |
| @@ -52,13 +50,14 @@ public class RoleServiceImplTest extends BaseDbUnitTest { | @@ -52,13 +50,14 @@ public class RoleServiceImplTest extends BaseDbUnitTest { | ||
| 52 | @Test | 50 | @Test |
| 53 | public void testCreateRole() { | 51 | public void testCreateRole() { |
| 54 | // 准备参数 | 52 | // 准备参数 |
| 55 | - RoleCreateReqVO reqVO = randomPojo(RoleCreateReqVO.class); | 53 | + RoleSaveReqVO reqVO = randomPojo(RoleSaveReqVO.class) |
| 54 | + .setId(null); // 防止 id 被赋值 | ||
| 56 | 55 | ||
| 57 | // 调用 | 56 | // 调用 |
| 58 | Long roleId = roleService.createRole(reqVO, null); | 57 | Long roleId = roleService.createRole(reqVO, null); |
| 59 | // 断言 | 58 | // 断言 |
| 60 | RoleDO roleDO = roleMapper.selectById(roleId); | 59 | RoleDO roleDO = roleMapper.selectById(roleId); |
| 61 | - assertPojoEquals(reqVO, roleDO); | 60 | + assertPojoEquals(reqVO, roleDO, "id"); |
| 62 | assertEquals(RoleTypeEnum.CUSTOM.getType(), roleDO.getType()); | 61 | assertEquals(RoleTypeEnum.CUSTOM.getType(), roleDO.getType()); |
| 63 | assertEquals(CommonStatusEnum.ENABLE.getStatus(), roleDO.getStatus()); | 62 | assertEquals(CommonStatusEnum.ENABLE.getStatus(), roleDO.getStatus()); |
| 64 | assertEquals(DataScopeEnum.ALL.getScope(), roleDO.getDataScope()); | 63 | assertEquals(DataScopeEnum.ALL.getScope(), roleDO.getDataScope()); |
| @@ -71,7 +70,7 @@ public class RoleServiceImplTest extends BaseDbUnitTest { | @@ -71,7 +70,7 @@ public class RoleServiceImplTest extends BaseDbUnitTest { | ||
| 71 | roleMapper.insert(roleDO); | 70 | roleMapper.insert(roleDO); |
| 72 | // 准备参数 | 71 | // 准备参数 |
| 73 | Long id = roleDO.getId(); | 72 | Long id = roleDO.getId(); |
| 74 | - RoleUpdateReqVO reqVO = randomPojo(RoleUpdateReqVO.class, o -> o.setId(id)); | 73 | + RoleSaveReqVO reqVO = randomPojo(RoleSaveReqVO.class, o -> o.setId(id)); |
| 75 | 74 | ||
| 76 | // 调用 | 75 | // 调用 |
| 77 | roleService.updateRole(reqVO); | 76 | roleService.updateRole(reqVO); |
| @@ -257,36 +256,6 @@ public class RoleServiceImplTest extends BaseDbUnitTest { | @@ -257,36 +256,6 @@ public class RoleServiceImplTest extends BaseDbUnitTest { | ||
| 257 | } | 256 | } |
| 258 | 257 | ||
| 259 | @Test | 258 | @Test |
| 260 | - public void testGetRoleList() { | ||
| 261 | - // mock 数据 | ||
| 262 | - RoleDO dbRole = randomPojo(RoleDO.class, o -> { // 等会查询到 | ||
| 263 | - o.setName("土豆"); | ||
| 264 | - o.setCode("tudou"); | ||
| 265 | - o.setStatus(CommonStatusEnum.ENABLE.getStatus()); | ||
| 266 | - o.setCreateTime(buildTime(2022, 2, 8)); | ||
| 267 | - }); | ||
| 268 | - roleMapper.insert(dbRole); | ||
| 269 | - // 测试 name 不匹配 | ||
| 270 | - roleMapper.insert(cloneIgnoreId(dbRole, o -> o.setName("红薯"))); | ||
| 271 | - // 测试 code 不匹配 | ||
| 272 | - roleMapper.insert(cloneIgnoreId(dbRole, o -> o.setCode("hong"))); | ||
| 273 | - // 测试 createTime 不匹配 | ||
| 274 | - roleMapper.insert(cloneIgnoreId(dbRole, o -> o.setCreateTime(buildTime(2022, 2, 16)))); | ||
| 275 | - // 准备参数 | ||
| 276 | - RoleExportReqVO reqVO = new RoleExportReqVO(); | ||
| 277 | - reqVO.setName("土豆"); | ||
| 278 | - reqVO.setCode("tu"); | ||
| 279 | - reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus()); | ||
| 280 | - reqVO.setCreateTime(buildBetweenTime(2022, 2, 1, 2022, 2, 12)); | ||
| 281 | - | ||
| 282 | - // 调用 | ||
| 283 | - List<RoleDO> list = roleService.getRoleList(reqVO); | ||
| 284 | - // 断言 | ||
| 285 | - assertEquals(1, list.size()); | ||
| 286 | - assertPojoEquals(dbRole, list.get(0)); | ||
| 287 | - } | ||
| 288 | - | ||
| 289 | - @Test | ||
| 290 | public void testGetRolePage() { | 259 | public void testGetRolePage() { |
| 291 | // mock 数据 | 260 | // mock 数据 |
| 292 | RoleDO dbRole = randomPojo(RoleDO.class, o -> { // 等会查询到 | 261 | RoleDO dbRole = randomPojo(RoleDO.class, o -> { // 等会查询到 |