AdminUserOperationManagerController.java 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. package com.hys.app.controller.system;
  2. import com.hys.app.framework.database.WebPage;
  3. import com.hys.app.model.support.LogClient;
  4. import com.hys.app.model.support.validator.annotation.Log;
  5. import com.hys.app.model.system.dos.AdminUser;
  6. import com.hys.app.model.system.vo.AdminUserVO;
  7. import com.hys.app.service.system.AdminUserManager;
  8. import com.hys.app.service.system.DeptManager;
  9. import io.swagger.annotations.Api;
  10. import io.swagger.annotations.ApiImplicitParam;
  11. import io.swagger.annotations.ApiImplicitParams;
  12. import io.swagger.annotations.ApiOperation;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.validation.annotation.Validated;
  15. import org.springframework.web.bind.annotation.*;
  16. import springfox.documentation.annotations.ApiIgnore;
  17. import javax.validation.Valid;
  18. import java.util.List;
  19. /**
  20. * 平台管理员控制器
  21. *
  22. * @author zh
  23. * @version v7.0
  24. * @since v7.0.0
  25. * 2018-06-20 20:38:26
  26. */
  27. @RestController
  28. @RequestMapping("/admin/systems/manager/admin-users")
  29. @Api(description = "平台管理员管理相关API")
  30. @Validated
  31. public class AdminUserOperationManagerController {
  32. @Autowired
  33. private AdminUserManager adminUserManager;
  34. @Autowired
  35. private DeptManager deptManager;
  36. @ApiOperation(value = "查询平台管理员列表", response = AdminUser.class)
  37. @ApiImplicitParams({
  38. @ApiImplicitParam(name = "page_no", value = "页码", required = true, dataType = "int", paramType = "query"),
  39. @ApiImplicitParam(name = "page_size", value = "每页显示数量", required = true, dataType = "int", paramType = "query"),
  40. @ApiImplicitParam(name = "keyword", value = "关键字", dataType = "String", paramType = "query"),
  41. @ApiImplicitParam(name = "user_state", value = "是否删除,0为正常,-1为删除状态", dataType = "String", paramType = "query"),
  42. })
  43. @GetMapping
  44. public WebPage list(@ApiIgnore Long pageNo, @ApiIgnore Long pageSize, @ApiIgnore String keyword, @ApiIgnore Integer userState) {
  45. return this.adminUserManager.list(pageNo, pageSize, keyword, userState);
  46. }
  47. @ApiOperation(value = "添加平台管理员", response = AdminUser.class)
  48. @PostMapping
  49. @Log(client = LogClient.admin, detail = "添加用户编号为[${adminUserVO.sn}]的管理员")
  50. public AdminUser add(@Valid AdminUserVO adminUserVO) {
  51. return this.adminUserManager.add(adminUserVO);
  52. }
  53. @PutMapping(value = "/{id}")
  54. @ApiOperation(value = "修改平台管理员", response = AdminUser.class)
  55. @ApiImplicitParams({
  56. @ApiImplicitParam(name = "id", value = "主键", required = true, dataType = "int", paramType = "path")
  57. })
  58. @Log(client = LogClient.admin, detail = "修改ID为[${id}]的管理员信息")
  59. public AdminUser edit(@Valid AdminUserVO adminUserVO, @PathVariable Long id) {
  60. return this.adminUserManager.edit(adminUserVO, id);
  61. }
  62. @DeleteMapping(value = "/{id}")
  63. @ApiOperation(value = "删除平台管理员")
  64. @ApiImplicitParams({
  65. @ApiImplicitParam(name = "id", value = "要删除的平台管理员主键", required = true, dataType = "int", paramType = "path")
  66. })
  67. @Log(client = LogClient.admin, detail = "删除ID为[${id}]的管理员信息")
  68. public String delete(@PathVariable Long id) {
  69. this.adminUserManager.delete(id);
  70. return "";
  71. }
  72. @PutMapping(value = "/{id}/recover")
  73. @ApiOperation(value = "恢复平台管理员")
  74. @ApiImplicitParams({
  75. @ApiImplicitParam(name = "id", value = "平台管理员主键", required = true, dataType = "int", paramType = "path")
  76. })
  77. @Log(client = LogClient.admin, detail = "恢复ID为[${id}]的管理员信息")
  78. public void recover(@PathVariable Long id) {
  79. this.adminUserManager.recover(id);
  80. }
  81. @GetMapping(value = "/{id}")
  82. @ApiOperation(value = "查询一个平台管理员")
  83. @ApiImplicitParams({
  84. @ApiImplicitParam(name = "id", value = "要查询的平台管理员主键", required = true, dataType = "int", paramType = "path")
  85. })
  86. public AdminUser get(@PathVariable Long id) {
  87. AdminUser adminUser = this.adminUserManager.getModel(id);
  88. return adminUser;
  89. }
  90. @GetMapping(value = "/getUserByDept")
  91. @ApiOperation(value = "查看自己部门下的所有人员")
  92. public List<AdminUser> getUserByDept() {
  93. return this.adminUserManager.getUserByDept();
  94. }
  95. }