UserBasicInfoController.java 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. package com.goafanti.user.controller;
  2. import java.text.ParseException;
  3. import java.util.ArrayList;
  4. import java.util.Arrays;
  5. import java.util.Calendar;
  6. import java.util.Date;
  7. import java.util.List;
  8. import java.util.UUID;
  9. import javax.annotation.Resource;
  10. import javax.validation.Valid;
  11. import org.apache.commons.lang3.StringUtils;
  12. import org.apache.commons.lang3.time.DateUtils;
  13. import org.springframework.beans.BeanUtils;
  14. import org.springframework.stereotype.Controller;
  15. import org.springframework.validation.BindingResult;
  16. import org.springframework.web.bind.annotation.RequestMapping;
  17. import org.springframework.web.bind.annotation.RequestMethod;
  18. import org.springframework.web.bind.annotation.RequestParam;
  19. import com.alibaba.fastjson.JSON;
  20. import com.alibaba.fastjson.JSONArray;
  21. import com.goafanti.common.bo.Result;
  22. import com.goafanti.common.constant.AFTConstants;
  23. import com.goafanti.common.constant.ErrorConstants;
  24. import com.goafanti.common.controller.CertifyApiController;
  25. import com.goafanti.common.enums.DeleteStatus;
  26. import com.goafanti.common.enums.OrgBasicInfoFields;
  27. import com.goafanti.common.model.NatureOwnership;
  28. import com.goafanti.common.model.OrgHumanResource;
  29. import com.goafanti.common.model.OrganizationIdentity;
  30. import com.goafanti.common.model.User;
  31. import com.goafanti.core.shiro.token.TokenManager;
  32. import com.goafanti.user.bo.InputOrgBasicInfo;
  33. import com.goafanti.user.service.NatureOwnershipService;
  34. import com.goafanti.user.service.OrganizationIdentityService;
  35. @Controller
  36. @RequestMapping(value = "/api/user/basic")
  37. public class UserBasicInfoController extends CertifyApiController{
  38. @Resource
  39. private NatureOwnershipService natureOwnershipService;
  40. @Resource
  41. private OrganizationIdentityService organizationIdentityService;
  42. /**
  43. * 企业基本信息保存
  44. *
  45. * @param info
  46. * @param bindingResult
  47. * @return
  48. */
  49. @RequestMapping(value = "/disposeInfo", method = RequestMethod.POST)
  50. public Result disposeInfo(@Valid InputOrgBasicInfo info, BindingResult bindingResult,
  51. String listedDateFormattedDate, String registrationTimeFormattedDate) {
  52. Result res = new Result();
  53. User curUser = TokenManager.getUserToken();
  54. if (!checkCertify(res, curUser)) {
  55. return res;
  56. }
  57. if (bindingResult.hasErrors()) {
  58. res.getError().add(buildErrorByMsg(bindingResult.getFieldError().getDefaultMessage(),
  59. OrgBasicInfoFields.getFieldDesc(bindingResult.getFieldError().getField())));
  60. return res;
  61. }
  62. if (StringUtils.isBlank(info.getUid())) {
  63. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到用户", "用户"));
  64. return res;
  65. }
  66. Date listedDate = null;
  67. Date registrationTime = null;
  68. if (!StringUtils.isBlank(listedDateFormattedDate)) {
  69. try {
  70. listedDate = DateUtils.parseDate(listedDateFormattedDate, AFTConstants.YYYYMMDD);
  71. } catch (ParseException e) {
  72. res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "上市时间"));
  73. return res;
  74. }
  75. }
  76. if (!StringUtils.isBlank(registrationTimeFormattedDate)) {
  77. try {
  78. registrationTime = DateUtils.parseDate(registrationTimeFormattedDate, AFTConstants.YYYYMMDD);
  79. } catch (ParseException e) {
  80. res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "注册时间"));
  81. return res;
  82. }
  83. }
  84. OrganizationIdentity oi = new OrganizationIdentity();
  85. OrgHumanResource ohr = new OrgHumanResource();
  86. BeanUtils.copyProperties(info, oi);
  87. BeanUtils.copyProperties(info, ohr);
  88. if (null != listedDate) {
  89. oi.setListedDate(listedDate);
  90. }
  91. if (null != registrationTime) {
  92. oi.setRegistrationTime(registrationTime);
  93. }
  94. ohr.setId(info.getHid());
  95. organizationIdentityService.saveBasicInfo(oi, ohr);
  96. return res;
  97. }
  98. /**
  99. * 企业基本信息入口
  100. *
  101. * @param uid
  102. * @return
  103. */
  104. @RequestMapping(value = "/info", method = RequestMethod.GET)
  105. public Result info() {
  106. Result res = new Result();
  107. User curUser = TokenManager.getUserToken();
  108. if (!checkCertify(res, curUser)) {
  109. return res;
  110. }
  111. Calendar now = Calendar.getInstance();
  112. res.setData(organizationIdentityService.selectBasicInfo(TokenManager.getUserId(), now.get(Calendar.YEAR) - 1));
  113. return res;
  114. }
  115. /**
  116. * 自然人股权列表
  117. *
  118. * @param uid
  119. * @return
  120. */
  121. @RequestMapping(value = "/listNature", method = RequestMethod.GET)
  122. public Result listNature() {
  123. Result res = new Result();
  124. User curUser = TokenManager.getUserToken();
  125. if (!checkCertify(res, curUser)) {
  126. return res;
  127. }
  128. res.setData(natureOwnershipService.selectByUid(TokenManager.getUserId()));
  129. return res;
  130. }
  131. /**
  132. * 删除自然人股权
  133. *
  134. * @param ids
  135. * @return
  136. */
  137. @RequestMapping(value = "/deleteNature", method = RequestMethod.POST)
  138. public Result deleteNature(@RequestParam(name = "ids[]", required = false) String[] ids) {
  139. Result res = new Result();
  140. User curUser = TokenManager.getUserToken();
  141. if (!checkCertify(res, curUser)) {
  142. return res;
  143. }
  144. if (ids == null || ids.length < 1) {
  145. res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", ""));
  146. } else {
  147. res.setData(natureOwnershipService.batchDeleteByPrimaryKey(Arrays.asList(ids)));
  148. }
  149. return res;
  150. }
  151. /**
  152. * 自然人股权保存修改
  153. *
  154. * @param data
  155. * @return
  156. */
  157. @RequestMapping(value = "/nature", method = RequestMethod.POST)
  158. public Result nature(String data) {
  159. Result res = new Result();
  160. User curUser = TokenManager.getUserToken();
  161. if (!checkCertify(res, curUser)) {
  162. return res;
  163. }
  164. JSONArray ja = (JSONArray) JSON.parse(data);
  165. if (ja != null && !ja.isEmpty()) {
  166. List<NatureOwnership> no = new ArrayList<NatureOwnership>();
  167. for (int idx = 0; idx < ja.size(); idx++) {
  168. no.add(ja.getJSONObject(idx).toJavaObject(NatureOwnership.class));
  169. }
  170. for (NatureOwnership n : no) {
  171. if (StringUtils.isBlank(n.getUid())){
  172. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到用户", "用户"));
  173. return res;
  174. }
  175. if (StringUtils.isBlank(n.getId())) {
  176. n.setId(UUID.randomUUID().toString());
  177. }
  178. if (null == n.getDeletedSign()) {
  179. n.setDeletedSign(DeleteStatus.UNDELETE.getCode());
  180. }
  181. }
  182. res.setData(natureOwnershipService.batchInsert(no));
  183. } else {
  184. res.getError().add(buildError("", "参数格式不正确"));
  185. }
  186. return res;
  187. }
  188. }