RoleInfoController.java 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. package com.zhiqiyun.open.mvc.controller;
  2. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  3. import com.baomidou.mybatisplus.core.metadata.OrderItem;
  4. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  5. import com.zhiqiyun.open.annotation.Permission;
  6. import com.zhiqiyun.open.core.models.user.RoleInfo;
  7. import com.zhiqiyun.open.core.service.RoleInfoService;
  8. import com.zhiqiyun.open.mvc.Result;
  9. import com.zhiqiyun.open.mvc.params.QueryRoleParam;
  10. import com.zhiqiyun.open.mvc.params.SaveRoleParam;
  11. import lombok.extern.slf4j.Slf4j;
  12. import org.apache.commons.lang3.StringUtils;
  13. import org.springframework.beans.BeanUtils;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.web.bind.annotation.PostMapping;
  16. import org.springframework.web.bind.annotation.RequestBody;
  17. import org.springframework.web.bind.annotation.RequestMapping;
  18. import org.springframework.web.bind.annotation.RestController;
  19. import javax.validation.Valid;
  20. import java.util.List;
  21. /**
  22. * @author jtoms
  23. */
  24. @Slf4j
  25. @RestController
  26. @RequestMapping("/user/role")
  27. public class RoleInfoController {
  28. @Autowired
  29. private RoleInfoService roleInfoService;
  30. @Permission(value = "oauth.role.find", tags = "查询系统角色")
  31. @PostMapping("/findPage")
  32. public Result findRolePage(@RequestBody QueryRoleParam params) {
  33. Page<RoleInfo> page = params.getPage();
  34. page.addOrder(OrderItem.desc("id"));
  35. QueryWrapper<RoleInfo> queryWrapper = new QueryWrapper<>();
  36. if (StringUtils.isNotBlank(params.getName())) {
  37. queryWrapper.like("name", params.getName());
  38. }
  39. Page<RoleInfo> resultData = this.roleInfoService.page(page, queryWrapper);
  40. for (RoleInfo roleInfo : resultData.getRecords()) {
  41. roleInfo.setListAuthorities(this.roleInfoService.findAuthorities(roleInfo.getId()));
  42. }
  43. return Result.instance(Result.Code.SUCCESS).setData(resultData);
  44. }
  45. @Permission(value = "oauth.role.find", tags = "查询所有系统角色")
  46. @PostMapping("/findAll")
  47. public Result findAll() {
  48. List<RoleInfo> listData = this.roleInfoService.list();
  49. return Result.instance(Result.Code.SUCCESS).setData(listData);
  50. }
  51. @Permission(value = "oauth.role.add", tags = "添加系统角色")
  52. @PostMapping("/save")
  53. public Result save(@Valid @RequestBody SaveRoleParam param) {
  54. RoleInfo roleInfo = new RoleInfo();
  55. BeanUtils.copyProperties(param, roleInfo);
  56. this.roleInfoService.insert(roleInfo, param.getListAuthorities());
  57. return Result.instance(Result.Code.MESSAGE_SUCCESS);
  58. }
  59. @Permission(value = "oauth.role.edit", tags = "更新系统角色")
  60. @PostMapping("/updateById")
  61. public Result updateById(Long id, @Valid @RequestBody SaveRoleParam param) {
  62. if (id == null || id <= 0) {
  63. return Result.instance("数据异常,请刷新页面后再试");
  64. }
  65. RoleInfo roleInfo = new RoleInfo();
  66. BeanUtils.copyProperties(param, roleInfo);
  67. roleInfo.setId(id);
  68. this.roleInfoService.updateById(roleInfo, param.getListAuthorities());
  69. return Result.instance(Result.Code.MESSAGE_SUCCESS);
  70. }
  71. @Permission(value = "oauth.role.delete", tags = "删除系统角色")
  72. @PostMapping("/deleteByIds")
  73. public Result deleteByIds(@RequestBody List<Long> ids) throws Exception {
  74. if (ids.contains(1000L)) {
  75. return Result.instance(Result.Code.MESSAGE_ERROR, "系统管理员不能删除");
  76. }
  77. this.roleInfoService.deleteByIds(ids);
  78. return Result.instance(Result.Code.MESSAGE_SUCCESS);
  79. }
  80. // @Permission(value = "oauth.role.authority", tags = "保存用户的权限值")
  81. // @PostMapping("/saveAuthorities")
  82. // public Result saveAuthorities(Long roleId, @RequestBody Long[] authorities) throws Exception {
  83. // this.roleInfoService.saveAuthorities(roleId, authorities);
  84. // return Result.instance(Result.Code.MESSAGE_SUCCESS);
  85. //
  86. // }
  87. }