AdminUserCertifyApiController.java 9.4 KB

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