From 90cfa06ee8de27dd3b24581a032e62508c361e49 Mon Sep 17 00:00:00 2001 From: b2baccline <23131013+b2baccline@users.noreply.github.com> Date: Fri, 26 Jun 2020 20:36:05 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20=E8=A7=92=E8=89=B2=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=20system=20=E5=B1=9E=E6=80=A7=EF=BC=8C=E8=A1=A8?= =?UTF-8?q?=E5=90=8D=E6=98=AF=E5=90=A6=E4=B8=BA=E7=B3=BB=E7=BB=9F=E8=A7=92?= =?UTF-8?q?=E8=89=B2=EF=BC=8C=E7=B3=BB=E7=BB=9F=E8=A7=92=E8=89=B2=E4=B8=8D?= =?UTF-8?q?=E5=8F=AF=E5=88=A0=E9=99=A4=EF=BC=8C=E7=B3=BB=E7=BB=9F=E8=A7=92?= =?UTF-8?q?=E8=89=B2=E4=B8=8D=E5=8F=AF=E8=A2=AB=E5=8F=96=E6=B6=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sys/controller/SysRoleController.java | 34 ++++++++++++------- .../modules/sys/mapper/SysRoleMapper.java | 4 +-- .../modules/sys/model/entity/SysRole.java | 5 ++- .../modules/sys/service/SysRoleService.java | 2 +- .../sys/service/impl/SysRoleServiceImpl.java | 4 +-- 5 files changed, 31 insertions(+), 18 deletions(-) diff --git a/ballcat-admin/ballcat-admin-core/src/main/java/com/hccake/ballcat/admin/modules/sys/controller/SysRoleController.java b/ballcat-admin/ballcat-admin-core/src/main/java/com/hccake/ballcat/admin/modules/sys/controller/SysRoleController.java index 461451cd..bb9eca42 100644 --- a/ballcat-admin/ballcat-admin-core/src/main/java/com/hccake/ballcat/admin/modules/sys/controller/SysRoleController.java +++ b/ballcat-admin/ballcat-admin-core/src/main/java/com/hccake/ballcat/admin/modules/sys/controller/SysRoleController.java @@ -12,6 +12,7 @@ import com.hccake.ballcat.admin.modules.sys.service.SysRoleService; import com.hccake.ballcat.commom.log.operation.annotation.CreateOperationLogging; import com.hccake.ballcat.commom.log.operation.annotation.DeleteOperationLogging; import com.hccake.ballcat.commom.log.operation.annotation.UpdateOperationLogging; +import com.hccake.ballcat.common.core.result.BaseResultCode; import com.hccake.ballcat.common.core.result.R; import com.hccake.ballcat.common.core.vo.SelectData; import io.swagger.annotations.Api; @@ -46,8 +47,8 @@ public class SysRoleController { */ @GetMapping("/page") @PreAuthorize("@per.hasPermission('sys:sysrole:read')") - public R> getRolePage(Page page, SysRoleQO sysRoleQO) { - return R.ok(sysRoleService.page(page, sysRoleQO)); + public R> getRolePage(Page page, SysRoleQO sysRoleQo) { + return R.ok(sysRoleService.page(page, sysRoleQo)); } /** @@ -57,7 +58,7 @@ public class SysRoleController { */ @GetMapping("/{id}") @PreAuthorize("@per.hasPermission('sys:sysrole:read')") - public R getById(@PathVariable Integer id) { + public R getById(@PathVariable Integer id) { return R.ok(sysRoleService.getById(id)); } @@ -70,7 +71,7 @@ public class SysRoleController { @CreateOperationLogging(msg = "新增系统角色") @PostMapping @PreAuthorize("@per.hasPermission('sys:sysrole:add')") - public R save(@Valid @RequestBody SysRole sysRole) { + public R save(@Valid @RequestBody SysRole sysRole) { return R.ok(sysRoleService.save(sysRole)); } @@ -83,20 +84,29 @@ public class SysRoleController { @UpdateOperationLogging(msg = "修改系统角色") @PutMapping @PreAuthorize("@per.hasPermission('sys:sysrole:edit')") - public R update(@Valid @RequestBody SysRole role) { + public R update(@Valid @RequestBody SysRole role) { + SysRole oldRole = sysRoleService.getById(role.getId()); + if (oldRole.isSystem()) { + // 系统角色不能被取消 + role.setSystem(oldRole.isSystem()); + } return R.ok(sysRoleService.updateById(role)); } /** * 删除角色 - * @param id - * @return + * @param id id + * @return 结果信息 */ @DeleteMapping("/{id}") @ApiOperation(value = "通过id删除系统角色", notes = "通过id删除系统角色") @DeleteOperationLogging(msg = "通过id删除系统角色") @PreAuthorize("@per.hasPermission('sys:sysrole:del')") - public R removeById(@PathVariable Integer id) { + public R removeById(@PathVariable Integer id) { + SysRole oldRole = sysRoleService.getById(id); + if (oldRole.isSystem()) { + return R.failed(BaseResultCode.LOGIC_CHECK_ERROR, "系统角色不允许被删除!"); + } return R.ok(sysRoleService.removeRoleById(id)); } @@ -105,7 +115,7 @@ public class SysRoleController { * @return 角色列表 */ @GetMapping("/list") - public R listRoles() { + public R> listRoles() { return R.ok(sysRoleService.list(Wrappers.emptyWrapper())); } @@ -119,7 +129,7 @@ public class SysRoleController { @ApiOperation(value = "更新角色权限", notes = "更新角色权限") @UpdateOperationLogging(msg = "更新角色权限") @PreAuthorize("@per.hasPermission('sys:sysrole:grant')") - public R savePermissionIds(@PathVariable Integer roleId, @RequestBody Integer[] permissionIds) { + public R savePermissionIds(@PathVariable Integer roleId, @RequestBody Integer[] permissionIds) { return R.ok(sysRolePermissionService.saveRolePermissions(roleId, permissionIds)); } @@ -129,7 +139,7 @@ public class SysRoleController { * @return 属性集合 */ @GetMapping("/permission/ids/{roleId}") - public R getPermissionIds(@PathVariable Integer roleId) { + public R> getPermissionIds(@PathVariable Integer roleId) { return R.ok(sysPermissionService.findPermissionVOByRoleId(roleId).stream().map(PermissionVO::getId) .collect(Collectors.toList())); } @@ -139,7 +149,7 @@ public class SysRoleController { * @return 角色列表 */ @GetMapping("/select") - public R> getSelectData() { + public R>> getSelectData() { return R.ok(sysRoleService.getSelectData()); } diff --git a/ballcat-admin/ballcat-admin-core/src/main/java/com/hccake/ballcat/admin/modules/sys/mapper/SysRoleMapper.java b/ballcat-admin/ballcat-admin-core/src/main/java/com/hccake/ballcat/admin/modules/sys/mapper/SysRoleMapper.java index 81b7fa54..1d58943c 100644 --- a/ballcat-admin/ballcat-admin-core/src/main/java/com/hccake/ballcat/admin/modules/sys/mapper/SysRoleMapper.java +++ b/ballcat-admin/ballcat-admin-core/src/main/java/com/hccake/ballcat/admin/modules/sys/mapper/SysRoleMapper.java @@ -11,7 +11,7 @@ import java.util.List; * Mapper 接口 *

* - * @author + * @author ballcat * @since 2017-10-29 */ public interface SysRoleMapper extends BaseMapper { @@ -20,6 +20,6 @@ public interface SysRoleMapper extends BaseMapper { * 获取角色下拉框数据 * @return */ - List getSelectData(); + List> getSelectData(); } diff --git a/ballcat-admin/ballcat-admin-core/src/main/java/com/hccake/ballcat/admin/modules/sys/model/entity/SysRole.java b/ballcat-admin/ballcat-admin-core/src/main/java/com/hccake/ballcat/admin/modules/sys/model/entity/SysRole.java index 7e866655..d0d3ccdf 100644 --- a/ballcat-admin/ballcat-admin-core/src/main/java/com/hccake/ballcat/admin/modules/sys/model/entity/SysRole.java +++ b/ballcat-admin/ballcat-admin-core/src/main/java/com/hccake/ballcat/admin/modules/sys/model/entity/SysRole.java @@ -15,7 +15,7 @@ import java.time.LocalDateTime; * 角色表 *

* - * @author + * @author ballcat * @since 2017-10-29 */ @Data @@ -41,6 +41,9 @@ public class SysRole extends Model { @ApiModelProperty(value = "角色备注") private String note; + @ApiModelProperty("角色是否为系统角色") + private boolean system; + /** * 逻辑删除标识,已删除:0,未删除:删除时间戳 */ diff --git a/ballcat-admin/ballcat-admin-core/src/main/java/com/hccake/ballcat/admin/modules/sys/service/SysRoleService.java b/ballcat-admin/ballcat-admin-core/src/main/java/com/hccake/ballcat/admin/modules/sys/service/SysRoleService.java index 29c2df41..066f25dc 100644 --- a/ballcat-admin/ballcat-admin-core/src/main/java/com/hccake/ballcat/admin/modules/sys/service/SysRoleService.java +++ b/ballcat-admin/ballcat-admin-core/src/main/java/com/hccake/ballcat/admin/modules/sys/service/SysRoleService.java @@ -37,6 +37,6 @@ public interface SysRoleService extends IService { * 角色的选择数据 * @return */ - List getSelectData(); + List> getSelectData(); } diff --git a/ballcat-admin/ballcat-admin-core/src/main/java/com/hccake/ballcat/admin/modules/sys/service/impl/SysRoleServiceImpl.java b/ballcat-admin/ballcat-admin-core/src/main/java/com/hccake/ballcat/admin/modules/sys/service/impl/SysRoleServiceImpl.java index 22894476..b270a87d 100644 --- a/ballcat-admin/ballcat-admin-core/src/main/java/com/hccake/ballcat/admin/modules/sys/service/impl/SysRoleServiceImpl.java +++ b/ballcat-admin/ballcat-admin-core/src/main/java/com/hccake/ballcat/admin/modules/sys/service/impl/SysRoleServiceImpl.java @@ -23,7 +23,7 @@ import java.util.List; * 服务实现类 *

* - * @author + * @author ballcat * @since 2017-10-29 */ @Service @@ -66,7 +66,7 @@ public class SysRoleServiceImpl extends ServiceImpl impl * @return */ @Override - public List getSelectData() { + public List> getSelectData() { return baseMapper.getSelectData(); }