Bläddra i källkod

feat: 浪潮认证调通

lixuesong 2 år sedan
förälder
incheckning
21a47483d9

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

@@ -17,6 +17,7 @@ import com.qunzhixinxi.hnqz.admin.entity.SysUserSub;
 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.LangChaoCertStatus;
 import com.qunzhixinxi.hnqz.admin.enums.LockEnum;
 import com.qunzhixinxi.hnqz.admin.enums.OladingCertStatus;
 import com.qunzhixinxi.hnqz.admin.enums.SubjectLocation;
@@ -136,6 +137,8 @@ public class GigSignCertReceiver extends BaseRabbiMqHandler<String> {
 							case ZHENG_QI_ZHI_XING:
 								this.zhengQiZhiXingHandler(user, dept, subjectResult);
 								break;
+							case LANG_CHAO:
+								this.langchaoHandler(user, dept, subjectResult);
 							default:
 						}
 					});
@@ -152,6 +155,47 @@ public class GigSignCertReceiver extends BaseRabbiMqHandler<String> {
         });
     }
 
+	/**
+	 * 浪潮回调状态处理
+	 *
+	 * @param user
+	 * @param dept
+	 * @param subjectResult
+	 */
+	private void langchaoHandler(SysUser user, SysDept dept, JSONObject subjectResult) {
+		String code = subjectResult.getStr("code");
+		String certStatus = subjectResult.getStr("certStatus");
+		LocalDateTime now = LocalDateTime.now();
+		LangChaoCertStatus langChaoCertStatus = Enum.valueOf(LangChaoCertStatus.class, certStatus);
+
+		// 拼接更新条件
+		LambdaUpdateWrapper<SysUserSub> updateWrapper = Wrappers.<SysUserSub>lambdaUpdate()
+				.eq(SysUserSub::getUserId, user.getUserId())
+				.eq(SysUserSub::getDeptId, dept.getDeptId())
+				.eq(SysUserSub::getSubjectLocation, SubjectLocation.LANG_CHAO)
+				.eq(SysUserSub::getGigType, GigTypeEnum.LANG_CHAO)
+				.set(SysUserSub::getCallbackStatus, GigCallBackStatus.RETURNED)
+				.set(SysUserSub::getUpdateTime, now)
+				.set(SysUserSub::getUpdateUser, 0)
+				.set(SysUserSub::getCertRemark, JSONUtil.toJsonStr(subjectResult));
+
+		if (LangChaoCertStatus.SIGN.equals(langChaoCertStatus)) {
+			// 这里记为已认证(对应浪潮的已签约状态)
+			updateWrapper.set(SysUserSub::getCertStatus, LangChaoCertStatus.CERT.getCode());
+		}
+
+		sysUserSubService.update(updateWrapper);
+
+		// 结果放到redis
+		Map<String, Map<String, String>> resultMap = new HashMap<>(1);
+		Map<String, String> subMap = new HashMap<>(1);
+		subMap.put("certStatus", certStatus);
+		resultMap.put("LANG_CHAO", subMap);
+		String key = CacheConstants.USER_SIGN_CERT_RESPONSE_KEY + user.getUserId();
+		log.info("缓存认证结果到redis:{}", JSONUtil.toJsonStr(resultMap));
+		redisTemplate.opsForValue().set(key, JSONUtil.toJsonStr(resultMap), 1, TimeUnit.MINUTES);
+	}
+
 	/**
 	 * 正启之星结果处理
 	 *

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

@@ -761,10 +761,10 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 		userInfoModel.setBankCard(userSub.getBankCardNumber());
 		userInfoModel.setUploadFaceID(uploadFaceID);
 		userInfoModel.setIdCardFront(StrUtil.isBlank(userSub.getIdCardFrontUrl())
-				? null : userSub.getIdCardFrontUrl().startsWith("https")
+				? userExtRecord.getIdCardFrontUrl() : userSub.getIdCardFrontUrl().startsWith("https")
 				? userSub.getIdCardFrontUrl() : upmsConfig.getClientUrl() + userSub.getIdCardFrontUrl());
 		userInfoModel.setIdCardBack(StrUtil.isBlank(userSub.getIdCardBackUrl())
-				? null : userSub.getIdCardBackUrl().startsWith("https")
+				? userExtRecord.getIdCardBackUrl() : userSub.getIdCardBackUrl().startsWith("https")
 				? userSub.getIdCardBackUrl() : upmsConfig.getClientUrl() + userSub.getIdCardBackUrl());
 		userInfoModel.setCertVideo1(StrUtil.isBlank(userSub.getCertVideo1Url())
 				? null : userSub.getCertVideo1Url().startsWith("https")