Skip to content

Commit 68304f8

Browse files
committed
权限规则管理完成,角色管理及授权完成,其它功能的优化
1 parent 79a5e2b commit 68304f8

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+983
-252
lines changed

admin-api/src/main/java/com/lmxdawn/api/admin/controller/HelloController.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package com.lmxdawn.api.admin.controller;
22

3-
import com.github.pagehelper.PageInfo;
4-
import com.lmxdawn.api.admin.entity.auth.AuthAdmin;
53
import com.lmxdawn.api.admin.service.auth.AuthAdminService;
64
import com.lmxdawn.api.common.utils.ResultVOUtils;
75
import com.lmxdawn.api.admin.vo.ResultVO;
@@ -21,9 +19,7 @@ public ResultVO hello(
2119
@RequestParam(value = "offset") Integer offset
2220
, @RequestParam("offset") Integer limit
2321
) {
24-
PageInfo<AuthAdmin> authAdminPageSimpleVO = authAdminService.listAdminPage(0,1, null);
2522
return ResultVOUtils.error(1, "ssss");
26-
// return ResultVOUtils.success(authAdminPageSimpleVO);
2723
}
2824

2925
}

admin-api/src/main/java/com/lmxdawn/api/admin/controller/auth/AuthAdminController.java

Lines changed: 77 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,15 @@
33
import com.github.pagehelper.PageInfo;
44
import com.lmxdawn.api.admin.annotation.AuthRuleAnnotation;
55
import com.lmxdawn.api.admin.entity.auth.AuthAdmin;
6+
import com.lmxdawn.api.admin.entity.auth.AuthRole;
67
import com.lmxdawn.api.admin.entity.auth.AuthRoleAdmin;
78
import com.lmxdawn.api.admin.enums.ResultEnum;
8-
import com.lmxdawn.api.admin.form.admin.auth.AuthAdminForm;
9+
import com.lmxdawn.api.admin.form.auth.AuthAdminSaveForm;
10+
import com.lmxdawn.api.admin.form.auth.AuthAdminQueryForm;
911
import com.lmxdawn.api.admin.service.auth.AuthAdminService;
1012
import com.lmxdawn.api.admin.service.auth.AuthRoleAdminService;
1113
import com.lmxdawn.api.admin.service.auth.AuthRoleService;
14+
import com.lmxdawn.api.admin.vo.auth.AuthAdminRoleVO;
1215
import com.lmxdawn.api.common.utils.ResultVOUtils;
1316
import com.lmxdawn.api.admin.vo.PageSimpleVO;
1417
import com.lmxdawn.api.admin.vo.ResultVO;
@@ -42,44 +45,40 @@ public class AuthAdminController {
4245
*/
4346
@AuthRuleAnnotation("/admin/auth/admin/index")
4447
@GetMapping("/admin/auth/admin/index")
45-
public ResultVO index(@RequestParam(value = "page",defaultValue = "1") Integer page,
46-
@RequestParam(value = "limit",defaultValue = "20") Integer limit,
47-
@RequestParam(value = "status", required = false) Integer status,
48-
@RequestParam(value = "username", required = false) String username,
49-
@RequestParam(value = "roleId", required = false) Long roleId) {
50-
51-
Map<String, Object> map = new HashMap<>();
52-
map.put("status", status);
53-
map.put("username", username);
54-
55-
if (roleId != null) {
56-
List<AuthRoleAdmin> authRoleAdmins = authRoleAdminService.listByRoleId(roleId);
48+
public ResultVO index(@Valid AuthAdminQueryForm authAdminQueryForm,
49+
BindingResult bindingResult) {
50+
51+
if (bindingResult.hasErrors()) {
52+
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
53+
}
54+
55+
if (authAdminQueryForm.getRoleId() != null) {
56+
List<AuthRoleAdmin> authRoleAdmins = authRoleAdminService.listByRoleId(authAdminQueryForm.getRoleId());
5757
List<Long> ids = new ArrayList<>();
5858
if (authRoleAdmins != null && !authRoleAdmins.isEmpty()) {
5959
ids = authRoleAdmins.stream().map(AuthRoleAdmin::getAdminId).collect(Collectors.toList());
6060
}
61-
map.put("ids", ids);
61+
authAdminQueryForm.setIds(ids);
6262
}
63+
List<AuthAdmin> authAdminList = authAdminService.listAdminPage(authAdminQueryForm);
6364

64-
PageInfo<AuthAdmin> authAdminPageInfo = authAdminService.listAdminPage(page, limit, map);
65-
List<Long> adminIds = authAdminPageInfo.getList().stream().map(AuthAdmin::getId).collect(Collectors.toList());
65+
// 查询所有的权限
66+
List<Long> adminIds = authAdminList.stream().map(AuthAdmin::getId).collect(Collectors.toList());
6667
List<AuthRoleAdmin> authRoleAdminList = authRoleAdminService.listByAdminIdIn(adminIds);
6768

6869
// 视图列表
69-
List<AuthAdminVo> authAdminVoList = new ArrayList<>();
70-
authAdminPageInfo.getList().forEach(v -> {
70+
List<AuthAdminVo> authAdminVoList = authAdminList.stream().map(item -> {
7171
AuthAdminVo authAdminVo = new AuthAdminVo();
72-
BeanUtils.copyProperties(v, authAdminVo);
73-
List<Long> roles = new ArrayList<>();
74-
authRoleAdminList.forEach(authRoleAdmin -> {
75-
if (v.getId().equals(authRoleAdmin.getAdminId())) {
76-
roles.add(authRoleAdmin.getRoleId());
77-
}
78-
});
72+
BeanUtils.copyProperties(item, authAdminVo);
73+
List<Long> roles = authRoleAdminList.stream()
74+
.filter(authRoleAdmin -> authAdminVo.getId().equals(authRoleAdmin.getAdminId()))
75+
.map(AuthRoleAdmin::getRoleId)
76+
.collect(Collectors.toList());
7977
authAdminVo.setRoles(roles);
80-
authAdminVoList.add(authAdminVo);
81-
});
78+
return authAdminVo;
79+
}).collect(Collectors.toList());
8280

81+
PageInfo<AuthAdmin> authAdminPageInfo = new PageInfo<>(authAdminList);
8382
PageSimpleVO<AuthAdminVo> authAdminPageSimpleVO = new PageSimpleVO<>();
8483
authAdminPageSimpleVO.setTotal(authAdminPageInfo.getTotal());
8584
authAdminPageSimpleVO.setList(authAdminVoList);
@@ -89,81 +88,116 @@ public ResultVO index(@RequestParam(value = "page",defaultValue = "1") Integer p
8988
}
9089

9190

92-
9391
/**
9492
* 获取角色列表
9593
*/
9694
@AuthRuleAnnotation("/admin/auth/admin/roleList")
9795
@GetMapping("/admin/auth/admin/roleList")
98-
public ResultVO roleList(@RequestParam(value = "page",defaultValue = "1") Integer page,
99-
@RequestParam(value = "limit",defaultValue = "50") Integer limit,
100-
Map<String, Object> map) {
101-
102-
return ResultVOUtils.success(authRoleService.listAuthAdminRolePage(page, limit, map));
96+
public ResultVO roleList(@RequestParam(value = "page", defaultValue = "1") Integer page,
97+
@RequestParam(value = "limit", defaultValue = "50") Integer limit) {
98+
99+
List<AuthRole> authRoleList = authRoleService.listAuthAdminRolePage(page, limit, null);
100+
PageInfo<AuthRole> pageInfo = new PageInfo<>(authRoleList);
101+
PageSimpleVO<AuthAdminRoleVO> pageSimpleVO = new PageSimpleVO<>();
102+
pageSimpleVO.setTotal(pageInfo.getTotal());
103+
List<AuthAdminRoleVO> authAdminRoleVOS = authRoleList.stream().map(e -> {
104+
AuthAdminRoleVO authAdminRoleVO = new AuthAdminRoleVO();
105+
BeanUtils.copyProperties(e, authAdminRoleVO);
106+
return authAdminRoleVO;
107+
}).collect(Collectors.toList());
108+
pageSimpleVO.setList(authAdminRoleVOS);
109+
110+
return ResultVOUtils.success(pageSimpleVO);
103111

104112
}
105113

106114

107115
/**
108116
* 新增
117+
*
109118
* @return
110119
*/
111120
@AuthRuleAnnotation("/admin/auth/admin/save")
112121
@PostMapping("/admin/auth/admin/save")
113-
public ResultVO save(@RequestBody @Valid AuthAdminForm authAdminForm,
122+
public ResultVO save(@RequestBody @Valid AuthAdminSaveForm authAdminSaveForm,
114123
BindingResult bindingResult) {
115124

116125
if (bindingResult.hasErrors()) {
117126
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
118127
}
119128

129+
// 检查是否存在相同名称的管理员
130+
AuthAdmin byUserName = authAdminService.findByUserName(authAdminSaveForm.getUsername());
131+
if (byUserName != null) {
132+
return ResultVOUtils.error(ResultEnum.DATA_REPEAT, "当前管理员已存在");
133+
}
120134

121-
AuthAdmin authAdmin = authAdminService.insertAuthAdminForm(authAdminForm);
135+
AuthAdmin authAdmin = new AuthAdmin();
136+
BeanUtils.copyProperties(authAdminSaveForm, authAdmin);
137+
138+
boolean b = authAdminService.insertAuthAdmin(authAdmin);
139+
140+
if (!b) {
141+
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
142+
}
122143

123144
AuthAdminVo authAdminVo = new AuthAdminVo();
124145
BeanUtils.copyProperties(authAdmin, authAdminVo);
125-
authAdminVo.setRoles(authAdminForm.getRoles());
146+
authAdminVo.setRoles(authAdminSaveForm.getRoles());
126147

127148
return ResultVOUtils.success(authAdminVo);
128149
}
129150

130151
/**
131152
* 修改
153+
*
132154
* @return
133155
*/
134156
@AuthRuleAnnotation("/admin/auth/admin/edit")
135157
@PostMapping("/admin/auth/admin/edit")
136-
public ResultVO edit(@RequestBody @Valid AuthAdminForm authAdminForm,
158+
public ResultVO edit(@RequestBody @Valid AuthAdminSaveForm authAdminSaveForm,
137159
BindingResult bindingResult) {
138160

139161
if (bindingResult.hasErrors()) {
140162
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
141163
}
142164

143-
if (authAdminForm.getId() == null) {
165+
if (authAdminSaveForm.getId() == null) {
144166
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "参数错误!");
145167
}
146168

147-
boolean b = authAdminService.updateAuthAdminForm(authAdminForm);
169+
// 检查是否存在除了当前管理员的其它名称的管理员
170+
AuthAdmin byUserName = authAdminService.findByUserName(authAdminSaveForm.getUsername());
171+
if (byUserName != null && !authAdminSaveForm.getId().equals(byUserName.getId())) {
172+
return ResultVOUtils.error(ResultEnum.DATA_REPEAT, "当前管理员已存在");
173+
}
174+
175+
AuthAdmin authAdmin = new AuthAdmin();
176+
BeanUtils.copyProperties(authAdminSaveForm, authAdmin);
177+
178+
boolean b = authAdminService.updateAuthAdmin(authAdmin);
179+
148180
if (!b) {
149-
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "网络错误!");
181+
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
150182
}
183+
151184
return ResultVOUtils.success();
152185
}
153186

154187
/**
155188
* 删除
189+
*
156190
* @return
157191
*/
158192
@AuthRuleAnnotation("/admin/auth/admin/delete")
159193
@PostMapping("/admin/auth/admin/delete")
160-
public ResultVO delete(@RequestBody AuthAdminForm authAdminForm) {
194+
public ResultVO delete(@RequestBody AuthAdminSaveForm authAdminSaveForm) {
161195

162-
if (authAdminForm.getId() == null) {
196+
if (authAdminSaveForm.getId() == null) {
163197
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "参数错误!");
164198
}
165199

166-
boolean b = authAdminService.deleteById(authAdminForm.getId());
200+
boolean b = authAdminService.deleteById(authAdminSaveForm.getId());
167201
if (!b) {
168202
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
169203
}

admin-api/src/main/java/com/lmxdawn/api/admin/controller/auth/AuthPermissionRuleController.java

Lines changed: 93 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,20 @@
22

33
import com.lmxdawn.api.admin.annotation.AuthRuleAnnotation;
44
import com.lmxdawn.api.admin.entity.auth.AuthPermissionRule;
5+
import com.lmxdawn.api.admin.enums.ResultEnum;
6+
import com.lmxdawn.api.admin.form.auth.AuthPermissionRuleSaveForm;
57
import com.lmxdawn.api.admin.service.auth.AuthPermissionRuleService;
68
import com.lmxdawn.api.admin.utils.PermissionRuleTreeUtils;
79
import com.lmxdawn.api.admin.vo.ResultVO;
810
import com.lmxdawn.api.admin.vo.auth.AuthPermissionRuleMergeVO;
11+
import com.lmxdawn.api.admin.vo.auth.AuthPermissionRuleVO;
912
import com.lmxdawn.api.common.utils.ResultVOUtils;
10-
import org.springframework.web.bind.annotation.GetMapping;
11-
import org.springframework.web.bind.annotation.PostMapping;
12-
import org.springframework.web.bind.annotation.RequestParam;
13-
import org.springframework.web.bind.annotation.RestController;
13+
import org.springframework.beans.BeanUtils;
14+
import org.springframework.validation.BindingResult;
15+
import org.springframework.web.bind.annotation.*;
1416

1517
import javax.annotation.Resource;
18+
import javax.validation.Valid;
1619
import java.util.HashMap;
1720
import java.util.List;
1821
import java.util.Map;
@@ -26,34 +29,106 @@ public class AuthPermissionRuleController {
2629
@Resource
2730
private AuthPermissionRuleService authPermissionRuleService;
2831

32+
/**
33+
* 列表
34+
* @return
35+
*/
2936
@AuthRuleAnnotation("/admin/auth/permission_rule/index")
3037
@GetMapping("/admin/auth/permission_rule/index")
31-
public ResultVO index(@RequestParam(value = "status", required = false) Integer status,
32-
@RequestParam(value = "name", required = false) String name,
33-
Map<String,Object> map) {
38+
public ResultVO index() {
3439

35-
map.put("status", status);
36-
map.put("name", name);
3740

38-
List<AuthPermissionRule> authPermissionRuleList = authPermissionRuleService.listAll(map);
41+
List<AuthPermissionRule> authPermissionRuleList = authPermissionRuleService.listAll();
3942
List<AuthPermissionRuleMergeVO> merge = PermissionRuleTreeUtils.merge(authPermissionRuleList,0L);
4043

4144
Map<String,Object> restMap = new HashMap<>();
4245
restMap.put("list", merge);
4346
return ResultVOUtils.success(restMap);
4447
}
4548

49+
/**
50+
* 新增
51+
* @param authPermissionRuleSaveForm
52+
* @param bindingResult
53+
* @return
54+
*/
4655
@AuthRuleAnnotation("/admin/auth/permission_rule/save")
4756
@PostMapping("/admin/auth/permission_rule/save")
48-
public ResultVO save(@RequestParam(value = "pid", defaultValue = "0") Long pid) {
57+
public ResultVO save(@RequestBody @Valid AuthPermissionRuleSaveForm authPermissionRuleSaveForm,
58+
BindingResult bindingResult) {
4959

50-
Map<String,Object> restMap = new HashMap<>();
51-
restMap.put("id", 1);
52-
restMap.put("pid", 1);
53-
restMap.put("name", "user_manage");
54-
restMap.put("title", "用户管理");
55-
restMap.put("status", 1);
56-
return ResultVOUtils.success(restMap);
60+
if (bindingResult.hasErrors()) {
61+
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
62+
}
63+
64+
if (authPermissionRuleSaveForm.getPid() == null) {
65+
authPermissionRuleSaveForm.setPid(0L); // 默认设置
66+
}
67+
AuthPermissionRule authPermissionRule = new AuthPermissionRule();
68+
BeanUtils.copyProperties(authPermissionRuleSaveForm, authPermissionRule);
69+
70+
boolean b = authPermissionRuleService.insertAuthPermissionRule(authPermissionRule);
71+
if (!b) {
72+
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
73+
}
74+
75+
AuthPermissionRuleVO authPermissionRuleVO = new AuthPermissionRuleVO();
76+
BeanUtils.copyProperties(authPermissionRule, authPermissionRuleVO);
77+
78+
return ResultVOUtils.success(authPermissionRuleVO);
79+
}
80+
81+
/**
82+
* 编辑
83+
* @param authPermissionRuleSaveForm
84+
* @param bindingResult
85+
* @return
86+
*/
87+
@AuthRuleAnnotation("/admin/auth/permission_rule/edit")
88+
@PostMapping("/admin/auth/permission_rule/edit")
89+
public ResultVO edit(@RequestBody @Valid AuthPermissionRuleSaveForm authPermissionRuleSaveForm,
90+
BindingResult bindingResult) {
91+
92+
if (bindingResult.hasErrors()) {
93+
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
94+
}
95+
96+
if (authPermissionRuleSaveForm.getId() == null) {
97+
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
98+
}
99+
100+
authPermissionRuleSaveForm.setPid(null); // 不能修改父级 pid
101+
102+
AuthPermissionRule authPermissionRule = new AuthPermissionRule();
103+
BeanUtils.copyProperties(authPermissionRuleSaveForm, authPermissionRule);
104+
105+
boolean b = authPermissionRuleService.updateAuthPermissionRule(authPermissionRule);
106+
if (!b) {
107+
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
108+
}
109+
110+
return ResultVOUtils.success();
111+
}
112+
113+
/**
114+
* 删除
115+
* @param authPermissionRuleSaveForm
116+
* @return
117+
*/
118+
@AuthRuleAnnotation("/admin/auth/permission_rule/delete")
119+
@PostMapping("/admin/auth/permission_rule/delete")
120+
public ResultVO delete(@RequestBody AuthPermissionRuleSaveForm authPermissionRuleSaveForm) {
121+
122+
if (authPermissionRuleSaveForm.getId() == null) {
123+
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
124+
}
125+
126+
boolean b = authPermissionRuleService.deleteById(authPermissionRuleSaveForm.getId());
127+
if (!b) {
128+
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
129+
}
130+
131+
return ResultVOUtils.success();
57132
}
58133

59134

0 commit comments

Comments
 (0)