UuzcController.java 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. package com.uas.platform.home.controller;
  2. import com.alibaba.fastjson.JSON;
  3. import com.alibaba.fastjson.JSONObject;
  4. import com.uas.account.entity.User;
  5. import com.uas.account.entity.UserView;
  6. import com.uas.account.entity.UuzcUserSpaceDetail;
  7. import com.uas.account.util.AccountUtils;
  8. import com.uas.platform.home.core.support.SystemSession;
  9. import com.uas.platform.home.model.ResultInfo;
  10. import com.uas.platform.home.model.UuzcUserInfo;
  11. import com.uas.platform.home.web.BaseController;
  12. import com.uas.sso.SSOHelper;
  13. import org.springframework.ui.ModelMap;
  14. import org.springframework.web.bind.annotation.RequestMapping;
  15. import org.springframework.web.bind.annotation.RequestMethod;
  16. import org.springframework.web.bind.annotation.RestController;
  17. import java.util.List;
  18. /**
  19. * 关于优软众创的一些接口
  20. *
  21. * Created by hejq on 2017-11-02.
  22. */
  23. @RestController
  24. @RequestMapping(value = "/uuzc")
  25. public class UuzcController extends BaseController {
  26. /**
  27. * 对当前登录账号进行检验
  28. *
  29. * @return
  30. */
  31. @RequestMapping(value = "/account/check", method = RequestMethod.GET)
  32. public ModelMap checkAccount() throws Exception {
  33. UserView user = SystemSession.getUser();
  34. ModelMap map = new ModelMap();
  35. if(null != user) {
  36. if ( null != user.getHr() && 1 == user.getHr()) {// hr账户
  37. UuzcUserInfo info = getUserInfo(user, true);
  38. map.put("ishr", true);
  39. map.put("user", info);
  40. map.put("usertype", "hr");
  41. } else if(null != user.getUuzcUserSpaceDetail()) {// 先通过登录的信息判断是否是企业用户
  42. map.put("usertype", "company");
  43. UuzcUserInfo info = getUserInfo(user, true);
  44. //判断是否设置了hr
  45. String result = AccountUtils.getHrAccount(info.getLicense());
  46. ResultInfo resInfo = JSONObject.parseObject(result, ResultInfo.class);
  47. map.put("hr", resInfo.getExistHr() ? true : false);
  48. if(user.getUid().equals(user.getUuzcUserSpaceDetail().getAdminTel())) {
  49. map.put("manager", true);
  50. } else {
  51. map.put("managerName", user.getUuzcUserSpaceDetail().getAdminName());
  52. }
  53. map.put("user", info);
  54. } else if(null == user.getUuzcUserSpaceDetail()) {// 个人用户
  55. UuzcUserInfo info = getUserInfo(user, false);
  56. JSONObject formData = JSON.parseObject(JSON.toJSONString(info));
  57. map.put("user", formData);
  58. map.put("usertype", "personal");
  59. }
  60. } else {
  61. SSOHelper.clearLogin(request, response);
  62. return success(SSOHelper.getRedirectRefererLoginUrl(request));
  63. }
  64. return map;
  65. }
  66. /**
  67. * 将账户中心信息转成众创需要的信息
  68. *
  69. * @param user
  70. * @param company
  71. * @return
  72. */
  73. private UuzcUserInfo getUserInfo(UserView user, boolean company) {
  74. UuzcUserInfo info = new UuzcUserInfo();
  75. info.setEmail(user.getSecondUID());
  76. info.setMobile(user.getUid());
  77. info.setUc_uid(user.getDialectUID());
  78. info.setPassword(user.getPassword());
  79. info.setSalt(user.getSalt());
  80. info.setUsername(user.getName());
  81. if(null != user.getUuzcUserSpaceDetail() && company) {
  82. info.setCompanyname(user.getSpaceName());
  83. info.setLicense(user.getSpaceUID());
  84. info.setContact(user.getUuzcUserSpaceDetail().getContactMan() != null ?
  85. user.getUuzcUserSpaceDetail().getContactMan() : user.getUuzcUserSpaceDetail().getAdminName());
  86. info.setWebsite(user.getUuzcUserSpaceDetail().getUrl());
  87. info.setTelephone(user.getUuzcUserSpaceDetail().getTel() != null ?
  88. user.getUuzcUserSpaceDetail().getTel() : user.getUuzcUserSpaceDetail().getAdminTel());
  89. info.setLandine_tel(user.getUuzcUserSpaceDetail().getContactTel() != null ?
  90. user.getUuzcUserSpaceDetail().getContactTel() : user.getUuzcUserSpaceDetail().getAdminTel());
  91. }
  92. return info;
  93. }
  94. /**
  95. * 设置hr账号
  96. *
  97. * @param user
  98. * @return
  99. */
  100. @RequestMapping(value = "/setHrAccount", method = RequestMethod.POST)
  101. public ModelMap setHrAccount(UuzcUserInfo user) throws Exception {
  102. UuzcUserSpaceDetail detail = SystemSession.getUser().getUuzcUserSpaceDetail();
  103. User userInfo = new User();
  104. userInfo.setHr((short) 1);
  105. userInfo.setName(user.getUsername());
  106. userInfo.setUid(user.getMobile());
  107. userInfo.setSecondUID(user.getEmail());
  108. String result = AccountUtils.setHrAccount(userInfo, detail);
  109. ResultInfo resInfo = JSONObject.parseObject(result, ResultInfo.class);
  110. return new ModelMap("result", resInfo.getMsg());
  111. }
  112. /**
  113. * 获取当前企业的用户信息
  114. *
  115. * @return
  116. * @throws Exception
  117. */
  118. @RequestMapping(value = "/existusers", method = RequestMethod.GET)
  119. public ModelMap getExistUsers() throws Exception {
  120. List<User> users = AccountUtils.getEmployees(SystemSession.getUser().getUuzcUserSpaceDetail().getBusinessCode());
  121. return success(users);
  122. }
  123. /**
  124. * 获取当前企业的hr账号信息
  125. *
  126. * @return
  127. * @throws Exception
  128. */
  129. @RequestMapping(value = "/hrInfo", method = RequestMethod.GET)
  130. public ModelMap getHrInfo() throws Exception {
  131. User user = AccountUtils.getHrInfo(SystemSession.getUser().getSpaceUID());
  132. return new ModelMap("user", user);
  133. }
  134. }