Sfoglia il codice sorgente

fix: 税邦云绑卡后没有更新认证状态2

lixuesong 1 anno fa
parent
commit
61f7015440

+ 17 - 2
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/mq/GigSignCertReceiver.java

@@ -454,6 +454,12 @@ public class GigSignCertReceiver extends BaseRabbiMqHandler<String> {
 		String certStatus = subjectResult.getStr("certStatus");
 		LocalDateTime now = LocalDateTime.now();
 		TaxHelperCertStatus taxHelperCertStatus = Enum.valueOf(TaxHelperCertStatus.class, certStatus);
+
+		SysUserSub queryUserSub = sysUserSubService.getOne(Wrappers.<SysUserSub>lambdaQuery()
+				.eq(SysUserSub::getUserId, user.getUserId())
+				.eq(SysUserSub::getDeptId, dept.getDeptId())
+				.eq(SysUserSub::getSubjectLocation, SubjectLocation.LUO_SHU_YUN)
+				.eq(SysUserSub::getGigType, GigTypeEnum.TAX_HELPOR));
 		// 拼接更新条件
 		LambdaUpdateWrapper<SysUserSub> updateWrapper = Wrappers.<SysUserSub>lambdaUpdate()
 				.eq(SysUserSub::getUserId, user.getUserId())
@@ -464,8 +470,17 @@ public class GigSignCertReceiver extends BaseRabbiMqHandler<String> {
 				.set(SysUserSub::getUpdateTime, now)
 				.set(SysUserSub::getCallbackTime, now)
 				.set(SysUserSub::getUpdateUser, 0)
-				.set(SysUserSub::getCertRemark, JSONUtil.toJsonStr(subjectResult))
-				.set(SysUserSub::getCertStatus, taxHelperCertStatus.getCode());
+				.set(SysUserSub::getCertRemark, JSONUtil.toJsonStr(subjectResult));
+
+		// 如果是已认证未绑卡
+		if (queryUserSub != null && TaxHelperCertStatus.UNCHECKED_BIND.getCode() == queryUserSub.getCertStatus()) {
+			// 处理税邦云认证成功,还没进行mq回调,这时发起了绑卡操作成功的问题
+			if (TaxHelperCertStatus.CHECKED_UNBIND.getCode() == taxHelperCertStatus.getCode()) {
+				updateWrapper.set(SysUserSub::getCertStatus, TaxHelperCertStatus.CERT.getCode());
+			}
+		} else {
+			updateWrapper.set(SysUserSub::getCertStatus, taxHelperCertStatus.getCode());
+		}
 
 		// 如果认证失败了, 置空身份证和合身视频
 		if (TaxHelperCertStatus.UNCHECKED_BIND.equals(taxHelperCertStatus)){

+ 3 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/gig/impl/SysUserSignCertServiceImpl.java

@@ -986,6 +986,9 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 					updateUser.setBankCardNumber(userSignCertDTO.getBankCardNumber());
 					if (TaxHelperCertStatus.CHECKED_UNBIND.getCode() == userSub.getCertStatus()) {
 						updateUser.setCertStatus(TaxHelperCertStatus.CERT.getCode());
+					} else {
+						// 处理税邦云认证成功,还没进行mq回调,这时发起了绑卡操作成功的问题
+						updateUser.setCertStatus(TaxHelperCertStatus.UNCHECKED_BIND.getCode());
 					}
 					updateUser.setUpdateTime(LocalDateTime.now());
 					sysUserService.updateById(updateUser);