Эх сурвалжийг харах

Merge branch 'feat-20230402-zhongzhi' into temp-pre

李学松 2 жил өмнө
parent
commit
779743518c
17 өөрчлөгдсөн 394 нэмэгдсэн , 8 устгасан
  1. 5 0
      db/v2.0/230410.sql
  2. 5 0
      hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/constant/CacheConstants.java
  3. 5 0
      hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/entity/SysUser.java
  4. 48 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/GigThirdApiController.java
  5. 9 5
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/SysUserSignCertController.java
  6. 5 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/SysUserSub.java
  7. 68 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/ZhongzhiInputRecord.java
  8. 5 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/dto/UserSignCertDTO.java
  9. 5 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/model/GigUserInfoModel.java
  10. 18 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/mapper/ZhongzhiInputRecordMapper.java
  11. 47 1
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/mq/GigSignCertReceiver.java
  12. 13 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/ZhongzhiInputRecordService.java
  13. 8 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/gig/GigThirdApiService.java
  14. 7 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/gig/SysUserSignCertService.java
  15. 68 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/gig/impl/GigThirdApiServiceImpl.java
  16. 56 2
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/gig/impl/SysUserSignCertServiceImpl.java
  17. 22 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/ZhongzhiInputRecordServiceImpl.java

+ 5 - 0
db/v2.0/230410.sql

@@ -0,0 +1,5 @@
+alter table sys_user
+    add bank_name varchar(32) null comment '开户行';
+
+alter table sys_user_sub
+    add bank_name varchar(64) null comment '开户行' after bank_phone;

+ 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
 	 */

+ 5 - 0
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/entity/SysUser.java

