AdminUserCertifyApiController.java 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  1. package com.goafanti.admin.controller;
  2. import java.text.ParseException;
  3. import java.util.Calendar;
  4. import java.util.UUID;
  5. import javax.annotation.Resource;
  6. import javax.servlet.http.HttpServletRequest;
  7. import javax.validation.Valid;
  8. import org.apache.commons.lang3.StringUtils;
  9. import org.springframework.beans.BeanUtils;
  10. import org.springframework.validation.BindingResult;
  11. import org.springframework.web.bind.annotation.RequestMapping;
  12. import org.springframework.web.bind.annotation.RequestMethod;
  13. import org.springframework.web.bind.annotation.RestController;
  14. import com.goafanti.common.bo.Result;
  15. import com.goafanti.common.constant.AFTConstants;
  16. import com.goafanti.common.constant.ErrorConstants;
  17. import com.goafanti.common.controller.CertifyApiController;
  18. import com.goafanti.common.enums.AttachmentType;
  19. import com.goafanti.common.enums.IdentityAuditStatus;
  20. import com.goafanti.common.enums.IdentityProcess;
  21. import com.goafanti.common.enums.OrganizationIdentityFields;
  22. import com.goafanti.common.enums.UserIdentityFields;
  23. import com.goafanti.common.model.OrganizationIdentity;
  24. import com.goafanti.common.model.UserIdentity;
  25. import com.goafanti.common.utils.DateUtils;
  26. import com.goafanti.user.bo.InputOrganizationIdentity;
  27. import com.goafanti.user.bo.InputUserIdentity;
  28. import com.goafanti.user.service.OrganizationIdentityService;
  29. import com.goafanti.user.service.UserIdentityService;
  30. @RestController
  31. @RequestMapping(value = "/api/admin/userCertify")
  32. public class AdminUserCertifyApiController extends CertifyApiController {
  33. @Resource
  34. private UserIdentityService userIdentityService;
  35. @Resource
  36. private OrganizationIdentityService organizationIdentityService;
  37. /**
  38. * 上传认证资料(营业执照图片、组织机构代码证图片、上年度纳税申报表)
  39. *
  40. * @param req
  41. * @param sign
  42. * @param uid
  43. * @return
  44. */
  45. @RequestMapping(value = "/upload", method = RequestMethod.POST)
  46. public Result uploadCertify(HttpServletRequest req, String sign, String uid) {
  47. Result res = new Result();
  48. if (StringUtils.isBlank(uid)) {
  49. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到用户", "用户"));
  50. return res;
  51. }
  52. AttachmentType attachmentType = AttachmentType.getField(sign);
  53. if (attachmentType == AttachmentType.ORGCODE || attachmentType == AttachmentType.LICENCE) {
  54. res.setData(handleFiles(res, "/identity/", true, req, sign, uid));
  55. } else if (attachmentType == AttachmentType.RATEPAY) {
  56. sign = sign + "_" + (Calendar.getInstance().get(Calendar.YEAR) - 1);
  57. res.setData(handleFiles(res, "/cognizance/", true, req, sign, uid));
  58. } else {
  59. res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "附件标示"));
  60. }
  61. return res;
  62. }
  63. /**
  64. * 审核员--个人用户详情
  65. *
  66. * @param uid
  67. * @return
  68. */
  69. @RequestMapping(value = "/userDetail", method = RequestMethod.GET)
  70. public Result userDetail(String uid) {
  71. Result res = new Result();
  72. if (StringUtils.isBlank(uid)) {
  73. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到用户", "用户"));
  74. return res;
  75. }
  76. res.setData(userIdentityService.selectAuditorUserIdentityByUserId(uid));
  77. return res;
  78. }
  79. /**
  80. * 审核员审核个人用户信息
  81. *
  82. * @param userIdentity
  83. * @param bindingResult
  84. * @param paymentDateFormattedDate
  85. * @return
  86. */
  87. @RequestMapping(value = "/updateUserDetail", method = RequestMethod.POST)
  88. public Result disposeUser(@Valid InputUserIdentity userIdentity, BindingResult bindingResult,
  89. String paymentDateFormattedDate, String aid, String mid) {
  90. Result res = new Result();
  91. if (bindingResult.hasErrors()) {
  92. res.getError().add(buildErrorByMsg(bindingResult.getFieldError().getDefaultMessage(),
  93. UserIdentityFields.getFieldDesc(bindingResult.getFieldError().getField())));
  94. return res;
  95. }
  96. if (null == userIdentity.getUid()) {
  97. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到用户", "用户"));
  98. return res;
  99. }
  100. if (!StringUtils.isBlank(paymentDateFormattedDate)) {
  101. try {
  102. userIdentity.setPaymentDate(DateUtils.parseDate(paymentDateFormattedDate, AFTConstants.YYYYMMDD));
  103. } catch (ParseException e) {
  104. }
  105. }
  106. UserIdentity ui = new UserIdentity();
  107. BeanUtils.copyProperties(userIdentity, ui);
  108. if (StringUtils.isBlank(ui.getId())) {
  109. ui.setId(UUID.randomUUID().toString());
  110. ui.setAuditStatus(null == ui.getAuditStatus() ? 0 : ui.getAuditStatus());
  111. if (IdentityAuditStatus.UNCOMMITTED.getCode() == ui.getAuditStatus()) {
  112. ui.setProcess(IdentityProcess.UNCOMMITTED.getCode());
  113. } else if (IdentityAuditStatus.COMMITTED.getCode() == ui.getAuditStatus()
  114. || IdentityAuditStatus.UNPAID.getCode() == ui.getAuditStatus()) {
  115. ui.setProcess(IdentityProcess.COMMITTED.getCode());
  116. } else if (IdentityAuditStatus.PAID.getCode() == ui.getAuditStatus()) {
  117. ui.setProcess(IdentityProcess.FILLIN.getCode());
  118. } else if (IdentityAuditStatus.NOTPASSED.getCode() == ui.getAuditStatus()
  119. || IdentityAuditStatus.PASSED.getCode() == ui.getAuditStatus()) {
  120. ui.setProcess(IdentityProcess.RESULTS.getCode());
  121. }
  122. res.setData(userIdentityService.insertByAdmin(ui, aid, mid));
  123. } else {
  124. ui.setAuditStatus(null == ui.getAuditStatus() ? 0 : ui.getAuditStatus());
  125. if (IdentityAuditStatus.UNCOMMITTED.getCode() == ui.getAuditStatus()) {
  126. ui.setProcess(IdentityProcess.UNCOMMITTED.getCode());
  127. } else if (IdentityAuditStatus.COMMITTED.getCode() == ui.getAuditStatus()
  128. || IdentityAuditStatus.UNPAID.getCode() == ui.getAuditStatus()) {
  129. ui.setProcess(IdentityProcess.COMMITTED.getCode());
  130. } else if (IdentityAuditStatus.PAID.getCode() == ui.getAuditStatus()) {
  131. ui.setProcess(IdentityProcess.FILLIN.getCode());
  132. } else if (IdentityAuditStatus.NOTPASSED.getCode() == ui.getAuditStatus()
  133. || IdentityAuditStatus.PASSED.getCode() == ui.getAuditStatus()) {
  134. ui.setProcess(IdentityProcess.RESULTS.getCode());
  135. }
  136. res.setData(userIdentityService.updateUserDetail(ui, aid, mid));
  137. }
  138. return res;
  139. }
  140. /**
  141. * 审核员---团体用户详情
  142. *
  143. * @param uid
  144. * @return
  145. */
  146. @RequestMapping(value = "/orgDetail", method = RequestMethod.GET)
  147. public Result orgDetail(String uid) {
  148. Result res = new Result();
  149. if (StringUtils.isBlank(uid)) {
  150. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到用户", "用户"));
  151. return res;
  152. }
  153. res.setData(organizationIdentityService.selectAuditorOrgIdentityDetailByUserId(uid));
  154. return res;
  155. }
  156. /**
  157. * 审核员审核团体用户信息
  158. *
  159. * @param orgIdentity
  160. * @param bindingResult
  161. * @param paymentDateFormattedDate
  162. * @return
  163. */
  164. @RequestMapping(value = "/updateOrgDetail", method = RequestMethod.POST)
  165. public Result diposeOrg(@Valid InputOrganizationIdentity orgIdentity, BindingResult bindingResult,
  166. String paymentDateFormattedDate, String aid, String mid) {
  167. Result res = new Result();
  168. if (bindingResult.hasErrors()) {
  169. res.getError().add(buildErrorByMsg(bindingResult.getFieldError().getDefaultMessage(),
  170. OrganizationIdentityFields.getFieldDesc(bindingResult.getFieldError().getField())));
  171. return res;
  172. }
  173. if (null == orgIdentity.getUid()) {
  174. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到用户", "用户"));
  175. return res;
  176. }
  177. if (!StringUtils.isBlank(paymentDateFormattedDate)) {
  178. try {
  179. orgIdentity.setPaymentDate(DateUtils.parseDate(paymentDateFormattedDate, AFTConstants.YYYYMMDD));
  180. } catch (ParseException e) {
  181. }
  182. }
  183. OrganizationIdentity oi = new OrganizationIdentity();
  184. BeanUtils.copyProperties(orgIdentity, oi);
  185. if (StringUtils.isBlank(oi.getId())) {
  186. oi.setId(UUID.randomUUID().toString());
  187. oi.setIdentityType(null == oi.getIdentityType() ? 0 : oi.getIdentityType());
  188. oi.setAuditStatus(null == oi.getAuditStatus() ? 0 : oi.getAuditStatus());
  189. if (IdentityAuditStatus.UNCOMMITTED.getCode() == oi.getAuditStatus()) {
  190. oi.setProcess(IdentityProcess.UNCOMMITTED.getCode());
  191. } else if (IdentityAuditStatus.COMMITTED.getCode() == oi.getAuditStatus()
  192. || IdentityAuditStatus.UNPAID.getCode() == oi.getAuditStatus()) {
  193. oi.setProcess(IdentityProcess.COMMITTED.getCode());
  194. } else if (IdentityAuditStatus.PAID.getCode() == oi.getAuditStatus()) {
  195. oi.setProcess(IdentityProcess.FILLIN.getCode());
  196. } else if (IdentityAuditStatus.NOTPASSED.getCode() == oi.getAuditStatus()
  197. || IdentityAuditStatus.PASSED.getCode() == oi.getAuditStatus()) {
  198. oi.setProcess(IdentityProcess.RESULTS.getCode());
  199. }
  200. oi.setListed(null == oi.getListed() ? 0 : oi.getListed());
  201. oi.setListedType(null == oi.getListedType() ? 0 : oi.getListedType());
  202. res.setData(organizationIdentityService.insertByAdmin(oi, aid, mid));
  203. } else {
  204. oi.setAuditStatus(null == oi.getAuditStatus() ? 0 : oi.getAuditStatus());
  205. if (IdentityAuditStatus.UNCOMMITTED.getCode() == oi.getAuditStatus()) {
  206. oi.setProcess(IdentityProcess.UNCOMMITTED.getCode());
  207. } else if (IdentityAuditStatus.COMMITTED.getCode() == oi.getAuditStatus()
  208. || IdentityAuditStatus.UNPAID.getCode() == oi.getAuditStatus()) {
  209. oi.setProcess(IdentityProcess.COMMITTED.getCode());
  210. } else if (IdentityAuditStatus.PAID.getCode() == oi.getAuditStatus()) {
  211. oi.setProcess(IdentityProcess.FILLIN.getCode());
  212. } else if (IdentityAuditStatus.NOTPASSED.getCode() == oi.getAuditStatus()
  213. || IdentityAuditStatus.PASSED.getCode() == oi.getAuditStatus()) {
  214. oi.setProcess(IdentityProcess.RESULTS.getCode());
  215. }
  216. res.setData(organizationIdentityService.updateOrgDetail(oi, aid, mid));
  217. }
  218. return res;
  219. }
  220. }