SysUserController.java 5.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. package com.example.civilizedcity.controller;
  2. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  3. import com.baomidou.mybatisplus.core.metadata.IPage;
  4. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  5. import com.example.civilizedcity.common.BaseController;
  6. import com.example.civilizedcity.common.Constants;
  7. import com.example.civilizedcity.common.ResponseBean;
  8. import java.util.HashMap;
  9. import java.util.List;
  10. import java.util.Map;
  11. import com.example.civilizedcity.common.StringUtils;
  12. import com.example.civilizedcity.entity.SysResource;
  13. import com.example.civilizedcity.entity.SysRole;
  14. import com.example.civilizedcity.service.SysResourceService;
  15. import com.example.civilizedcity.service.SysRoleService;
  16. import io.swagger.annotations.Api;
  17. import io.swagger.annotations.ApiOperation;
  18. import io.swagger.annotations.ApiParam;
  19. import org.springframework.beans.factory.annotation.Autowired;
  20. import org.springframework.web.bind.annotation.*;
  21. import com.example.civilizedcity.entity.SysUser;
  22. import com.example.civilizedcity.service.SysUserService;
  23. /**
  24. * 用户表;(sys_user)表控制层
  25. * @author : http://njyunzhi.com
  26. * @date : 2022-12-12
  27. */
  28. @Api(tags = "用户表对象功能接口")
  29. @RestController
  30. @RequestMapping("/")
  31. public class SysUserController extends BaseController {
  32. @Autowired
  33. SysRoleService sysRoleService;
  34. @Autowired
  35. SysResourceService sysResourceService;
  36. /**
  37. * 通过ID查询单条数据
  38. *
  39. * @param userId 主键
  40. * @return 实例对象
  41. */
  42. @ApiOperation("通过ID查询单条数据")
  43. @GetMapping("/sysUser/{id}")
  44. public ResponseBean queryById(@ApiParam("对象ID") @PathVariable String id) throws Exception {
  45. SysUser sysUser = sysUserService.getById(id);
  46. if (null == sysUser || sysUser.getStatus() == Constants.STATUS_DELETE) {
  47. return ResponseBean.error("用户不存在");
  48. }
  49. return ResponseBean.success(getPermissions(sysUser));
  50. }
  51. /**
  52. * 查询当前人员
  53. *
  54. * @param
  55. * @return 实例对象
  56. */
  57. @ApiOperation("查询当前人员")
  58. @GetMapping("/sysUser/current")
  59. public ResponseBean current() throws Exception {
  60. SysUser sysUser = currentUser();
  61. return ResponseBean.success(getPermissions(sysUser));
  62. }
  63. private SysUser getPermissions(SysUser sysUser) {
  64. List<SysRole> rolesList = sysRoleService.getByUser(sysUser.getUserId());
  65. List<SysResource> resourcesList = sysResourceService.getByUser(sysUser.getUserId());
  66. sysUser.setRolesList(rolesList);
  67. sysUser.setResourcesList(resourcesList);
  68. return sysUser;
  69. }
  70. /**
  71. * 分页查询
  72. *
  73. * @param pageNum 当前页码
  74. * @param pageSize 每页条数
  75. * @return 查询结果
  76. */
  77. @ApiOperation("分页查询")
  78. @GetMapping("/sysUser")
  79. public ResponseBean list(@ApiParam("页码") @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
  80. @ApiParam("单页数据量") @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
  81. @ApiParam("姓名") @RequestParam(value = "name", required = false) String name,
  82. @ApiParam("机构") @RequestParam(value = "orgId", required = false) String orgId,
  83. @ApiParam("手机号") @RequestParam(value = "phone", required = false) String phone) throws Exception {
  84. IPage<SysUser> pg = new Page<>(pageNum, pageSize);
  85. QueryWrapper<SysUser> queryWrapper = new QueryWrapper<>();
  86. queryWrapper.like(!StringUtils.isEmpty(name), "name", name);
  87. queryWrapper.eq(!StringUtils.isEmpty(orgId), "org_id", orgId);
  88. queryWrapper.like(!StringUtils.isEmpty(phone), "phone", phone);
  89. queryWrapper.gt("status", Constants.STATUS_DELETE);
  90. queryWrapper.ne("user_id", Constants.ROOT_ID);
  91. queryWrapper.orderByDesc("create_date");
  92. IPage<SysUser> result = sysUserService.page(pg, queryWrapper);
  93. return ResponseBean.success(result);
  94. }
  95. /**
  96. * 新增数据
  97. *
  98. * @param sysUser 实例对象
  99. * @return 实例对象
  100. */
  101. @ApiOperation("新增数据")
  102. @PostMapping("/sysUser")
  103. public ResponseBean add(@ApiParam("对象实体") @RequestBody SysUser sysUser) throws Exception {
  104. if (null == sysUser.getOrgId()) {
  105. sysUser.setOrgId(currentUser().getOrgId());
  106. }
  107. sysUserService.mergeData(sysUser);
  108. return ResponseBean.success(sysUser);
  109. }
  110. /**
  111. * 更新数据
  112. *
  113. * @param id 实例ID
  114. * @return 实例对象
  115. */
  116. @ApiOperation("更新数据")
  117. @PutMapping("/sysUser/{id}/status")
  118. public ResponseBean edit(@ApiParam("对象ID") @PathVariable String id,
  119. @ApiParam("页码") @RequestParam(value = "status") Integer status) throws Exception {
  120. SysUser sysUser = sysUserService.getById(id);
  121. sysUser.setStatus(status);
  122. sysUserService.updateById(sysUser);
  123. return ResponseBean.success(sysUser);
  124. }
  125. // /**
  126. // * 更新数据
  127. // *
  128. // * @param sysUser 实例对象
  129. // * @return 实例对象
  130. // */
  131. // @ApiOperation("更新数据")
  132. // @PutMapping("/sysUser/{id}")
  133. // public ResponseBean edit(@ApiParam("对象实体") @RequestBody SysUser sysUser,
  134. // @ApiParam("对象ID") @PathVariable String id ) throws Exception {
  135. // sysUserService.updateById(sysUser);
  136. // return ResponseBean.success(sysUser);
  137. // }
  138. /**
  139. * 通过主键删除数据
  140. *
  141. * @param userId 主键
  142. * @return 是否成功
  143. */
  144. @ApiOperation("通过主键删除数据")
  145. @DeleteMapping("/sysUser/{id}")
  146. public ResponseBean deleteById(@ApiParam("对象ID") @PathVariable String id){
  147. sysUserService.removeLogicById(id);
  148. return ResponseBean.success("success");
  149. }
  150. }