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();
}