SysUserController.java 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. package com.simuwang.manage.api.system;
  2. import com.simuwang.base.common.support.MybatisPage;
  3. import com.simuwang.base.common.support.vo.OnlyIdNameVO;
  4. import com.simuwang.base.pojo.dto.DeleteByIdCmd;
  5. import com.simuwang.base.pojo.dto.GetByIdQuery;
  6. import com.simuwang.base.pojo.dto.UpdateStatusCmd;
  7. import com.simuwang.base.pojo.dto.sys.*;
  8. import com.simuwang.base.pojo.vo.sys.SysRoleUserVO;
  9. import com.simuwang.base.pojo.vo.sys.SysUserVO;
  10. import com.simuwang.manage.service.system.SysUserService;
  11. import jakarta.validation.Valid;
  12. import org.springframework.web.bind.annotation.*;
  13. import java.util.List;
  14. /**
  15. * 用户管理相关接口
  16. */
  17. @RestController
  18. @RequestMapping("/v1/sys/user")
  19. public class SysUserController {
  20. private final SysUserService service;
  21. public SysUserController(SysUserService service) {
  22. this.service = service;
  23. }
  24. /**
  25. * 分页接口
  26. *
  27. * @param query 用户列表分页请求参数
  28. * @return /
  29. */
  30. @GetMapping("page")
  31. public MybatisPage<SysUserVO> page(UserQuery query) {
  32. return this.service.findPage(query);
  33. }
  34. /**
  35. * 多表关联的分页接口(案例,此接口暂无使用场景)
  36. *
  37. * @param query 用户列表分页请求参数
  38. * @return /
  39. */
  40. @GetMapping("multi-join-page")
  41. public MybatisPage<SysRoleUserVO> multiJoinPage(RoleUserQuery query) {
  42. return this.service.findMultiPage(query);
  43. }
  44. /**
  45. * 新增用户
  46. *
  47. * @param command 用户信息
  48. */
  49. @PostMapping("save")
  50. public boolean save(@Valid @RequestBody UserAddCmd command) {
  51. this.service.insert(command);
  52. return true;
  53. }
  54. /**
  55. * 更新用户
  56. *
  57. * @param command 用户id+用户信息
  58. */
  59. @PostMapping("update")
  60. public boolean update(@Valid @RequestBody UserEditCmd command) {
  61. this.service.update(command);
  62. return true;
  63. }
  64. /**
  65. * 更新用户状态接口
  66. *
  67. * @param command 用户id+状态对象
  68. */
  69. @PostMapping("update-status")
  70. public boolean updateStatus(@Valid @RequestBody UpdateStatusCmd command) {
  71. this.service.updateStatus(command);
  72. return true;
  73. }
  74. /**
  75. * 根据id删除用户信息接口
  76. *
  77. * @param command 用户id对象
  78. */
  79. @PostMapping("del")
  80. public boolean deleteById(@Valid @RequestBody DeleteByIdCmd command) {
  81. this.service.delete(command);
  82. return true;
  83. }
  84. /**
  85. * 用户角色绑定
  86. *
  87. * @param command 用户绑定的角色对象
  88. */
  89. @PostMapping("bind-roles")
  90. public boolean bindRoles(@Valid @RequestBody UserRoleBindCmd command) {
  91. this.service.bindRoles(command);
  92. return true;
  93. }
  94. /**
  95. * 获取用户绑定的角色
  96. *
  97. * @param query 用户id对象
  98. */
  99. @GetMapping("list-bind-roles")
  100. public List<OnlyIdNameVO> listBindRoles(@Valid @RequestBody GetByIdQuery query) {
  101. return this.service.getUserRoles(query);
  102. }
  103. }