Przeglądaj źródła

feat: 1.中智签约调通;2.中智结算回调调整

李学松 2 lat temu
rodzic
commit
40a8ce91b0

+ 5 - 0
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/constant/CacheConstants.java

@@ -143,6 +143,11 @@ public interface CacheConstants {
 	 */
 	String ZHONG_YI_YUN_SETTLE_NOTIFY_KEY = "ZHONG:YI:YUN:SETTLE:NOTIFY:KEY:";
 
+	/**
+	 * 中智结算异步结果回调key
+	 */
+	String ZHONG_ZHI_SETTLE_NOTIFY_KEY = "ZHONG:ZHI:SETTLE:NOTIFY:KEY:";
+
 	/**
 	 * 发起阿拉丁认证渠道记录key
 	 */

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

@@ -96,7 +96,7 @@ public class GigThirdApiController {
 
 		Map<String, Object> result = new HashMap<>();
 
-		String redisKey = String.format("%s_%s", CacheConstants.ZHONG_YI_YUN_SETTLE_NOTIFY_KEY, orderNo);
+		String redisKey = String.format("%s_%s", CacheConstants.ZHONG_ZHI_SETTLE_NOTIFY_KEY, orderNo);
 		Boolean absent = redisTemplate.opsForValue().setIfAbsent(redisKey, orderNo, 30, TimeUnit.MINUTES);
 		if (Boolean.FALSE.equals(absent)) {
 			log.warn("存在在途操作orderNo={}", orderNo);

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

@@ -78,6 +78,11 @@ public class GigUserInfoModel implements Serializable {
 	 */
 	private String newBankCard;
 
+	/**
+	 * 开户行
+	 */
+	private String bankName;
+
 	/**
 	 * 身份证照片-正面
 	 */

+ 47 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/mq/GigSignCertReceiver.java

@@ -144,6 +144,9 @@ public class GigSignCertReceiver extends BaseRabbiMqHandler<String> {
 							case ZHONG_YI_YUN:
 								this.zhongYiYunHandler(user, dept, subjectResult);
 								break;
+							case ZHONG_ZHI:
+								this.zhongZhiHandler(user, dept, subjectResult);
+								break;
 							default:
 						}
 					});
@@ -160,6 +163,49 @@ public class GigSignCertReceiver extends BaseRabbiMqHandler<String> {
         });
     }
 
+	/**
+	 * 众蚁云结果处理
+	 *
+	 * @param user          用户
+	 * @param dept          部门
+	 * @param subjectResult 结果
+	 */
+	private void zhongZhiHandler(SysUser user, SysDept dept, JSONObject subjectResult) {
+		String code = subjectResult.getStr("code");
+		String certStatus = subjectResult.getStr("certStatus");
+		LocalDateTime now = LocalDateTime.now();
+		ZhongZhiCertStatus zhongZhiCertStatus = Enum.valueOf(ZhongZhiCertStatus.class, certStatus);
+
+		// 拼接更新条件
+		LambdaUpdateWrapper<SysUserSub> updateWrapper = Wrappers.<SysUserSub>lambdaUpdate()
+				.eq(SysUserSub::getUserId, user.getUserId())
+				.eq(SysUserSub::getDeptId, dept.getDeptId())
+				.eq(SysUserSub::getSubjectLocation, SubjectLocation.ZHONG_ZHI)
+				.eq(SysUserSub::getGigType, GigTypeEnum.ZHONG_ZHI)
+				.set(SysUserSub::getUpdateTime, now)
+				.set(SysUserSub::getUpdateUser, 0)
+				.set(SysUserSub::getCertRemark, JSONUtil.toJsonStr(subjectResult));
+
+		if (ZhongZhiCertStatus.SIGN.equals(zhongZhiCertStatus)) {
+			// 中智已签约 即对应这里的已认证
+			updateWrapper.set(SysUserSub::getCertStatus, ZhongZhiCertStatus.CERT.getCode());
+			updateWrapper.set(SysUserSub::getCallbackStatus, GigCallBackStatus.RETURNED);
+		} else {
+			updateWrapper.set(SysUserSub::getCertStatus, zhongZhiCertStatus.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(SubjectLocation.ZHONG_ZHI.getType(), 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);
+	}
+
 	/**
 	 * 众蚁云结果处理
 	 *
@@ -184,7 +230,7 @@ public class GigSignCertReceiver extends BaseRabbiMqHandler<String> {
 				.set(SysUserSub::getCertRemark, JSONUtil.toJsonStr(subjectResult));
 
 		if (ZhongYiYunCertStatus.SIGN.equals(zhongYiYunCertStatus)) {
-			// 汇企云已签约 即对应这里的已认证
+			// 众蚁云已签约 即对应这里的已认证
 			updateWrapper.set(SysUserSub::getCertStatus, ZhongYiYunCertStatus.CERT.getCode());
 			updateWrapper.set(SysUserSub::getCallbackStatus, GigCallBackStatus.RETURNED);
 		} else {

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

@@ -415,7 +415,7 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 
 						if ("200".equals(data.getStr("code"))) {
 							successFlag = true;
-							certStatus = ZhengQiZhiXingCertStatus.SIGN.getCode();
+							certStatus = ZhongZhiCertStatus.SIGN.getCode();
 						}
 					}
 				}
@@ -816,6 +816,7 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 		userInfoModel.setPayChannel(PayChannel.BANK_CARD);
 		userInfoModel.setBankPhone(userSub.getBankPhone());
 		userInfoModel.setBankCard(userSub.getBankCardNumber());
+		userInfoModel.setBankName("交通银行"); // TODO
 		userInfoModel.setUploadFaceID(uploadFaceID);
 		userInfoModel.setIdCardFront(StrUtil.isBlank(userSub.getIdCardFrontUrl())
 				? userExtRecord.getIdCardFrontUrl() : userSub.getIdCardFrontUrl().startsWith("https")