Selaa lähdekoodia

feat: 易联-金园数科mq回调

lixuesong 3 vuotta sitten
vanhempi
commit
d771bcb0be

+ 32 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/mq/GigSignCertReceiver.java

@@ -261,7 +261,15 @@ public class GigSignCertReceiver extends BaseRabbiMqHandler<String> {
 	 * @param subjectResult
 	 */
 	private void oladingHandler(SysUser user, SysDept dept, JSONObject subjectResult) {
+		String certStatus = subjectResult.getStr("certStatus");
+		String uploadTaxPayerAgreementStatus = subjectResult.getStr("uploadTaxPayerAgreementStatus");
 		LocalDateTime now = LocalDateTime.now();
+
+		// 查询当前认证状态
+		SysUserSub userSub = sysUserSubService.getOne(Wrappers.<SysUserSub>lambdaQuery()
+				.eq(SysUserSub::getDeptId, dept.getDeptId())
+				.eq(SysUserSub::getUserId, user.getUserId())
+				.eq(SysUserSub::getGigType, GigTypeEnum.OLADING));
 		// 拼接更新条件
 		LambdaUpdateWrapper<SysUserSub> updateWrapper = Wrappers.<SysUserSub>lambdaUpdate()
 				.eq(SysUserSub::getUserId, user.getUserId())
@@ -270,6 +278,30 @@ public class GigSignCertReceiver extends BaseRabbiMqHandler<String> {
 				.set(SysUserSub::getUpdateTime, now)
 				.set(SysUserSub::getUpdateUser, 0)
 				.set(SysUserSub::getCertRemark, JSONUtil.toJsonStr(subjectResult));
+		// 如果是已签约并且当前不是已认证,则设置一下状态(处理阿拉丁没有回调的情况)
+		if (OladingCommonRequest.SignUpStatus.SIGN.name().equals(certStatus)
+				&& !OladingCertStatus.CERT.getCode().equals(String.valueOf(userSub.getCertStatus()))) {
+			// 如果是已上传协议成功,则设置为已认证,否则还是已签约
+			SysUser updateUser = new SysUser();
+			Map<String, String> subMap = new HashMap<>();
+			if (OladingCommonRequest.UploadTaxpayerAgreementStatus.SUCCESS.name().equals(uploadTaxPayerAgreementStatus)) {
+				updateWrapper.set(SysUserSub::getCertStatus, Integer.parseInt(OladingCertStatus.CERT.getCode()));
+				subMap.put("certStatus", OladingCertStatus.CERT.name());
+			} else {
+				updateWrapper.set(SysUserSub::getCertStatus, Integer.parseInt(OladingCertStatus.SIGNED.getCode()));
+				subMap.put("certStatus", OladingCertStatus.SIGNED.name());
+			}
+			updateWrapper.set(SysUserSub::getCallbackStatus, GigCallBackStatus.RETURNED);
+			// 修改步进状态
+			updateUser.setUserId(user.getUserId());
+			updateUser.setUpdateTime(now);
+			sysUserService.updateById(updateUser);
+			// 结果放到redis
+			String key = CacheConstants.USER_SIGN_CERT_RESPONSE_KEY + userSub.getUserId();
+			Map<String, Object> result = MapUtil.newHashMap(1);
+			result.put("OLADING", subMap);
+			redisTemplate.opsForValue().set(key, JSONUtil.toJsonStr(result), 1, TimeUnit.MINUTES);
+		}
 		sysUserSubService.update(updateWrapper);
 	}
 

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

@@ -73,9 +73,7 @@ public class GigThirdApiServiceImpl implements GigThirdApiService {
 			case SIGN_UP:
 				// 签约
 				OladingCommonRequest.SignUpStatus signUpCertStatus = Enum.valueOf(OladingCommonRequest.SignUpStatus.class, status);
-				if (OladingCommonRequest.SignUpStatus.SIGN.equals(signUpCertStatus)) {
-					this.oladingSignUp(requestIdPrefix, signUpCertStatus);
-				}
+				this.oladingSignUp(requestIdPrefix, signUpCertStatus);
 				break;
 			case UPLOAD_ID_CARD_IMAGE:
 				// 证照上传