|
@@ -2,6 +2,7 @@ package com.xiaoan.web.backend;
|
|
|
|
|
|
import com.github.pagehelper.PageInfo;
|
|
|
import com.xiaoan.common.constant.MsgCode;
|
|
|
+import com.xiaoan.common.exception.BaseRuntimeException;
|
|
|
import com.xiaoan.common.model.PageDto;
|
|
|
import com.xiaoan.common.util.ResultJson;
|
|
|
import com.xiaoan.dao.backend.RoleRepository;
|
|
@@ -32,6 +33,7 @@ import javax.validation.Valid;
|
|
|
import java.util.Date;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
+import java.util.Set;
|
|
|
|
|
|
|
|
|
/**
|
|
@@ -53,6 +55,10 @@ public class RoleController extends BaseController {
|
|
|
private ResourceService resourceService;
|
|
|
|
|
|
// @RequiresPermissions(logical = Logical.AND, value = {"view", "edit"})
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 超级管理员角色只有一个
|
|
|
+ */
|
|
|
@RequiresPermissions("admin:role:list")
|
|
|
@WebControllerLog(description = "角色权限-查询列表")
|
|
|
@ApiOperation("分页获取角色列表/搜索")
|
|
@@ -61,15 +67,20 @@ public class RoleController extends BaseController {
|
|
|
Condition condition = new Condition(RoleEntity.class);
|
|
|
// 参数名是属性
|
|
|
condition.and().andLike("roleName", "%" + param.getSearchKey()+ "%");
|
|
|
+ condition.and().andEqualTo("roleKey", "normal");
|
|
|
PageInfo<RoleEntity> pageInfo = roleService.findAll(condition, param.getPageNum(), param.getPageSize());
|
|
|
return new ResultJson(MsgCode.SUCCESS_CODE, pageInfo);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+ /**
|
|
|
+ * 超级管理员角色只有一个
|
|
|
+ */
|
|
|
@ApiOperation("获取角色")
|
|
|
@GetMapping("find")
|
|
|
public ResultJson find(){
|
|
|
- List<RoleEntity> result = roleService.findAll(new Condition(RoleEntity.class), "sort desc");
|
|
|
+ Condition condition = new Condition(RoleEntity.class);
|
|
|
+ condition.and().andEqualTo("roleKey", "normal");
|
|
|
+ List<RoleEntity> result = roleService.findAll(condition, "sort desc");
|
|
|
return new ResultJson(MsgCode.SUCCESS_CODE, result);
|
|
|
}
|
|
|
|
|
@@ -90,7 +101,6 @@ public class RoleController extends BaseController {
|
|
|
|
|
|
HashMap<Object, Object> resultMap = new HashMap<>();
|
|
|
|
|
|
-// List<ResourceTree> permission = resourceService.getResourcesTreeByRolePermission(id);
|
|
|
List<ResourceTree> permission = resourceService.getResourcesAllByRolePermission(id);
|
|
|
|
|
|
resultMap.put("role", roleEntity);
|
|
@@ -174,6 +184,10 @@ public class RoleController extends BaseController {
|
|
|
@ApiOperation("删除角色")
|
|
|
@GetMapping("delete/{id}")
|
|
|
public ResultJson delete(@PathVariable Long id){
|
|
|
+ RoleEntity roleEntity = roleService.findById(id);
|
|
|
+ if ("admin".equals(roleEntity.getRoleKey())) {
|
|
|
+ throw new BaseRuntimeException(MsgCode.e_ADMIN_4101, "管理员账户不能删除");
|
|
|
+ }
|
|
|
roleService.deleteById(id);
|
|
|
return new ResultJson(MsgCode.SUCCESS_CODE, MsgCode.msg_SUCCESS);
|
|
|
}
|
|
@@ -183,6 +197,16 @@ public class RoleController extends BaseController {
|
|
|
@ApiOperation("多角色删除")
|
|
|
@GetMapping("delete/all/{ids}")
|
|
|
public ResultJson delete(@PathVariable String ids){
|
|
|
+
|
|
|
+ // 管理员账户不能删除
|
|
|
+ String[] split = ids.split(",");
|
|
|
+ for (String s : split) {
|
|
|
+ RoleEntity roleEntity = roleService.findById(Long.valueOf(s));
|
|
|
+ if ("admin".equals(roleEntity.getRoleKey())) {
|
|
|
+ throw new BaseRuntimeException(MsgCode.e_ADMIN_4101, "管理员账户不能删除");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
roleService.deleteByIds(ids);
|
|
|
return new ResultJson(MsgCode.SUCCESS_CODE, MsgCode.msg_SUCCESS);
|
|
|
}
|