Skip to content

Commit ff59e9e

Browse files
committed
优化,给角色设置权限接口
1 parent 402fb19 commit ff59e9e

File tree

11 files changed

+107
-45
lines changed

11 files changed

+107
-45
lines changed

common/web/src/main/java/com/springboot/cloud/common/web/entity/form/BaseForm.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,18 @@ public T toPo(Class<T> clazz) {
2626
BeanUtils.copyProperties(this, t);
2727
return t;
2828
}
29+
30+
/**
31+
* From转化为Po,进行后续业务处理
32+
*
33+
* @param id
34+
* @param clazz
35+
* @return
36+
*/
37+
public T toPo(String id, Class<T> clazz) {
38+
T t = BeanUtils.instantiateClass(clazz);
39+
t.setId(id);
40+
BeanUtils.copyProperties(this, t);
41+
return t;
42+
}
2943
}

sysadmin/db/db.sql

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -193,37 +193,37 @@ VALUES (101, 'ADMIN', '超级管理员', '公司IT总负责人', now(), now(), '
193193
(103, 'IT', 'IT', 'IT角色', now(), now(), 'system', 'system');
194194
-- 资源
195195
INSERT INTO resource (id, name, code, type, url, method, description, created_time, updated_time, created_by, updated_by)
196-
VALUES (101, '新增用户', 'user_manager:btn_add', 'button', '/user', 'POST', '新增用户功能', now(), now(), 'system', 'system'),
197-
(102, '编辑用户', 'user_manager:btn_edit', 'button', '/user/{id}', 'PUT', '编辑用户功能', now(), now(), 'system', 'system'),
198-
(103, '删除用户', 'user_manager:btn_del', 'button', '/user/{id}', 'DELETE', '根据用户id删除用户', now(), now(), 'system', 'system'),
199-
(104, '查看用户', 'user_manager:view', 'url', '/user/{id}', 'GET', '根据用户id获取用户', now(), now(), 'system', 'system'),
200-
(105, '搜索用户', 'user_manager:query', 'url', '/user/conditions', 'POST', '根据条件查询用户', now(), now(), 'system', 'system'),
201-
(106, '获取用户', 'user_manager:get', 'url', '/user', 'GET', '根据唯一标识获取用户', now(), now(), 'system', 'system'),
202-
(201, '新增角色', 'role_manager:btn_add', 'url', '/role', 'POST', '新增角色功能', now(), now(), 'system', 'system'),
203-
(202, '编辑角色', 'role_manager:btn_edit', 'url', '/role/{id}', 'PUT', '编辑角色功能', now(), now(), 'system', 'system'),
204-
(203, '删除角色', 'role_manager:btn_del', 'url', '/role/{id}', 'DELETE', '根据id删除角色', now(), now(), 'system', 'system'),
205-
(204, '查看角色', 'role_manager:view', 'url', '/role/{id}', 'GET', '根据id获取角色', now(), now(), 'system', 'system'),
206-
(205, '根据用户id查询角色', 'role_manager:user', 'url', '/role/user/{userId}', 'GET', '根据用户id获取用户所拥有的角色集', now(), now(), 'system', 'system'),
207-
(206, '获取所有角色', 'role_manager:all', 'url', '/role/all', 'GET', '获取所有角色', now(), now(), 'system', 'system'),
208-
(207, '搜索角色', 'role_manager:query', 'url', '/role/conditions', 'POST', '根据条件查询角色', now(), now(), 'system', 'system'),
209-
(301, '根据父id查询组', 'group_manager:parent', 'url', '/group/parent/{id}', 'GET', '根据父id查询用户组', now(), now(), 'system', 'system'),
210-
(302, '查看用户组', 'group_manager:get', 'url', '/group/{id}', 'GET', '根据id查询用户组', now(), now(), 'system', 'system'),
211-
(303, '搜索用户组', 'group_manager:query', 'url', '/group/conditions', 'POST', '根据条件查询用户组信息', now(), now(), 'system', 'system'),
212-
(304, '删除用户组', 'group_manager:del', 'url', '/group/{id}', 'DELETE', '根据用户id删除用户组', now(), now(), 'system', 'system'),
213-
(305, '编辑用户组', 'group_manager:edit', 'url', '/group/{id}', 'PUT', '修改用户组', now(), now(), 'system', 'system'),
214-
(306, '新增用户组', 'group_manager:add', 'url', '/group', 'POST', '新增用户组', now(), now(), 'system', 'system'),
215-
(307, '新增网关路由', 'gateway_manager:add', 'url', '/gateway/routes', 'POST', '新增网关路由', now(), now(), 'system', 'system'),
216-
(308, '修改网关路由', 'gateway_manager:edit', 'url', '/gateway/routes/{id}', 'PUT', '修改网关路由', now(), now(), 'system', 'system'),
217-
(309, '删除网关路由', 'gateway_manager:adel', 'url', '/gateway/routes/{id}', 'DELETE', '删除网关路由', now(), now(), 'system', 'system'),
218-
(310, '查看网关路由', 'gateway_manager:view', 'url', '/gateway/routes/{id}', 'GET', '查看网关路由', now(), now(), 'system', 'system'),
219-
(311, '搜索网关路由', 'gateway_manager:query', 'url', '/gateway/routes/conditions', 'POST', '搜索网关路由', now(), now(), 'system', 'system'),
220-
(312, '全局加载路由', 'gateway_manager:overload', 'url', '/gateway/routes/overload', 'POST', '全局加载路由', now(), now(), 'system', 'system'),
221-
(313, '新增网关路由', 'resource_manager:add', 'url', '/resource', 'POST', '新增资源路由', now(), now(), 'system', 'system'),
222-
(314, '修改网关路由', 'resource_manager:edit', 'url', '/resource/{id}', 'PUT', '修改资源', now(), now(), 'system', 'system'),
223-
(315, '删除网关路由', 'resource_manager:adel', 'url', '/resource/{id}', 'DELETE', '删除资源', now(), now(), 'system', 'system'),
224-
(316, '查看网关路由', 'resource_manager:view', 'url', '/resource/{id}', 'GET', '查看资源', now(), now(), 'system', 'system'),
225-
(317, '搜索网关路由', 'resource_manager:query', 'url', '/resource/conditions', 'POST', '搜索资源', now(), now(), 'system', 'system'),
226-
(318, '全局加载路由', 'resource_manager:all', 'url', '/resource/all', 'GET', '查询全部资源', now(), now(), 'system', 'system');
196+
VALUES (101, '新增用户', 'user_manager:btn_add', 'user', '/user', 'POST', '新增用户功能', now(), now(), 'system', 'system'),
197+
(102, '编辑用户', 'user_manager:btn_edit', 'user', '/user/{id}', 'PUT', '编辑用户功能', now(), now(), 'system', 'system'),
198+
(103, '删除用户', 'user_manager:btn_del', 'user', '/user/{id}', 'DELETE', '根据用户id删除用户', now(), now(), 'system', 'system'),
199+
(104, '查看用户', 'user_manager:view', 'user', '/user/{id}', 'GET', '根据用户id获取用户', now(), now(), 'system', 'system'),
200+
(105, '搜索用户', 'user_manager:query', 'user', '/user/conditions', 'POST', '根据条件查询用户', now(), now(), 'system', 'system'),
201+
(106, '获取用户', 'user_manager:get', 'user', '/user', 'GET', '根据唯一标识获取用户', now(), now(), 'system', 'system'),
202+
(201, '新增角色', 'role_manager:btn_add', 'role', '/role', 'POST', '新增角色功能', now(), now(), 'system', 'system'),
203+
(202, '编辑角色', 'role_manager:btn_edit', 'role', '/role/{id}', 'PUT', '编辑角色功能', now(), now(), 'system', 'system'),
204+
(203, '删除角色', 'role_manager:btn_del', 'role', '/role/{id}', 'DELETE', '根据id删除角色', now(), now(), 'system', 'system'),
205+
(204, '查看角色', 'role_manager:view', 'role', '/role/{id}', 'GET', '根据id获取角色', now(), now(), 'system', 'system'),
206+
(205, '根据用户id查询角色', 'role_manager:user', 'role', '/role/user/{userId}', 'GET', '根据用户id获取用户所拥有的角色集', now(), now(), 'system', 'system'),
207+
(206, '获取所有角色', 'role_manager:all', 'role', '/role/all', 'GET', '获取所有角色', now(), now(), 'system', 'system'),
208+
(207, '搜索角色', 'role_manager:query', 'role', '/role/conditions', 'POST', '根据条件查询角色', now(), now(), 'system', 'system'),
209+
(301, '根据父id查询组', 'group_manager:parent', 'group', '/group/parent/{id}', 'GET', '根据父id查询用户组', now(), now(), 'system', 'system'),
210+
(302, '查看用户组', 'group_manager:get', 'group', '/group/{id}', 'GET', '根据id查询用户组', now(), now(), 'system', 'system'),
211+
(303, '搜索用户组', 'group_manager:query', 'group', '/group/conditions', 'POST', '根据条件查询用户组信息', now(), now(), 'system', 'system'),
212+
(304, '删除用户组', 'group_manager:del', 'group', '/group/{id}', 'DELETE', '根据用户id删除用户组', now(), now(), 'system', 'system'),
213+
(305, '编辑用户组', 'group_manager:edit', 'group', '/group/{id}', 'PUT', '修改用户组', now(), now(), 'system', 'system'),
214+
(306, '新增用户组', 'group_manager:add', 'group', '/group', 'POST', '新增用户组', now(), now(), 'system', 'system'),
215+
(307, '新增网关路由', 'gateway_manager:add', 'gateway', '/gateway/routes', 'POST', '新增网关路由', now(), now(), 'system', 'system'),
216+
(308, '修改网关路由', 'gateway_manager:edit', 'gateway', '/gateway/routes/{id}', 'PUT', '修改网关路由', now(), now(), 'system', 'system'),
217+
(309, '删除网关路由', 'gateway_manager:adel', 'gateway', '/gateway/routes/{id}', 'DELETE', '删除网关路由', now(), now(), 'system', 'system'),
218+
(310, '查看网关路由', 'gateway_manager:view', 'gateway', '/gateway/routes/{id}', 'GET', '查看网关路由', now(), now(), 'system', 'system'),
219+
(311, '搜索网关路由', 'gateway_manager:query', 'gateway', '/gateway/routes/conditions', 'POST', '搜索网关路由', now(), now(), 'system', 'system'),
220+
(312, '全局加载路由', 'gateway_manager:overload', 'gateway', '/gateway/routes/overload', 'POST', '全局加载路由', now(), now(), 'system', 'system'),
221+
(313, '新增网关路由', 'resource_manager:add', 'resource', '/resource', 'POST', '新增资源路由', now(), now(), 'system', 'system'),
222+
(314, '修改网关路由', 'resource_manager:edit', 'resource', '/resource/{id}', 'PUT', '修改资源', now(), now(), 'system', 'system'),
223+
(315, '删除网关路由', 'resource_manager:adel', 'resource', '/resource/{id}', 'DELETE', '删除资源', now(), now(), 'system', 'system'),
224+
(316, '查看网关路由', 'resource_manager:view', 'resource', '/resource/{id}', 'GET', '查看资源', now(), now(), 'system', 'system'),
225+
(317, '搜索网关路由', 'resource_manager:query', 'resource', '/resource/conditions', 'POST', '搜索资源', now(), now(), 'system', 'system'),
226+
(318, '全局加载路由', 'resource_manager:all', 'resource', '/resource/all', 'GET', '查询全部资源', now(), now(), 'system', 'system');
227227

228228
-- 用户关系授权
229229
INSERT INTO user_role_relation (id, user_id, role_id, created_time, updated_time, created_by, updated_by)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package com.springboot.cloud.sysadmin.organization.entity.form;
2+
3+
import com.springboot.cloud.common.web.entity.form.BaseForm;
4+
import com.springboot.cloud.sysadmin.organization.entity.po.Role;
5+
import io.swagger.annotations.ApiModel;
6+
import io.swagger.annotations.ApiModelProperty;
7+
import lombok.Data;
8+
9+
import java.util.Set;
10+
11+
@ApiModel
12+
@Data
13+
public class RoleUpdateForm extends BaseForm<Role> {
14+
15+
@ApiModelProperty(value = "角色编码")
16+
private String code;
17+
18+
@ApiModelProperty(value = "角色名称")
19+
private String name;
20+
21+
@ApiModelProperty(value = "角色描述")
22+
private String description;
23+
24+
@ApiModelProperty(value = "角色拥有的资源id列表")
25+
private Set<String> resourceIds;
26+
27+
}

sysadmin/organization/src/main/java/com/springboot/cloud/sysadmin/organization/exception/OrganizationErrorType.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
@Getter
77
public enum OrganizationErrorType implements ErrorType {
88

9-
USER_NOT_FOUND("030100", "用户未找到!");
9+
USER_NOT_FOUND("030100", "用户未找到!"),
10+
ROLE_NOT_FOUND("030200", "角色未找到!");
1011

1112
/**
1213
* 错误类型码
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.springboot.cloud.sysadmin.organization.exception;
2+
3+
import com.springboot.cloud.common.core.exception.BaseException;
4+
5+
public class RoleNotFoundException extends BaseException {
6+
public RoleNotFoundException() {
7+
super(OrganizationErrorType.ROLE_NOT_FOUND);
8+
}
9+
10+
public RoleNotFoundException(String message) {
11+
super(OrganizationErrorType.ROLE_NOT_FOUND, message);
12+
}
13+
}

sysadmin/organization/src/main/java/com/springboot/cloud/sysadmin/organization/rest/ResourceController.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,7 @@ public Result delete(@PathVariable String id) {
4545
})
4646
@PutMapping(value = "/{id}")
4747
public Result update(@PathVariable String id, @Valid @RequestBody ResourceForm resourceForm) {
48-
Resource resource = resourceForm.toPo(Resource.class);
49-
resource.setId(id);
48+
Resource resource = resourceForm.toPo(id, Resource.class);
5049
return Result.success(resourceService.update(resource));
5150
}
5251

@@ -75,7 +74,7 @@ public Result queryByUsername(@PathVariable String username) {
7574
)
7675
@GetMapping(value = "/all")
7776
public Result queryAll() {
78-
return Result.success(resourceService.queryAll());
77+
return Result.success(resourceService.getAll());
7978
}
8079

8180
@ApiOperation(value = "搜索资源", notes = "根据条件搜索资源信息")

sysadmin/organization/src/main/java/com/springboot/cloud/sysadmin/organization/rest/RoleController.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.springboot.cloud.common.core.entity.vo.Result;
44
import com.springboot.cloud.sysadmin.organization.entity.form.RoleForm;
55
import com.springboot.cloud.sysadmin.organization.entity.form.RoleQueryForm;
6+
import com.springboot.cloud.sysadmin.organization.entity.form.RoleUpdateForm;
67
import com.springboot.cloud.sysadmin.organization.entity.param.RoleQueryParam;
78
import com.springboot.cloud.sysadmin.organization.entity.po.Role;
89
import com.springboot.cloud.sysadmin.organization.service.IRoleService;
@@ -41,12 +42,11 @@ public Result delete(@PathVariable String id) {
4142
@ApiOperation(value = "修改角色", notes = "修改指定角色信息")
4243
@ApiImplicitParams({
4344
@ApiImplicitParam(name = "id", value = "角色ID", required = true, dataType = "long"),
44-
@ApiImplicitParam(name = "roleForm", value = "角色实体", required = true, dataType = "RoleForm")
45+
@ApiImplicitParam(name = "roleForm", value = "角色实体", required = true, dataType = "RoleUpdateForm")
4546
})
4647
@PutMapping(value = "/{id}")
47-
public Result update(@PathVariable String id, @Valid @RequestBody RoleForm roleForm) {
48-
Role role = roleForm.toPo(Role.class);
49-
role.setId(id);
48+
public Result update(@PathVariable String id, @Valid @RequestBody RoleUpdateForm roleUpdateForm) {
49+
Role role = roleUpdateForm.toPo(id, Role.class);
5050
return Result.success(roleService.update(role));
5151
}
5252

@@ -61,7 +61,7 @@ public Result get(@PathVariable String id) {
6161
@ApiOperation(value = "获取所有角色", notes = "获取所有角色")
6262
@GetMapping(value = "/all")
6363
public Result get() {
64-
return Result.success(roleService.get());
64+
return Result.success(roleService.getAll());
6565
}
6666

6767
@ApiOperation(value = "查询角色", notes = "根据用户id查询用户所拥有的角色信息")

sysadmin/organization/src/main/java/com/springboot/cloud/sysadmin/organization/service/IResourceService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public interface IResourceService {
3636
*
3737
* @return
3838
*/
39-
List<Resource> queryAll();
39+
List<Resource> getAll();
4040

4141
/**
4242
* 根据username查询角色拥有的资源

sysadmin/organization/src/main/java/com/springboot/cloud/sysadmin/organization/service/IRoleService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public interface IRoleService {
2121
*
2222
* @return
2323
*/
24-
List<Role> get();
24+
List<Role> getAll();
2525

2626
/**
2727
* 新增角色

sysadmin/organization/src/main/java/com/springboot/cloud/sysadmin/organization/service/impl/ResourceService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ public IPage<Resource> query(Page page, ResourceQueryParam resourceQueryParam) {
7878
}
7979

8080
@Override
81-
public List<Resource> queryAll() {
81+
public List<Resource> getAll() {
8282
return this.list();
8383
}
8484

0 commit comments

Comments
 (0)