Browse Source

feat: 阿拉钉/易联-金园数科 回调记录错误信息

lixuesong 3 years ago
parent
commit
86d3f26fb3

+ 3 - 0
db/v2.0/220617.sql

@@ -0,0 +1,3 @@
+-- 记录阿拉丁认证失败原因
+alter table sys_user_sub
+    add fail_reason varchar(255) null comment '认证失败原因' after cert_remark;

+ 1 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/GigThirdApiController.java

@@ -107,7 +107,7 @@ public class GigThirdApiController {
 			// 3.实际操作
 
 			if (StrUtil.isNotBlank(requestId)) {
-				gigThirdApiService.oladingNotify(interfaceName, requestId, data);
+				gigThirdApiService.oladingNotify(requestId, req);
 			}
 		} catch (Exception e) {
 			log.error("自由职家统一请求异常", e);

+ 5 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/SysUserSub.java

@@ -63,6 +63,11 @@ public class SysUserSub extends Model<SysUserSub> {
 	 */
 	private String certRemark;
 
+	/**
+	 * 认证失败原因
+	 */
+	private String failReason;
+
 	/**
 	 * 人员类型
 	 */

+ 8 - 10
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/gig/GigThirdApiService.java

@@ -2,8 +2,6 @@ package com.qunzhixinxi.hnqz.admin.service.gig;
 
 import com.qunzhixinxi.hnqz.admin.api.dto.OladingCommonRequest;
 
-import java.util.Map;
-
 /**
  * 第三方零工接口处理
  *
@@ -14,19 +12,19 @@ public interface GigThirdApiService {
 
 	/**
 	 * 自由职家回调业务处理
-	 *  @param interfaceName
+	 *
 	 * @param requestId
-	 * @param data
+	 * @param req
 	 */
-	void oladingNotify(String interfaceName, String requestId, Map<String, Object> data);
+	void oladingNotify(String requestId, OladingCommonRequest.Req req);
 
 	/**
 	 * 自由职家签约结果回调
-	 *
-	 * @param requestId
+	 *  @param requestId
 	 * @param signUpCertStatus
+	 * @param req
 	 */
-	void oladingSignUp(String requestId, OladingCommonRequest.SignUpStatus signUpCertStatus);
+	void oladingSignUp(String requestId, OladingCommonRequest.SignUpStatus signUpCertStatus, OladingCommonRequest.Req req);
 
 	/**
 	 * 自由职家证照上传结果回调
@@ -34,7 +32,7 @@ public interface GigThirdApiService {
 	 * @param requestId
 	 * @param uploadIdCertStatus
 	 */
-	void oladingUploadIdCardImage(String requestId, OladingCommonRequest.UploadIdCardImageStatus uploadIdCertStatus);
+	void oladingUploadIdCardImage(String requestId, OladingCommonRequest.UploadIdCardImageStatus uploadIdCertStatus, OladingCommonRequest.Req req);
 
 	/**
 	 * 自由职家上传企业纳税人协议回调
@@ -42,6 +40,6 @@ public interface GigThirdApiService {
 	 * @param requestId
 	 * @param agreementStatus
 	 */
-	void oladingUploadTaxpayerAgreement(String requestId, OladingCommonRequest.UploadTaxpayerAgreementStatus agreementStatus);
+	void oladingUploadTaxpayerAgreement(String requestId, OladingCommonRequest.UploadTaxpayerAgreementStatus agreementStatus, OladingCommonRequest.Req req);
 
 }

+ 29 - 10
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/gig/impl/GigThirdApiServiceImpl.java

@@ -52,13 +52,16 @@ public class GigThirdApiServiceImpl implements GigThirdApiService {
 	/**
 	 * 自由职家回调业务处理
 	 *
-	 * @param interfaceName
 	 * @param requestId
-	 * @param data
+	 * @param req
 	 */
 	@Override
-	public void oladingNotify(String interfaceName, String requestId, Map<String, Object> data) {
-		// 接口名称
+	public void oladingNotify(String requestId, OladingCommonRequest.Req req) {
+		// 请求接口名称
+		String interfaceName = req.getName();
+		// 请求data
+		Map<String, Object> data = req.getData();
+		// 接口名称enum
 		OladingCommonRequest.InterfaceName interfaceNameEnum = Enum.valueOf(OladingCommonRequest.InterfaceName.class, interfaceName);
 		// 状态
 		String status = "CREATE_ORDER_DETAIL".equals(interfaceName) ? (String) data.get("remit_status")  : (String) data.get("status");
@@ -73,19 +76,19 @@ public class GigThirdApiServiceImpl implements GigThirdApiService {
 			case SIGN_UP:
 				// 签约
 				OladingCommonRequest.SignUpStatus signUpCertStatus = Enum.valueOf(OladingCommonRequest.SignUpStatus.class, status);
-				this.oladingSignUp(requestIdPrefix, signUpCertStatus);
+				this.oladingSignUp(requestIdPrefix, signUpCertStatus, req);
 				break;
 			case UPLOAD_ID_CARD_IMAGE:
 				// 证照上传
 				OladingCommonRequest.UploadIdCardImageStatus uploadIdCertStatus =
 						Enum.valueOf(OladingCommonRequest.UploadIdCardImageStatus.class, status);
-				this.oladingUploadIdCardImage(requestIdPrefix, uploadIdCertStatus);
+				this.oladingUploadIdCardImage(requestIdPrefix, uploadIdCertStatus, req);
 				break;
 			case UPLOAD_TAXPAYER_AGREEMENT:
 				// 上传企业纳税人协议
 				OladingCommonRequest.UploadTaxpayerAgreementStatus agreementStatus =
 						Enum.valueOf(OladingCommonRequest.UploadTaxpayerAgreementStatus.class, status);
-				this.oladingUploadTaxpayerAgreement(requestIdPrefix, agreementStatus);
+				this.oladingUploadTaxpayerAgreement(requestIdPrefix, agreementStatus, req);
 				break;
 			case CREATE_ORDER_V2:
 				// 创建代付订单结果
@@ -234,10 +237,11 @@ public class GigThirdApiServiceImpl implements GigThirdApiService {
 	 *
 	 * @param requestId
 	 * @param signUpCertStatus
+	 * @param req
 	 */
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public void oladingSignUp(String requestId, OladingCommonRequest.SignUpStatus signUpCertStatus) {
+	public void oladingSignUp(String requestId, OladingCommonRequest.SignUpStatus signUpCertStatus, OladingCommonRequest.Req req) {
 		// 先查询requestId是否存在
 		SysUserSub userSub = sysUserSubService.getOne(Wrappers.<SysUserSub>lambdaQuery()
 				.eq(SysUserSub::getRequestId, requestId));
@@ -265,6 +269,11 @@ public class GigThirdApiServiceImpl implements GigThirdApiService {
 		updateUserSub.setUpdateTime(LocalDateTime.now());
 		updateUserSub.setUpdateUser(0);
 		updateUserSub.setCallbackStatus(GigCallBackStatus.RETURNED);
+		if ("0".equals(req.getCode())) {
+			updateUserSub.setFailReason(String.valueOf(req.getData().get("failReason")));
+		} else {
+			updateUserSub.setFailReason(req.getMessage());
+		}
 		// 更新状态
 		sysUserSubService.updateById(updateUserSub);
 
@@ -282,7 +291,7 @@ public class GigThirdApiServiceImpl implements GigThirdApiService {
 	 * @param uploadIdCertStatus
 	 */
 	@Override
-	public void oladingUploadIdCardImage(String requestId, OladingCommonRequest.UploadIdCardImageStatus uploadIdCertStatus) {
+	public void oladingUploadIdCardImage(String requestId, OladingCommonRequest.UploadIdCardImageStatus uploadIdCertStatus, OladingCommonRequest.Req req) {
 		// 先查询requestId是否存在
 		SysUserSub userSub = sysUserSubService.getOne(Wrappers.<SysUserSub>lambdaQuery()
 				.eq(SysUserSub::getRequestId, requestId));
@@ -313,6 +322,11 @@ public class GigThirdApiServiceImpl implements GigThirdApiService {
 		updateUserSubWrapper.set(SysUserSub::getUpdateTime, LocalDateTime.now());
 		updateUserSubWrapper.set(SysUserSub::getUpdateUser, 0);
 		updateUserSubWrapper.set(SysUserSub::getCallbackStatus, GigCallBackStatus.RETURNED);
+		if ("0".equals(req.getCode())) {
+			updateUserSubWrapper.set(SysUserSub::getFailReason, String.valueOf(req.getData().get("failReason")));
+		} else {
+			updateUserSubWrapper.set(SysUserSub::getFailReason, req.getMessage());
+		}
 		// 更新状态
 		sysUserSubService.update(updateUserSubWrapper);
 
@@ -330,7 +344,7 @@ public class GigThirdApiServiceImpl implements GigThirdApiService {
 	 * @param agreementStatus
 	 */
 	@Override
-	public void oladingUploadTaxpayerAgreement(String requestId, OladingCommonRequest.UploadTaxpayerAgreementStatus agreementStatus) {
+	public void oladingUploadTaxpayerAgreement(String requestId, OladingCommonRequest.UploadTaxpayerAgreementStatus agreementStatus, OladingCommonRequest.Req req) {
 		// 先查询requestId是否存在
 		SysUserSub userSub = sysUserSubService.getOne(Wrappers.<SysUserSub>lambdaQuery()
 				.eq(SysUserSub::getRequestId, requestId));
@@ -360,6 +374,11 @@ public class GigThirdApiServiceImpl implements GigThirdApiService {
 		updateUserSub.setCallbackStatus(GigCallBackStatus.RETURNED);
 		updateUserSub.setUpdateTime(LocalDateTime.now());
 		updateUserSub.setUpdateUser(0);
+		if ("0".equals(req.getCode())) {
+			updateUserSub.setFailReason(String.valueOf(req.getData().get("failReason")));
+		} else {
+			updateUserSub.setFailReason(req.getMessage());
+		}
 		// 更新状态
 		sysUserSubService.updateById(updateUserSub);