@@ -269,6 +269,11 @@ public class SysUser implements Serializable {
 	 */
 	private String bankPhone;
 
+	/**
+	 * 开户行
+	 */
+	private String bankName;
+
 	/**
 	 * 人力家认证状态
 	 */

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

@@ -15,12 +15,14 @@ import com.qunzhixinxi.hnqz.admin.entity.OladingInputRecord;
 import com.qunzhixinxi.hnqz.admin.entity.SysDeptSub;
 import com.qunzhixinxi.hnqz.admin.entity.XinbadaInputRecord;
 import com.qunzhixinxi.hnqz.admin.entity.ZhongyiyunInputRecord;
+import com.qunzhixinxi.hnqz.admin.entity.ZhongzhiInputRecord;
 import com.qunzhixinxi.hnqz.admin.enums.SubjectLocation;
 import com.qunzhixinxi.hnqz.admin.service.HuiqiyunInputRecordService;
 import com.qunzhixinxi.hnqz.admin.service.LingcaiaiInputRecordService;
 import com.qunzhixinxi.hnqz.admin.service.SysDeptSubService;
 import com.qunzhixinxi.hnqz.admin.service.XinbadaInputRecordService;
 import com.qunzhixinxi.hnqz.admin.service.ZhongyiyunInputRecordService;
+import com.qunzhixinxi.hnqz.admin.service.ZhongzhiInputRecordService;
 import com.qunzhixinxi.hnqz.admin.service.gig.GigThirdApiService;
 import com.qunzhixinxi.hnqz.admin.service.gig.OladingInputRecordService;
 import com.qunzhixinxi.hnqz.admin.util.ZhongyiyunUtils;
@@ -69,10 +71,56 @@ public class GigThirdApiController {
 
 	private final ZhongyiyunInputRecordService zhongyiyunInputRecordService;
 
+	private final ZhongzhiInputRecordService zhongzhiInputRecordService;
+
 	private final SysDeptSubService sysDeptSubService;
 
 	private final RedisTemplate redisTemplate;
 
+	/**
+	 * 中智回调异步通知记录
+	 *
+	 * @param body
+	 * @param headers
+	 * @return
+	 */
+	@PostMapping("/zhongzhi/pay-notify")
+	public Map<String, Object> zhongZhiSettleNotify(@RequestBody String body, @RequestHeader HttpHeaders headers) {
+		log.info("中智结算请求方法参数:body={}, headers={}", body, headers);
+
+		// 请求body json
+		JSONObject bodyJson = JSONUtil.parseObj(body);
+
+		// 平台任务编号
+		String orderNo = bodyJson.getStr("orderNo");
+
+		Map<String, Object> result = new HashMap<>();
+
+		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);
+			result.put("code", "00000400");
+			result.put("msg", "成功");
+			return result;
+		}
+
+		// 请求记录到数据库
+		ZhongzhiInputRecord inputRecord = new ZhongzhiInputRecord();
+		inputRecord.setOrderNo(orderNo);
+		inputRecord.setReqType(ZhongzhiInputRecord.ReqType.SETTLE_NOTIFY.getType());
+		inputRecord.setReqBody(body);
+		zhongzhiInputRecordService.save(inputRecord);
+
+		// 业务处理
+		gigThirdApiService.zhongzhiSettleNotify(bodyJson);
+
+		result.put("code", "00000200");
+		result.put("msg", "成功");
+
+		return result;
+	}
+
 	/**
 	 * 众蚁云结算异步通知回调
 	 *

+ 9 - 5
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/SysUserSignCertController.java

@@ -85,12 +85,13 @@ public class SysUserSignCertController {
 		if (StrUtil.length(userSignCertDTO.getBankCardNumber()) < 16 || StrUtil.length(userSignCertDTO.getBankCardNumber()) > 19) {
 			return R.failed("银行卡号不正确");
 		}
-		SysUser sysUser = new SysUser();
-		sysUser.setUserId(userSignCertDTO.getUserId());
-		sysUser.setBankCardNumber(userSignCertDTO.getBankCardNumber());
-		sysUser.setBankPhone(userSignCertDTO.getBankPhone());
+		if (StrUtil.isBlank(userSignCertDTO.getBankName())) {
+			return R.failed("开户行不能为空");
+		}
+
+		sysUserSignCertService.saveBankInfo(userSignCertDTO);
 
-		return R.ok(sysUserService.updateById(sysUser));
+		return R.ok();
 	}
 
 	/**
@@ -117,6 +118,9 @@ public class SysUserSignCertController {
 		if (StrUtil.isNotBlank(userSignCertDTO.getIdCardNumber()) && !Validator.isCitizenId(userSignCertDTO.getIdCardNumber())) {
 			return R.failed("身份证号不正确");
 		}
+		if (StrUtil.isBlank(userSignCertDTO.getBankName())) {
+			return R.failed("开户行不能为空");
+		}
 
 		// 校验是否配置了结算限制
 		Integer deptId = SecurityUtils.getUser().getDeptId();

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

@@ -91,6 +91,11 @@ public class SysUserSub extends Model<SysUserSub> {
 	 */
 	private String bankCardNumber;
 
+	/**
+	 * 开户行
+	 */
+	private String bankName;
+
 	/**
 	 * 身份证照片-正面
 	 */

+ 68 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/ZhongzhiInputRecord.java

