SysUserV2Controller.java 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. package com.backendsys.modules.system.controller;
  2. import com.backendsys.entity.PageDTO;
  3. import com.backendsys.exception.CustException;
  4. import com.backendsys.modules.common.config.security.enums.SecurityEnum;
  5. import com.backendsys.modules.common.config.security.utils.SecurityUtil;
  6. import com.backendsys.modules.common.utils.Result;
  7. import com.backendsys.modules.system.entity.SysUser.SysUserDTO;
  8. import com.backendsys.modules.system.entity.SysUser.SysUserInfo;
  9. import com.backendsys.modules.system.service.SysUserV2Service;
  10. import com.backendsys.service.System.SysUserService;
  11. import io.swagger.v3.oas.annotations.Operation;
  12. import io.swagger.v3.oas.annotations.Parameter;
  13. import io.swagger.v3.oas.annotations.tags.Tag;
  14. import jakarta.validation.constraints.NotEmpty;
  15. import org.springframework.beans.factory.annotation.Autowired;
  16. import org.springframework.security.access.prepost.PreAuthorize;
  17. import org.springframework.validation.annotation.Validated;
  18. import org.springframework.web.bind.annotation.*;
  19. @Validated
  20. @RestController
  21. @Tag(name = "系统用户")
  22. public class SysUserV2Controller {
  23. @Autowired
  24. private SysUserService sysUserService;
  25. @Autowired
  26. private SysUserV2Service sysUserV2Service;
  27. @Operation(summary = "获得系统用户列表")
  28. @PreAuthorize("@sr.hasPermission('3.2')")
  29. @GetMapping("/api/v2/system/user/getUserList")
  30. public Result getUserList(SysUserDTO sysUserDTO) {
  31. return Result.success().put("data", sysUserV2Service.selectUserList(sysUserDTO));
  32. }
  33. /**
  34. * 权限:
  35. * - 查询用户信息 (3.2.1)
  36. * - 查询他人用户信息 (3.2.1.2)
  37. */
  38. @Operation(summary = "获得系统用户详情")
  39. @PreAuthorize("@sr.hasPermission('3.2.1')")
  40. @GetMapping("/api/v2/system/user/getUserDetail")
  41. public Result getUserDetail(@Parameter(description = "用户ID") Long user_id) {
  42. // 查询自身的用户信息 (不传参数)
  43. user_id = (user_id == null) ? SecurityUtil.getUserId() : user_id;
  44. // 查询他人的用户信息
  45. // - 查询自己 (无需权限)
  46. // - 查询他人 (需要权限或超级管理员)
  47. if (user_id != SecurityUtil.getUserId() && !SecurityUtil.hasPermission("3.2.1.2") && !SecurityUtil.isSuper()) {
  48. throw new CustException(SecurityEnum.NOAUTH);
  49. }
  50. return Result.success().put("data", sysUserV2Service.selectUserInfo(user_id));
  51. // return Result.success().put("data", sysUserV2Service.selectUserDetail(user_id));
  52. }
  53. /**
  54. * 权限:
  55. * - 查询用户权限 (3.4.1)
  56. * - 查询他人用户权限 (3.4.1.2)
  57. */
  58. @Operation(summary = "获得系统用户权限列表")
  59. @PreAuthorize("@sr.hasPermission('3.4.1')")
  60. @GetMapping("/api/v2/system/user/getUserPermission")
  61. public Result getUserPermission(@Parameter(description = "用户ID") Long user_id) {
  62. // 查询自身的用户信息 (不传参数)
  63. user_id = (user_id == null) ? SecurityUtil.getUserId() : user_id;
  64. // 查询他人的用户信息
  65. // - 查询自己 (无需权限)
  66. // - 查询他人 (需要权限或超级管理员)
  67. if (user_id != SecurityUtil.getUserId() && !SecurityUtil.hasPermission("3.4.1.2") && !SecurityUtil.isSuper()) {
  68. throw new CustException(SecurityEnum.NOAUTH);
  69. }
  70. return Result.success().put("data", sysUserV2Service.selectUserModule(user_id));
  71. }
  72. }