瀏覽代碼

fix: 阿拉钉回调状态

lixuesong 3 年之前
父節點
當前提交
b7d4e518b8

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

@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.qunzhixinxi.hnqz.admin.api.constant.CacheConstants;
 import com.qunzhixinxi.hnqz.admin.api.constant.MqConstants;
+import com.qunzhixinxi.hnqz.admin.api.dto.OladingCommonRequest;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysUser;
 import com.qunzhixinxi.hnqz.admin.entity.SysUserSub;
@@ -17,6 +18,7 @@ import com.qunzhixinxi.hnqz.admin.enums.DelEnum;
 import com.qunzhixinxi.hnqz.admin.enums.GigCallBackStatus;
 import com.qunzhixinxi.hnqz.admin.enums.GigTypeEnum;
 import com.qunzhixinxi.hnqz.admin.enums.LockEnum;
+import com.qunzhixinxi.hnqz.admin.enums.OladingCertStatus;
 import com.qunzhixinxi.hnqz.admin.enums.YeeCertStatus;
 import com.qunzhixinxi.hnqz.admin.service.SysDeptService;
 import com.qunzhixinxi.hnqz.admin.service.SysUserService;
@@ -246,7 +248,19 @@ public class GigSignCertReceiver extends BaseRabbiMqHandler<String> {
 	 * @param subjectResult
 	 */
 	private void oladingHandler(SysUser user, SysDept dept, JSONObject subjectResult) {
+		String certStatus = subjectResult.getStr("certStatus");
 		LocalDateTime now = LocalDateTime.now();
+
+		// 查询当前认证状态
+		SysUserSub userSub = sysUserSubService.getOne(Wrappers.<SysUserSub>lambdaQuery()
+				.eq(SysUserSub::getDeptId, dept.getDeptId())
+				.eq(SysUserSub::getUserId, user.getUserId())
+				.eq(SysUserSub::getCallbackStatus, GigCallBackStatus.IN_PROGRESS)
+				.eq(SysUserSub::getGigType, GigTypeEnum.OLADING));
+		if (userSub == null) {
+			return;
+		}
+
 		// 拼接更新条件
 		LambdaUpdateWrapper<SysUserSub> updateWrapper = Wrappers.<SysUserSub>lambdaUpdate()
 				.eq(SysUserSub::getUserId, user.getUserId())
@@ -255,6 +269,17 @@ 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()))) {
+			updateWrapper.set(SysUserSub::getCallbackStatus, GigCallBackStatus.RETURNED);
+		}
+		// 已认证,则设置回调状态
+		if (OladingCertStatus.CERT.getCode().equals(String.valueOf(userSub.getCertStatus()))) {
+			updateWrapper.set(SysUserSub::getCallbackStatus, GigCallBackStatus.RETURNED);
+		}
+
 		sysUserSubService.update(updateWrapper);
 	}