YunCenterController.java 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. package com.uas.sso.controller;
  2. import com.alibaba.fastjson.JSONObject;
  3. import com.uas.sso.core.Status;
  4. import com.uas.sso.service.*;
  5. import org.springframework.data.domain.Page;
  6. import com.uas.sso.core.Const;
  7. import com.uas.sso.entity.User;
  8. import com.uas.sso.entity.UserAccount;
  9. import com.uas.sso.entity.Userspace;
  10. import com.uas.sso.exception.VisibleError;
  11. import com.uas.sso.support.SystemSession;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.ui.ModelMap;
  14. import org.springframework.util.CollectionUtils;
  15. import org.springframework.web.bind.annotation.*;
  16. /**
  17. * @author wangmh
  18. * @create 2018-01-13 19:39
  19. * @desc 云中心Controller
  20. **/
  21. @RestController
  22. @RequestMapping("/sso/center")
  23. public class YunCenterController extends BaseController {
  24. @Autowired
  25. private ApplyUserSpaceService applyUserSpaceService;
  26. @Autowired
  27. private UserService userService;
  28. @Autowired
  29. private UserspaceService userspaceService;
  30. @Autowired
  31. private UserspaceValidService userspaceValidService;
  32. /**
  33. * 获取登录用户信息
  34. * @return
  35. */
  36. @RequestMapping(value = "/user/info", method = RequestMethod.GET)
  37. public ModelMap findUserInfo() {
  38. // 获得登录用户
  39. UserAccount userAccount = SystemSession.getUserAccount();
  40. if (userAccount == null) {
  41. return error("未登录");
  42. }
  43. // 设置返回数据
  44. ModelMap data = new ModelMap();
  45. User user = userService.findOne(userAccount.getUserUU());
  46. user.setSalt(null);
  47. user.setPassword(null);
  48. data.put("user", new ModelMap().addAllAttributes(JSONObject.parseObject(JSONObject.toJSONString(user)))
  49. .addAttribute("hasQuestion", !CollectionUtils.isEmpty(user.getQuestions()))
  50. .addAttribute("lastLoginTime", user.getUserRecord().getLastLoginTime()));
  51. if (userAccount.getSpaceUU() != null) {
  52. Userspace userspace = userspaceService.findOne(userAccount.getSpaceUU());
  53. data.put("userspace", userspace);
  54. // 删除管理员的密码盐值,不返回给前端
  55. userspace.getAdmin().setSalt(null);
  56. userspace.getAdmin().setPassword(null);
  57. if (userspace.getValidCode() == Status.TO_BE_CERTIFIED.getCode()) {
  58. Userspace newUserSpace = userspaceValidService.getToBeCertified(userspace.getSpaceUU());
  59. data.put("newUserSpace", newUserSpace);
  60. }
  61. }
  62. // 删除用户密码和盐值,不返回给前端
  63. userAccount.setPassword(null);
  64. userAccount.setSalt(null);
  65. return success(data);
  66. }
  67. /**
  68. * 分页查询申请信息
  69. * @param page 页数
  70. * @param size 每页个数
  71. * @return
  72. */
  73. @RequestMapping(value = "/apply/info", method = RequestMethod.GET)
  74. @ResponseBody
  75. public ModelMap findApplyAll(@RequestParam(defaultValue = "1") int page, @RequestParam(defaultValue = "20") int size) {
  76. UserAccount userAccount = SystemSession.getUserAccount();
  77. if (userAccount.getSpaceUU() == null) {
  78. return error(Const.SPACEUU_PERSONAL+"", "个人账号");
  79. }
  80. // 查询页面是从0开始,所以要减1
  81. return success(applyUserSpaceService.findApplyAll(page, size, userAccount.getSpaceUU()));
  82. }
  83. /**
  84. * 分页查询当前企业的所有人员
  85. * @param page 页号
  86. * @param size 每页大小
  87. * @return
  88. */
  89. @RequestMapping(value = "/member/info", method = RequestMethod.GET)
  90. @ResponseBody
  91. public ModelMap findMemberAll(@RequestParam(defaultValue = "1") int page, @RequestParam(defaultValue = "20") int size) {
  92. UserAccount userAccount = getLoginUser();
  93. if (userAccount.getSpaceUU() == null) {
  94. return error(Const.SPACEUU_PERSONAL+"", "个人账号");
  95. }
  96. // 查询页面是从0开始,所以要减1
  97. Page<User> pUser = userService.findMemberBySpaceUU(page, size, userAccount.getSpaceUU());
  98. return success(pUser);
  99. }
  100. /**
  101. * 同意申请
  102. * @param userUU 用户uu号
  103. * @return
  104. */
  105. @RequestMapping(value = "/agree/apply", method = RequestMethod.POST)
  106. @ResponseBody
  107. public ModelMap agreeApply(Long userUU, Long id) {
  108. // 获取登录用户
  109. UserAccount userAccount = getLoginUser();
  110. if (userAccount.getSpaceUU() == null) {
  111. return error(Const.SPACEUU_PERSONAL+"", "个人账号");
  112. }
  113. // 同意申请操作
  114. applyUserSpaceService.agreeApply(userUU, id);
  115. return success();
  116. }
  117. /**
  118. * 拒绝申请
  119. * @param applyUserUU 申请者uu号
  120. * @return
  121. */
  122. @RequestMapping(value = "/disagree/apply", method = RequestMethod.POST)
  123. @ResponseBody
  124. public ModelMap disagreeApply(Long applyUserUU, Long id) {
  125. UserAccount userAccount = getLoginUser();
  126. if (userAccount.getSpaceUU() == null) {
  127. return error(String.valueOf(Const.SPACEUU_PERSONAL), "个人账号");
  128. }
  129. applyUserSpaceService.disagreeApply(applyUserUU, id);
  130. return success();
  131. }
  132. /**
  133. * 获取登录账号
  134. * @return
  135. */
  136. private UserAccount getLoginUser() {
  137. UserAccount userAccount = SystemSession.getUserAccount();
  138. if (userAccount == null) {
  139. throw new VisibleError("未登录");
  140. }
  141. return userAccount;
  142. }
  143. }