CommonController.java 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. package com.wtkj.controller;
  2. import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
  3. import com.wtkj.entity.AuthUserInfo;
  4. import com.wtkj.entity.DeptToDept;
  5. import com.wtkj.service.IDeptToDeptService;
  6. import com.wtkj.wrapper.UserListWrapper;
  7. import io.swagger.annotations.Api;
  8. import io.swagger.annotations.ApiOperation;
  9. import lombok.AllArgsConstructor;
  10. import org.springblade.core.tool.api.R;
  11. import org.springblade.system.entity.Dept;
  12. import org.springblade.system.feign.ISysClient;
  13. import org.springblade.system.user.entity.User;
  14. import org.springblade.system.user.feign.IUserClient;
  15. import org.springframework.util.CollectionUtils;
  16. import org.springframework.web.bind.annotation.*;
  17. import javax.validation.Valid;
  18. import java.util.ArrayList;
  19. import java.util.List;
  20. /**
  21. * @author Blizzard
  22. * @create at 2023-09-14 11:13
  23. * @describe
  24. */
  25. @RestController
  26. @AllArgsConstructor
  27. @RequestMapping("/common")
  28. @Api(value = "公共模块", tags = "公共模块")
  29. public class CommonController {
  30. private final IDeptToDeptService deptToDeptService;
  31. private final ISysClient sysClient;
  32. private final IUserClient userClient;
  33. /**
  34. * 当前登录用户信息
  35. */
  36. @GetMapping("/user-info")
  37. @ApiOperation(value = "当前登录用户信息", notes = "")
  38. @ApiOperationSupport(order = 1)
  39. public R<AuthUserInfo> userInfo() {
  40. return R.data(deptToDeptService.userInfo());
  41. }
  42. /**
  43. * 新建机构
  44. */
  45. @PostMapping("/sava-dept")
  46. @ApiOperation(value = "新建政府机构", notes = "传入DeptToDept")
  47. @ApiOperationSupport(order = 2)
  48. public R<Boolean> createDept(@RequestBody @Valid DeptToDept dept) {
  49. return R.status(deptToDeptService.saveOrUpdate(dept));
  50. }
  51. /**
  52. * 机构搜索
  53. */
  54. @GetMapping("/get-dept")
  55. @ApiOperation(value = "搜索机构", notes = "")
  56. @ApiOperationSupport(order = 3)
  57. public R<List<Dept>> list(Long topDept, String areaCode, String name, Integer category) {
  58. return R.data(deptToDeptService.getDept(topDept, areaCode, name, category));
  59. }
  60. /**
  61. * 本机构下的机构
  62. */
  63. @GetMapping("/dept-by-parentId")
  64. @ApiOperation(value = "机构下的子机构", notes = "传入上级机构id")
  65. @ApiOperationSupport(order = 4)
  66. public R<List<Dept>> deptList(@RequestParam Long parentId) {
  67. List<Dept> result = new ArrayList<>();
  68. R<List<Dept>> rpc = sysClient.getDeptChildByParentId(parentId);
  69. if (rpc.isSuccess() && !CollectionUtils.isEmpty(rpc.getData())) {
  70. result.addAll(rpc.getData());
  71. }
  72. return R.data(result);
  73. }
  74. /**
  75. * 机构下的人
  76. */
  77. @GetMapping("/get-user-list")
  78. @ApiOperationSupport(order = 5)
  79. @ApiOperation(value = "机构下用户列表", notes = "")
  80. public R getUserList(@RequestParam Long deptId, String name) {
  81. List<User> list = new ArrayList<>();
  82. R<List<User>> rpc = userClient.getDeptUserList(deptId, name);
  83. if (rpc.isSuccess()) {
  84. list = rpc.getData();
  85. }
  86. return R.data(UserListWrapper.build().listVO(list));
  87. }
  88. }