SysUserController.java 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237
  1. //package com.backendsys.controller.Systems;
  2. //
  3. //import com.backendsys.aspect.HttpRequestAspect;
  4. //import com.backendsys.aspect.QueryNullCheck;
  5. //import com.backendsys.modules.common.config.security.utils.PermissionUtil;
  6. //import com.backendsys.modules.common.config.security.utils.TokenUtil;
  7. //import com.backendsys.entity.PageDTO;
  8. //import com.backendsys.entity.System.SysUserDTO;
  9. //import com.backendsys.utils.response.Result;
  10. //import com.backendsys.service.System.SysUserService;
  11. //import com.backendsys.utils.response.ResultEnum;
  12. //
  13. //import io.jsonwebtoken.Claims;
  14. //import jakarta.servlet.http.HttpServletRequest;
  15. //import org.springframework.beans.factory.annotation.Autowired;
  16. //import org.springframework.security.access.prepost.PreAuthorize;
  17. //import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
  18. //import org.springframework.validation.annotation.Validated;
  19. //import org.springframework.web.bind.annotation.*;
  20. //
  21. //import java.security.NoSuchAlgorithmException;
  22. //import java.util.Arrays;
  23. //import java.util.List;
  24. //import java.util.Map;
  25. //
  26. ///**
  27. // * 系统用户
  28. // */
  29. //@Validated
  30. //@RestController
  31. //public class SysUserController {
  32. //
  33. // @Autowired
  34. // private HttpRequestAspect httpRequestAspect;
  35. //
  36. // @Autowired
  37. // private PermissionUtil permissionUtil;
  38. //
  39. // @Autowired
  40. // private SysUserService sysUserService;
  41. //
  42. // @Autowired
  43. // private TokenUtil tokenUtil;
  44. //
  45. //
  46. // // 判断是否 超级管理员(首位)(id:1),仅首位可查看自己的信息
  47. // private Boolean OnlySuperAdmin(SysUserDTO sysUserDTO) {
  48. // Long user_id = sysUserDTO.getUser_id();
  49. // if (user_id == 1) {
  50. // Claims loginUserInfo = tokenUtil.getRedisTokenInfo();
  51. // Boolean bool = (Integer) loginUserInfo.get("user_id") == 1;
  52. // return bool;
  53. // }
  54. // return true;
  55. // }
  56. //
  57. //// @PreAuthorize("@sr.hasPermission('3.1')")
  58. //// @GetMapping("/api/system/user/getUserLogined")
  59. //// public Result getUserLogined(@Validated PageDTO pageDTO, @Validated SysUserDTO sysUserDTO) {
  60. //// return Result.success(sysUserService.queryUserWithLogined(pageDTO.getPage_num(), pageDTO.getPage_size(), sysUserDTO));
  61. //// }
  62. //
  63. //// @PreAuthorize("@sr.hasPermission('3.2')")
  64. //// @GetMapping("/api/system/user/getUser")
  65. //// public Result getUser(@Validated PageDTO pageDTO, @Validated SysUserDTO sysUserDTO) {
  66. //// return Result.success(sysUserService.queryUserList(pageDTO.getPage_num(), pageDTO.getPage_size(), sysUserDTO));
  67. //// }
  68. //
  69. //// /**
  70. //// * 查看用户详情
  71. //// * - 1.如果不传 user_id 则查看自己的用户信息
  72. //// * - 2.如果传 user_id,需要具备权限才能查看他人用户信息
  73. //// * - 3.除了超管自己其他人不可以查看超管信息
  74. //// */
  75. //// @QueryNullCheck(serviceClass = SysUserService.class, serviceMethod = "queryUserById", argField = "user_id", message = "用户不存在")
  76. //// @GetMapping("/api/system/user/getUserDetail")
  77. //// public Result getUserDetail(@Validated(SysUserDTO.Detail.class) SysUserDTO sysUserDTO) {
  78. ////
  79. //// // [查询] 自身 UserId
  80. //// Long user_id = httpRequestAspect.getUserId();
  81. ////
  82. //// // 1.如果 user_id 为空,则查看自己
  83. //// if (sysUserDTO.getUser_id() == null) sysUserDTO.setUser_id(user_id);
  84. //// // 2.判断是否匹配当前 {用户ID} 与 {用户权限},不是则抛出错误
  85. //// permissionUtil.checkUserIdAndPermission(sysUserDTO.getUser_id(), Arrays.asList("3.2.1"));
  86. //// // 3.判断是否 首位超级管理员 (id:1),不是则抛出错误
  87. //// permissionUtil.checkSuperAdminOfFirst(sysUserDTO.getUser_id());
  88. ////
  89. //// return Result.success(sysUserService.queryUserById(sysUserDTO.getUser_id()));
  90. //// }
  91. //
  92. //// @PreAuthorize("@sr.hasPermission('3.2.2')")
  93. //// @PostMapping("/api/system/user/createUser")
  94. //// public Result createUser(@Validated(SysUserDTO.Create.class) @RequestBody SysUserDTO sysUserDTO) {
  95. //// return Result.success(sysUserService.insertUser(sysUserDTO), "创建成功");
  96. //// }
  97. //
  98. //// @PreAuthorize("@sr.hasPermission('3.2.3')")
  99. //// @QueryNullCheck(serviceClass = SysUserService.class, serviceMethod = "queryUserById", argField = "user_id", message = "用户不存在")
  100. //// @PutMapping("/api/system/user/updateUserInfo")
  101. //// public Result updateUser(@Validated(SysUserDTO.Update.class) @RequestBody SysUserDTO sysUserDTO) {
  102. ////
  103. //// // 判断不可为超级管理员(首位)
  104. //// Boolean isOnlySuperAdmin = OnlySuperAdmin(sysUserDTO);
  105. //// if (!isOnlySuperAdmin) {
  106. //// return Result.error(ResultEnum.AUTH_USER_ERROR.getCode(), ResultEnum.AUTH_USER_ERROR.getMessage());
  107. //// }
  108. ////
  109. //// sysUserDTO.setLast_login_time(null);
  110. //// sysUserDTO.setLast_login_ip(null);
  111. ////
  112. //// return Result.success(sysUserService.updateUserInfo(sysUserDTO), "更新成功");
  113. //// }
  114. //
  115. //// @PreAuthorize("@sr.hasPermission('3.2.6')")
  116. //// @QueryNullCheck(serviceClass = SysUserService.class, serviceMethod = "queryUserById", argField = "user_id", message = "用户不存在")
  117. //// @PutMapping("/api/system/user/auditUser")
  118. //// public Result auditUser(@Validated(SysUserDTO.Audit.class) @RequestBody SysUserDTO sysUserDTO) {
  119. ////
  120. //// // 判断不可为超级管理员(首位)
  121. //// Boolean isOnlySuperAdmin = OnlySuperAdmin(sysUserDTO);
  122. //// if (!isOnlySuperAdmin) {
  123. //// return Result.error(ResultEnum.AUTH_USER_ERROR.getCode(), ResultEnum.AUTH_USER_ERROR.getMessage());
  124. //// }
  125. ////
  126. //// return Result.success(sysUserService.auditUser(sysUserDTO), "审核成功");
  127. //// }
  128. //
  129. //// @PreAuthorize("@sr.hasPermission('3.2.3')")
  130. //// @PutMapping("/api/system/user/updateUserPasswordSelf")
  131. //// public Result updateUserPassword(@Validated(SysUserDTO.UpdatePasswordSelf.class) @RequestBody SysUserDTO sysUserDTO, HttpServletRequest request) {
  132. ////
  133. //// // [查询] 自身 UserId
  134. //// Long user_id = httpRequestAspect.getUserId();
  135. //// sysUserDTO.setUser_id(user_id);
  136. ////
  137. //// // [查询] 原密码
  138. //// Map<String, Object> queryUserPassword = sysUserService.queryUserPassword(user_id);
  139. //// if (queryUserPassword == null) {
  140. //// return Result.error(ResultEnum.INTERNAL_ERROR.getCode(), ResultEnum.INTERNAL_ERROR.getMessage());
  141. //// }
  142. ////
  143. //// // [判断] 原密码是否正确
  144. //// String old_password_request = sysUserDTO.getOld_password();
  145. //// String old_password = (String) queryUserPassword.get("password");
  146. //// BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
  147. //// if (!encoder.matches(old_password_request, old_password)) {
  148. //// return Result.error(ResultEnum.DATABASE_OPERATION_FAILED.getCode(), "原密码不正确");
  149. //// }
  150. //// // 更新操作
  151. //// return Result.success(sysUserService.updateUserPasswordSelf(sysUserDTO), "更新成功");
  152. //// }
  153. //
  154. //// @PreAuthorize("@sr.hasPermission('3.2.3') && @ss.isSuper()")
  155. //// @QueryNullCheck(serviceClass = SysUserService.class, serviceMethod = "queryUserById", argField = "user_id", message = "用户不存在")
  156. //// @PutMapping("/api/system/user/resetUserPassword")
  157. //// public Result resetUserPassword(@Validated(SysUserDTO.ResetPassword.class) @RequestBody SysUserDTO sysUserDTO, HttpServletRequest request) throws NoSuchAlgorithmException {
  158. ////
  159. //// // 判断不可为超级管理员(首位)
  160. //// Boolean isOnlySuperAdmin = OnlySuperAdmin(sysUserDTO);
  161. //// if (!isOnlySuperAdmin) {
  162. //// return Result.error(ResultEnum.AUTH_USER_ERROR.getCode(), ResultEnum.AUTH_USER_ERROR.getMessage());
  163. //// }
  164. ////
  165. //// // 判断是否为自身重置,自身密码不能重置,只能修改
  166. //// Long self_user_id = httpRequestAspect.getUserId();
  167. //// Long request_user_id = sysUserDTO.getUser_id();
  168. //// if (self_user_id.longValue() == request_user_id) {
  169. //// return Result.error(ResultEnum.DATABASE_OPERATION_FAILED.getCode(), "不能重置自身密码,请在个人设置中修改密码");
  170. //// }
  171. //// return Result.success(sysUserService.resetUserPassword(sysUserDTO), "重置成功");
  172. //// }
  173. //
  174. //
  175. //// @PreAuthorize("@sr.hasPermission('3.2.4')")
  176. //// @QueryNullCheck(serviceClass = SysUserService.class, serviceMethod = "queryUserById", argField = "user_id", message = "用户不存在")
  177. //// @DeleteMapping("/api/system/user/deleteUser")
  178. //// public Result deleteUser(@Validated(SysUserDTO.Delete.class) @RequestBody SysUserDTO sysUserDTO) {
  179. ////
  180. //// // 判断不可为超级管理员(首位)
  181. //// Boolean isOnlySuperAdmin = OnlySuperAdmin(sysUserDTO);
  182. //// if (!isOnlySuperAdmin) {
  183. //// return Result.error(ResultEnum.AUTH_USER_ERROR.getCode(), ResultEnum.AUTH_USER_ERROR.getMessage());
  184. //// }
  185. ////
  186. //// // 判断是否为自身账号
  187. //// Long self_user_id = httpRequestAspect.getUserId();
  188. //// Long request_user_id = sysUserDTO.getUser_id();
  189. //// if (self_user_id.longValue() == request_user_id) {
  190. //// return Result.error(ResultEnum.DATABASE_OPERATION_FAILED.getCode(), "不能删除自身账号");
  191. //// }
  192. //// // 删除操作 (物理删除)
  193. //// return Result.success(sysUserService.deleteUser(sysUserDTO.getUser_id()), "删除成功");
  194. //// // 删除用户 (逻辑删除)
  195. //// // return Result.success(sysUserService.deactivateUser(user_id), "删除成功 (flag)");
  196. //// }
  197. //
  198. //// @PreAuthorize("@sr.hasPermission('3.2.5')")
  199. //// @DeleteMapping("/api/system/user/deleteUserBatch")
  200. //// public Result deleteUserBatch(@Validated(SysUserDTO.Delete.class) @RequestBody SysUserDTO sysUserDTO) {
  201. ////
  202. //// // 判断用户ID集合不能出现自身账号 (及超级管理员首位的账号)
  203. //// Long super_user_id = 1L;
  204. //// Long self_user_id = httpRequestAspect.getUserId();
  205. //// List<Long> user_ids = sysUserDTO.getUser_ids();
  206. //// if (user_ids.contains(self_user_id)) {
  207. //// return Result.error(ResultEnum.INTERNAL_ERROR.getCode(), "删除的用户ID中存在自身用户,不可删除,请重新选择");
  208. //// }
  209. //// if (user_ids.contains(super_user_id)) {
  210. //// return Result.error(ResultEnum.AUTH_USER_ERROR.getCode(), ResultEnum.AUTH_USER_ERROR.getMessage());
  211. //// }
  212. ////
  213. //// // 删除操作 (批量)
  214. //// return Result.success(sysUserService.deleteUserBatch(sysUserDTO.getUser_ids()), "删除成功 (批量)");
  215. //// }
  216. //
  217. //// @PreAuthorize("@sr.hasPermission('3.2.7')")
  218. //// @PostMapping("/api/system/user/kickUser")
  219. //// public Result kickUser(@Validated(SysUserDTO.Delete.class) @RequestBody SysUserDTO sysUserDTO) {
  220. ////
  221. //// // 判断不可为超级管理员(首位)
  222. //// Boolean isOnlySuperAdmin = OnlySuperAdmin(sysUserDTO);
  223. //// if (!isOnlySuperAdmin) {
  224. //// return Result.error(ResultEnum.AUTH_USER_ERROR.getCode(), ResultEnum.AUTH_USER_ERROR.getMessage());
  225. //// }
  226. ////
  227. //// // 判断是否为自身账号
  228. //// Long self_user_id = httpRequestAspect.getUserId();
  229. //// Long request_user_id = sysUserDTO.getUser_id();
  230. //// if (self_user_id.longValue() == request_user_id) {
  231. //// return Result.error(ResultEnum.DATABASE_OPERATION_FAILED.getCode(), "不能踢除自身账号");
  232. //// }
  233. ////
  234. //// return Result.success(sysUserService.kickUser(sysUserDTO.getUser_id()), "操作成功");
  235. //// }
  236. //
  237. //}