AdminUserCertifyApiController.java 9.3 KB

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