UuzcController.java 5.3 KB

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