@@ -0,0 +1,68 @@
+package com.qunzhixinxi.hnqz.admin.entity;
+
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.Getter;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * 中智回调异步通知记录
+ * @TableName zhongzhi_input_record
+ */
+@TableName(value ="zhongzhi_input_record")
+@Data
+public class ZhongzhiInputRecord implements Serializable {
+
+	private static final long serialVersionUID = 2315253613947884869L;
+
+	/**
+     * 主键id
+     */
+    @TableId(type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 请求业务类型
+     */
+    private String reqType;
+
+    /**
+     * 平台任务编号
+     */
+    private String orderNo;
+
+    /**
+     * 请求body
+     */
+    private String reqBody;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+	@Getter
+	@AllArgsConstructor
+	public enum ReqType {
+//		SIGN_NOTIFY("SIGN_NOTIFY", "签约回调"),
+		SETTLE_NOTIFY("SETTLE_NOTIFY", "结算回调");
+
+		/**
+		 * 请求类型
+		 */
+		@EnumValue
+		private final String type;
+
+		/**
+		 * 描述
+		 */
+		private final String desc;
+	}
+
+}

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

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

+ 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;
+
 	/**
 	 * 身份证照片-正面
 	 */

+ 18 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/mapper/ZhongzhiInputRecordMapper.java

@@ -0,0 +1,18 @@
+package com.qunzhixinxi.hnqz.admin.mapper;
+
+import com.qunzhixinxi.hnqz.admin.entity.ZhongzhiInputRecord;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author snows
+* @description 针对表【zhongzhi_input_record(中智回调异步通知记录)】的数据库操作Mapper
+* @createDate 2023-04-10 15:09:13
+* @Entity com.qunzhixinxi.hnqz.admin.entity.ZhongzhiInputRecord
+*/
+public interface ZhongzhiInputRecordMapper extends BaseMapper<ZhongzhiInputRecord> {
+
+}
+
+
+
+

+ 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 {

+ 13 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/ZhongzhiInputRecordService.java

@@ -0,0 +1,13 @@
+package com.qunzhixinxi.hnqz.admin.service;
+
+import com.qunzhixinxi.hnqz.admin.entity.ZhongzhiInputRecord;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+* @author snows
+* @description 针对表【zhongzhi_input_record(中智回调异步通知记录)】的数据库操作Service
+* @createDate 2023-04-10 15:09:13
+*/
+public interface ZhongzhiInputRecordService extends IService<ZhongzhiInputRecord> {
+
+}

+ 8 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/gig/GigThirdApiService.java

@@ -14,6 +14,14 @@ import java.util.List;
  */
 public interface GigThirdApiService {
 
+	/**
+	 * 中智结算回调业务处理
+	 *
+	 * @param bodyJson 请求数据
+	 * @return 是否成功
+	 */
+	boolean zhongzhiSettleNotify(JSONObject bodyJson);
+
 	/**
 	 * 众蚁云结算回调业务处理
 	 *

+ 7 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/gig/SysUserSignCertService.java

@@ -54,6 +54,13 @@ public interface SysUserSignCertService {
 	 */
 	Map<String, Object> listCertInfo(String idCard, String enterprisCode, List<SubjectLocation> subjectChannel);
 
+	/**
+	 * 保存银行卡信息
+	 *
+	 * @param userSignCertDTO
+	 */
+	void saveBankInfo(UserSignCertDTO userSignCertDTO);
+
 	/**
 	 * 保存用户基础信息
 	 *

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

@@ -87,6 +87,74 @@ public class GigThirdApiServiceImpl implements GigThirdApiService {
 
 	private final HuiqiyunInputRecordService huiqiyunInputRecordService;
 
+	/**
+	 * 中智结算回调业务处理
+	 *
+	 * @param bodyJson 请求数据
+	 * @return 是否成功
+	 */
+	@Override
+	public boolean zhongzhiSettleNotify(JSONObject bodyJson) {
+		// 平台任务编号
+		String orderNo = bodyJson.getStr("orderNo");
+		// 支付结果,SUCCESS成功,FAIL失败
+		String payResult = bodyJson.getStr("payResult");
+
+		// 根据orderNo查询结算单
+		List<WmScorePackageSettleNote> settleNoteList = scorePackageSettleNoteService.list(Wrappers.<WmScorePackageSettleNote>lambdaQuery()
+				.eq(WmScorePackageSettleNote::getStreamId, orderNo));
+		if (CollUtil.isEmpty(settleNoteList)) {
+			log.warn("订单orderNo={}对应结算单不存在", orderNo);
+			return false;
+		}
+
+		WmScorePackageSettleNote tmp = settleNoteList.get(0);
+
+		int yaoyiStatus = 0;
+		if ("SUCCESS".equals(payResult)) {
+			// 对应要易结算成功状态
+			yaoyiStatus = 1;
+		} else if ("FAIL".equals(payResult)) {
+			yaoyiStatus = 2;
+		} else {
+			log.warn("当前结算payResult不处理");
+			redisTemplate.delete(CacheConstants.SETTLE_PACKAGE_KEY + tmp.getId());
+			return false;
+		}
+
+		// 修改结算状态
+		final int finalYaoyiStatus = yaoyiStatus;
+		List<WmScorePackageSettleNote> updateList = settleNoteList.stream().map(note -> {
+			WmScorePackageSettleNote updateEntity = new WmScorePackageSettleNote();
+			updateEntity.setId(note.getId());
+			updateEntity.setSettleNoteStatus(finalYaoyiStatus);
+			if (finalYaoyiStatus == 1){
+				updateEntity.setNotifyTime(LocalDateTime.now());
+			}
+			updateEntity.setUpdateTime(LocalDateTime.now());
+			return updateEntity;
+		}).collect(Collectors.toList());
+
+		scorePackageSettleNoteService.updateBatchById(updateList);
+
+		WmScorePackage scorePackage = scorePackageService.getById(tmp.getPackageId());
+
+		// 遥领不修改
+		if (!"1611890566".equals(scorePackage.getSendPackageDeptId())) {
+			// 更新积分包状态
+			log.info("更新积分包状态:{}", tmp);
+			WmScorePackage wmScorePackage = new WmScorePackage();
+			wmScorePackage.setId(tmp.getPackageId());
+			wmScorePackage.setSettleStatus(yaoyiStatus);
+			wmScorePackage.setUpdateTime(LocalDateTime.now());
+			scorePackageService.updateById(wmScorePackage);
+		}
+
+		redisTemplate.delete(CacheConstants.SETTLE_PACKAGE_KEY + tmp.getId());
+
+		return true;
+	}
+
 	/**
 	 * 众蚁云结算回调业务处理
 	 *

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

@@ -180,6 +180,35 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 		return null;
 	}
 
+	/**
+	 * 保存银行卡信息
+	 *
+	 * @param userSignCertDTO
+	 */
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void saveBankInfo(UserSignCertDTO userSignCertDTO) {
+		SysUser sysUser = new SysUser();
+		sysUser.setUserId(userSignCertDTO.getUserId());
+		sysUser.setBankCardNumber(userSignCertDTO.getBankCardNumber());
+		sysUser.setBankPhone(userSignCertDTO.getBankPhone());
+		sysUser.setBankName(userSignCertDTO.getBankName());
+		sysUserService.updateById(sysUser);
+
+		List<SysUserSub> queryUserSubs = sysUserSubService.list(Wrappers.<SysUserSub>lambdaQuery()
+				.eq(SysUserSub::getUserId, userSignCertDTO.getUserId()));
+		queryUserSubs.forEach(queryUserSub -> {
+			SysUserSub updateUserSub = new SysUserSub();
+			updateUserSub.setId(queryUserSub.getId());
+			updateUserSub.setBankCardNumber(userSignCertDTO.getBankCardNumber());
+			updateUserSub.setBankPhone(userSignCertDTO.getBankPhone());
+			updateUserSub.setBankName(userSignCertDTO.getBankName());
+			updateUserSub.setUpdateTime(LocalDateTime.now());
+			updateUserSub.setUpdateUser(SecurityUtils.getUser().getId());
+			sysUserSubService.updateById(updateUserSub);
+		});
+	}
+
 	/**
 	 * 保存用户基础信息
 	 *
@@ -201,6 +230,7 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 			updateUser.setIdCardNumber(userSignCertDTO.getIdCardNumber());
 			updateUser.setBankPhone(userSignCertDTO.getBankPhone());
 			updateUser.setBankCardNumber(userSignCertDTO.getBankCardNumber());
+			updateUser.setBankName(userSignCertDTO.getBankName());
 			updateUser.setUpdateTime(LocalDateTime.now());
 			sysUserService.updateById(updateUser);
 		}
@@ -234,6 +264,8 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 			updateUserSub.setCallbackStatus(GigCallBackStatus.NOT_SUBMIT);
 			updateUserSub.setGigChannel(gigChannel);
 			updateUserSub.setBankCardNumber(userSignCertDTO.getBankCardNumber());
+			updateUserSub.setBankPhone(userSignCertDTO.getBankPhone());
+			updateUserSub.setBankName(userSignCertDTO.getBankName());
 			updateUserSub.setUpdateTime(LocalDateTime.now());
 			updateUserSub.setUpdateUser(operateUserId);
 			sysUserSubService.updateById(updateUserSub);
@@ -247,6 +279,7 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 			userSub.setCallbackStatus(GigCallBackStatus.NOT_SUBMIT);
 			userSub.setBankCardNumber(userSignCertDTO.getBankCardNumber());
 			userSub.setBankPhone(userSignCertDTO.getBankPhone());
+			userSub.setBankName(userSignCertDTO.getBankName());
 			userSub.setCreateUser(operateUserId);
 			userSub.setCreateTime(LocalDateTime.now());
 			sysUserSubService.save(userSub);
@@ -404,8 +437,28 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 				if (userSub.getCertStatus() > ZhongZhiCertStatus.UN_SIGN.getCode()) {
 					return R.ok();
 				}
-				this.updateUserCertStatus(userSub.getId(), "内部状态对其", ZhongZhiCertStatus.SIGN.getCode(), null);
-				return R.ok();
+
+				postResult = this.toSignCommonRequest(sysUser, userSub);
+
+				if (JSONUtil.isJsonObj(postResult)) {
+					JSONObject jsonResult = JSONUtil.parseObj(postResult);
+					if (jsonResult.getInt("code") == 0) {
+						JSONObject data = jsonResult.getJSONObject("data");
+						message = data.getStr("message");
+
+						if ("200".equals(data.getStr("code"))) {
+							successFlag = true;
+							certStatus = ZhongZhiCertStatus.SIGN.getCode();
+						}
+					}
+				}
+
+				this.updateUserCertStatus(userSub.getId(), message, certStatus, requestId);
+
+				if (successFlag) {
+					return R.ok();
+				}
+				break;
 //			case HAN_TANG:
 //				// 汉唐
 //				if (userSub.getCertStatus() > HanTangCertStatus.UN_SIGN.getCode()) {
@@ -796,6 +849,7 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 		userInfoModel.setPayChannel(PayChannel.BANK_CARD);
 		userInfoModel.setBankPhone(userSub.getBankPhone());
 		userInfoModel.setBankCard(userSub.getBankCardNumber());
+		userInfoModel.setBankName(userSub.getBankName());
 		userInfoModel.setUploadFaceID(uploadFaceID);
 		userInfoModel.setIdCardFront(StrUtil.isBlank(userSub.getIdCardFrontUrl())
 				? userExtRecord.getIdCardFrontUrl() : userSub.getIdCardFrontUrl().startsWith("https")

+ 22 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/ZhongzhiInputRecordServiceImpl.java

@@ -0,0 +1,22 @@
+package com.qunzhixinxi.hnqz.admin.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qunzhixinxi.hnqz.admin.entity.ZhongzhiInputRecord;
+import com.qunzhixinxi.hnqz.admin.service.ZhongzhiInputRecordService;
+import com.qunzhixinxi.hnqz.admin.mapper.ZhongzhiInputRecordMapper;
+import org.springframework.stereotype.Service;
+
+/**
+* @author snows
+* @description 针对表【zhongzhi_input_record(中智回调异步通知记录)】的数据库操作Service实现
+* @createDate 2023-04-10 15:09:13
+*/
+@Service
+public class ZhongzhiInputRecordServiceImpl extends ServiceImpl<ZhongzhiInputRecordMapper, ZhongzhiInputRecord>
+    implements ZhongzhiInputRecordService{
+
+}
+
+
+
+