|
@@ -3,21 +3,25 @@ package com.gis.web.controller;
|
|
|
|
|
|
import com.gis.common.util.Result;
|
|
|
import com.gis.domain.po.SysRoleEntity;
|
|
|
-import com.gis.domain.dto.RoleRequest;
|
|
|
+import com.gis.domain.dto.RoleDto;
|
|
|
+import com.gis.domain.vo.UserVo;
|
|
|
import com.gis.service.SysResourceService;
|
|
|
import com.gis.service.SysRoleService;
|
|
|
+import com.gis.service.SysUserService;
|
|
|
+import com.gis.service.util.ResourceTree;
|
|
|
+import com.gis.service.util.ResourceTreeUtil;
|
|
|
+import com.gis.web.shiro.JwtUtil;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import lombok.extern.log4j.Log4j2;
|
|
|
-import org.apache.shiro.authz.annotation.Logical;
|
|
|
-import org.apache.shiro.authz.annotation.RequiresRoles;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
-import springfox.documentation.annotations.ApiIgnore;
|
|
|
|
|
|
import javax.validation.Valid;
|
|
|
import java.util.Date;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.List;
|
|
|
|
|
|
|
|
|
/**
|
|
@@ -25,7 +29,6 @@ import java.util.Date;
|
|
|
*
|
|
|
* 目前没有使用
|
|
|
*/
|
|
|
-@ApiIgnore
|
|
|
@Log4j2
|
|
|
@Api(tags = "角色管理")
|
|
|
@RestController
|
|
@@ -38,29 +41,30 @@ public class SysRoleController extends BaseController {
|
|
|
@Autowired
|
|
|
private SysResourceService sysResourceService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private SysUserService sysUserService;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
- @RequiresRoles(value = {"sys_admin"}, logical = Logical.OR)
|
|
|
+// @RequiresRoles(value = {"sys_admin"}, logical = Logical.OR)
|
|
|
@ApiOperation("角色列表")
|
|
|
@PostMapping("list")
|
|
|
-// public Result<SysRoleEntity> list(@RequestBody PageRequest param) {
|
|
|
-// startPage(param);
|
|
|
-// PageInfo<SysRoleEntity> page = new PageInfo<>(sysRoleService.findAll());
|
|
|
-// return Result.success(page);
|
|
|
-// }
|
|
|
public Result<SysRoleEntity> list() {
|
|
|
return Result.success(sysRoleService.findAll());
|
|
|
}
|
|
|
|
|
|
- @RequiresRoles(value = {"sys_admin"}, logical = Logical.OR)
|
|
|
+// @RequiresRoles(value = {"sys_admin"}, logical = Logical.OR)
|
|
|
@ApiOperation("新增/修改部信息")
|
|
|
@PostMapping("save")
|
|
|
- public Result save(@Valid @RequestBody RoleRequest param) {
|
|
|
+ public Result save(@Valid @RequestBody RoleDto param) {
|
|
|
|
|
|
SysRoleEntity entity = null;
|
|
|
if (param.getId() == null) {
|
|
|
entity = new SysRoleEntity();
|
|
|
BeanUtils.copyProperties(param, entity);
|
|
|
sysRoleService.save(entity);
|
|
|
+
|
|
|
} else {
|
|
|
entity = sysRoleService.findById(param.getId());
|
|
|
if (entity == null) {
|
|
@@ -71,8 +75,17 @@ public class SysRoleController extends BaseController {
|
|
|
entity.setUpdateTime(new Date());
|
|
|
sysRoleService.update(entity);
|
|
|
|
|
|
+ // 每次修改时,删除角色资源表信息,重新添加
|
|
|
+ sysRoleService.deleteRoleResource(entity.getId());
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ // 添加角色资源信息
|
|
|
+ for (long i : param.getResources()) {
|
|
|
+ sysRoleService.saveRoleResource(entity.getId(), i);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
return Result.success();
|
|
|
}
|
|
|
|
|
@@ -98,20 +111,18 @@ public class SysRoleController extends BaseController {
|
|
|
// }
|
|
|
|
|
|
|
|
|
-// @ApiOperation("角色详情")
|
|
|
-// @GetMapping("detail/{id}")
|
|
|
-// public Result detail(@PathVariable Long id) throws Exception {
|
|
|
-// SysRoleEntity entity = sysRoleService.findById(id);
|
|
|
-//
|
|
|
-// HashMap<Object, Object> resultMap = new HashMap<>();
|
|
|
-//
|
|
|
-// List<SysResourceEntity> resource = sysResourceService.findResourceByRoleId(id);
|
|
|
-//
|
|
|
-// resultMap.put("role", entity);
|
|
|
-// resultMap.put("resource", resource);
|
|
|
-//
|
|
|
-// return Result.success(resultMap);
|
|
|
-// }
|
|
|
+ @ApiOperation("角色详情")
|
|
|
+ @GetMapping("detail/{id}")
|
|
|
+ public Result detail(@PathVariable Long id) throws Exception {
|
|
|
+ SysRoleEntity entity = sysRoleService.findById(id);
|
|
|
+ List<ResourceTree> resourceTrees = sysResourceService.getResourcesByUserPermission(id);
|
|
|
+
|
|
|
+ HashMap<Object, Object> resultMap = new HashMap<>();
|
|
|
+ resultMap.put("role", entity);
|
|
|
+ resultMap.put("resource", resourceTrees);
|
|
|
+
|
|
|
+ return Result.success(resultMap);
|
|
|
+ }
|
|
|
|
|
|
|
|
|
@ApiOperation("删除角色")
|
|
@@ -122,30 +133,26 @@ public class SysRoleController extends BaseController {
|
|
|
}
|
|
|
|
|
|
|
|
|
+ @ApiOperation(value = "获取用户资源", notes = "把所有资源都给回前端,有权限的设置为true")
|
|
|
+ @GetMapping("resourceUser")
|
|
|
+ public Result getResourceUser() {
|
|
|
+ Long roleId = JwtUtil.getTokenLongValue(getToken(), "roleId");
|
|
|
+ List<ResourceTree> resourceTrees = sysResourceService.getResourcesByUserPermission(roleId);
|
|
|
+ return Result.success(resourceTrees);
|
|
|
+ }
|
|
|
|
|
|
- /**
|
|
|
- * 可能要改一下resourceKey 的值为sys
|
|
|
- */
|
|
|
-// @ApiOperation("获取资源")
|
|
|
-// @GetMapping("get/resource")
|
|
|
-// public Result getResource() throws Exception {
|
|
|
-//
|
|
|
-// Condition condition = new Condition(SysResourceEntity.class);
|
|
|
-// // 只查询普通角色
|
|
|
-// condition.and().andNotEqualTo("resourceKey","admin");
|
|
|
-// List<SysResourceEntity> result = sysResourceService.findAll(condition, "sort desc");
|
|
|
-// ResourceTreeUtil tree = new ResourceTreeUtil(result);
|
|
|
-// List<ResourceTree> resourceTrees = tree.buildTree();
|
|
|
-//
|
|
|
-// return Result.success(resourceTrees);
|
|
|
-// }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+ @ApiOperation(value = "获取全部资源")
|
|
|
+ @GetMapping("resource")
|
|
|
+ public Result getResource() {
|
|
|
+ ResourceTreeUtil trees = new ResourceTreeUtil(sysResourceService.findAll());
|
|
|
+ return Result.success(trees.buildTree());
|
|
|
+ }
|
|
|
|
|
|
|
|
|
+ @ApiOperation(value = "角色用户列表")
|
|
|
+ @GetMapping("userList/{id}")
|
|
|
+ public Result userList(@PathVariable Long id) {
|
|
|
+ List<UserVo> all = sysUserService.findByRoleId(id);
|
|
|
+ return Result.success(all);
|
|
|
+ }
|
|
|
}
|