SysRoleController.java 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. package com.qmth.distributed.print.api;
  2. import com.qmth.boot.api.constant.ApiConstant;
  3. import com.qmth.teachcloud.common.bean.params.SysRolePrivilegeParams;
  4. import com.qmth.teachcloud.common.annotation.OperationLogDetail;
  5. import com.qmth.teachcloud.common.contant.SystemConstant;
  6. import com.qmth.teachcloud.common.entity.SysRole;
  7. import com.qmth.teachcloud.common.enums.log.OperationTypeEnum;
  8. import com.qmth.teachcloud.common.service.SysRoleService;
  9. import com.qmth.teachcloud.common.util.Result;
  10. import com.qmth.teachcloud.common.util.ResultUtil;
  11. import io.swagger.annotations.Api;
  12. import io.swagger.annotations.ApiOperation;
  13. import org.springframework.validation.BindingResult;
  14. import org.springframework.validation.annotation.Validated;
  15. import org.springframework.web.bind.annotation.*;
  16. import javax.annotation.Resource;
  17. import javax.validation.Valid;
  18. import javax.validation.constraints.Max;
  19. import javax.validation.constraints.Min;
  20. import java.security.NoSuchAlgorithmException;
  21. /**
  22. * <p>
  23. * 角色表 前端控制器
  24. * </p>
  25. *
  26. * @author xf
  27. * @since 2021-03-23
  28. */
  29. @Api(tags = "角色Controller")
  30. @RestController
  31. @RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + SystemConstant.PREFIX_URL_SYS + "/role")
  32. @Validated
  33. public class SysRoleController {
  34. @Resource
  35. private SysRoleService sysRoleService;
  36. /**
  37. * 查询
  38. *
  39. * @param name
  40. * @param enable
  41. * @param pageNumber
  42. * @param pageSize
  43. * @return
  44. */
  45. @ApiOperation(value = "查询")
  46. @RequestMapping(value = "/list", method = RequestMethod.POST)
  47. public Result list(@RequestParam(value = "name", required = false) String name,
  48. @RequestParam(value = "enable", required = false) Boolean enable,
  49. @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
  50. @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
  51. return ResultUtil.ok(sysRoleService.list(name, enable, pageNumber, pageSize));
  52. }
  53. /**
  54. * 新增用户时查询角色方法
  55. *
  56. * @return
  57. */
  58. @ApiOperation(value = "新增用户时查询角色方法")
  59. @RequestMapping(value = "/list_to_user", method = RequestMethod.POST)
  60. public Result listToUser() {
  61. return ResultUtil.ok(sysRoleService.listToUser());
  62. }
  63. /**
  64. * 超管-角色管理
  65. *
  66. * @return
  67. */
  68. @ApiOperation(value = "超管-角色管理")
  69. @RequestMapping(value = "/list_to_admin", method = RequestMethod.POST)
  70. public Result listToAdmin() {
  71. return ResultUtil.ok(sysRoleService.listToAdmin());
  72. }
  73. /**
  74. * 新增/修改
  75. *
  76. * @param sysRolePrivilegeParams
  77. * @return
  78. */
  79. @ApiOperation(value = "新增/修改")
  80. @RequestMapping(value = "/save", method = RequestMethod.POST)
  81. @OperationLogDetail(operationType = OperationTypeEnum.SAVE, detail = "新增/修改操作,角色ID:{{sysRolePrivilegeParams.id}}、角色名称:{{sysRolePrivilegeParams.name}}")
  82. public Result save(@Valid @RequestBody SysRolePrivilegeParams sysRolePrivilegeParams, BindingResult bindingResult) {
  83. if (bindingResult.hasErrors()) {
  84. return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
  85. }
  86. sysRoleService.saveRoleNew(sysRolePrivilegeParams);
  87. return ResultUtil.ok();
  88. }
  89. /**
  90. * 启用/禁用
  91. *
  92. * @param role
  93. * @return
  94. */
  95. @ApiOperation(value = "启用/禁用")
  96. @RequestMapping(value = "/enable", method = RequestMethod.POST)
  97. @OperationLogDetail(operationType = OperationTypeEnum.ENABLE, detail = "启用/禁用操作,角色ID:{{role.id}}、启用/状态:{{role.enable}}")
  98. public Result enable(@RequestBody SysRole role) throws NoSuchAlgorithmException {
  99. return ResultUtil.ok(sysRoleService.enableReport(role));
  100. }
  101. /**
  102. * 删除
  103. *
  104. * @param id
  105. * @return
  106. */
  107. @ApiOperation(value = "删除")
  108. @RequestMapping(value = "/remove", method = RequestMethod.POST)
  109. @OperationLogDetail(operationType = OperationTypeEnum.DELETE, detail = "删除操作,角色ID:{{id}}")
  110. public Result remove(@RequestParam(value = "id") Long id) {
  111. return ResultUtil.ok(sysRoleService.removeReport(id));
  112. }
  113. /**
  114. * 用户已绑定角色列表
  115. *
  116. * @param userId
  117. * @return
  118. */
  119. @ApiOperation(value = "用户已绑定角色列表")
  120. @RequestMapping(value = "/get_user_roles", method = RequestMethod.POST)
  121. public Result getUserRoles(@RequestParam(value = "userId") Long userId) {
  122. return ResultUtil.ok(sysRoleService.listUserRoleIds(userId));
  123. }
  124. /**
  125. * 设置内置角色
  126. *
  127. * @param
  128. */
  129. @ApiOperation(value = "内置角色")
  130. @RequestMapping(value = "/builtin", method = RequestMethod.POST)
  131. public Result builtin(@RequestParam Long id,
  132. @RequestParam boolean defaultRole) {
  133. return ResultUtil.ok(sysRoleService.builtin(id, defaultRole));
  134. }
  135. }