Explorar el Código

feat: 增加E证通认证相关

lixuesong hace 3 años
padre
commit
088ea8aa6d

+ 26 - 0
db/v2.0/220720.sql

@@ -0,0 +1,26 @@
+create table sys_user_ext_record
+(
+    id                   int auto_increment comment '主键id'
+        primary key,
+    user_id              int              not null comment '用户id',
+    dept_id              int              not null comment '部门id',
+    real_name            varchar(30)      null comment '用户姓名',
+    phone                varchar(20)      null comment '手机号',
+    id_card_number       varchar(32)      null comment '身份证号',
+    bank_card_number     varchar(19)      null comment '银行卡号',
+    bank_phone           varchar(11)      null comment '银行预留手机号',
+    id_card_front_url    varchar(255)     null comment '身份证照片-正面',
+    id_card_back_url     varchar(255)     null comment '身份证照片-反面',
+    id_card_front_base64 longtext         null comment '身份证照片-正面base64',
+    id_card_back_base64  longtext         null comment '身份证照片-反面base64',
+    best_frame_url       varchar(255)     null comment '最佳帧照片url',
+    best_frame_base64    longtext         null comment '最佳帧照片base64',
+    remark               varchar(255)     null comment '备注',
+    del_flag             char default '0' null comment '删除标记',
+    create_time          datetime         null comment '创建时间',
+    create_user          int              null comment '创建人',
+    update_time          datetime         null comment '更新时间',
+    update_user          int              null comment '更新人'
+)
+    comment '用户认证相关的扩展信息';
+

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

@@ -1,15 +1,20 @@
 package com.qunzhixinxi.hnqz.admin.controller;
 
+import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.lang.Validator;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.qunzhixinxi.hnqz.admin.api.constant.CacheConstants;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysUser;
+import com.qunzhixinxi.hnqz.admin.entity.SysUserExtRecord;
 import com.qunzhixinxi.hnqz.admin.entity.SysUserSub;
 import com.qunzhixinxi.hnqz.admin.entity.dto.UserSignCertDTO;
+import com.qunzhixinxi.hnqz.admin.enums.DelEnum;
 import com.qunzhixinxi.hnqz.admin.enums.GigTypeEnum;
+import com.qunzhixinxi.hnqz.admin.service.SysUserExtRecordService;
 import com.qunzhixinxi.hnqz.admin.service.SysUserService;
 import com.qunzhixinxi.hnqz.admin.service.gig.SysUserSignCertService;
 import com.qunzhixinxi.hnqz.common.core.util.R;
@@ -27,6 +32,7 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.time.LocalDateTime;
 import java.util.Collections;
 import java.util.List;
 
@@ -103,7 +109,36 @@ public class SysUserSignCertController {
 	}
 
 	/**
-	 * 签协议
+	 * 签约/增员
+	 *
+	 * @param userSignCertDTO
+	 * @return
+	 */
+	@SysLog("签约/增员")
+	@PostMapping("/sign")
+	public R<?> toSign(UserSignCertDTO userSignCertDTO) {
+
+		// TODO
+
+		return null;
+	}
+
+	/**
+	 * 保存e证通认证结果
+	 *
+	 * @param userExtRecord
+	 * @return
+	 */
+	@PostMapping("/eid/result")
+	public R<?> saveEidResult(@RequestBody SysUserExtRecord userExtRecord) {
+
+		sysUserSignCertService.saveEidResult(userExtRecord);
+
+		return R.ok();
+	}
+
+	/**
+	 * 签协议 TODO
 	 *
 	 * @param userSignCertDTO
 	 * @return
@@ -136,6 +171,7 @@ public class SysUserSignCertController {
 	 * @param userSignCertDTO
 	 * @return
 	 */
+	@Deprecated
 	@SysLog("人身验证")
 	@PostMapping("/personal-identity-verification")
 	public R<?> personalIdentityVerification(@RequestBody UserSignCertDTO userSignCertDTO) {
@@ -164,6 +200,7 @@ public class SysUserSignCertController {
 	 * @param userSignCertDTO
 	 * @return R
 	 */
+	@Deprecated
 	@SysLog("用户签约认证")
 	@PostMapping("/batch-channel-cert")
 	public R<?> batchChannelCert(@RequestBody UserSignCertDTO userSignCertDTO) {

+ 125 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/SysUserExtRecord.java

@@ -0,0 +1,125 @@
+package com.qunzhixinxi.hnqz.admin.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.time.LocalDateTime;
+
+/**
+ * 用户认证相关的扩展信息实体
+ *
+ * @author lixuesong
+ * @date 2022年07月20日 18:36
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("sys_user_ext_record")
+public class SysUserExtRecord extends Model<SysUserExtRecord> {
+
+    /**
+     * 主键id
+     */
+    @TableId(type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 用户id
+     */
+    private Integer userId;
+
+    /**
+     * 部门id
+     */
+    private Integer deptId;
+
+    /**
+     * 用户姓名
+     */
+    private String realName;
+
+    /**
+     * 手机号
+     */
+    private String phone;
+
+    /**
+     * 身份证号
+     */
+    private String idCardNumber;
+
+    /**
+     * 银行卡号
+     */
+    private String bankCardNumber;
+
+    /**
+     * 银行预留手机号
+     */
+    private String bankPhone;
+
+    /**
+     * 身份证照片-正面
+     */
+    private String idCardFrontUrl;
+
+    /**
+     * 身份证照片-反面
+     */
+    private String idCardBackUrl;
+
+    /**
+     * 身份证照片-正面base64
+     */
+    private String idCardFrontBase64;
+
+    /**
+     * 身份证照片-反面base64
+     */
+    private String idCardBackBase64;
+
+    /**
+     * 最佳帧照片url
+     */
+    private String bestFrameUrl;
+
+    /**
+     * 最佳帧照片base64
+     */
+    private String bestFrameBase64;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 删除标记
+     */
+    private String delFlag;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 创建人
+     */
+    private Integer createUser;
+
+    /**
+     * 更新时间
+
+     */
+    private LocalDateTime updateTime;
+
+    /**
+     * 更新人
+     */
+    private Integer updateUser;
+
+}

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

@@ -1,6 +1,7 @@
 package com.qunzhixinxi.hnqz.admin.entity.dto;
 
 import com.qunzhixinxi.hnqz.admin.enums.GigTypeEnum;
+import com.qunzhixinxi.hnqz.admin.enums.SubjectChannel1;
 import lombok.Data;
 
 import java.io.Serializable;
@@ -65,8 +66,14 @@ public class UserSignCertDTO implements Serializable {
 	/**
 	 * 零工认证渠道
 	 */
+	@Deprecated
 	private List<GigTypeEnum> gigTypeList;
 
+	/**
+	 * 结算通道
+	 */
+	private List<SubjectChannel1> subjectChannelList;
+
 	/**
 	 * 验证码
 	 */

+ 1 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/enums/GigChannelEnum.java

@@ -10,6 +10,7 @@ import lombok.Getter;
  * @author lixuesong
  * @date 2022年03月03日 14:06
  */
+@Deprecated
 @Getter
 @AllArgsConstructor
 public enum GigChannelEnum {

+ 25 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/enums/MemberCertState.java

@@ -0,0 +1,25 @@
+package com.qunzhixinxi.hnqz.admin.enums;
+
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+// 会员认证信息
+@Getter
+@AllArgsConstructor
+public enum MemberCertState {
+
+
+	UN_CERT("UN_CERT", "未认证"),
+	SIGNED("SIGNED", "已签约"),
+	BOUND("BOUND", "已绑卡"),
+	AGREEMENT("AGREEMENT", "已签协议"),
+	CHECKED("CHECKED", "已合身"),
+	CERT("CERT", "已认证");
+
+	@EnumValue
+	private final String state;
+
+	private final String message;
+
+}

+ 32 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/enums/SubjectChannel1.java

@@ -0,0 +1,32 @@
+package com.qunzhixinxi.hnqz.admin.enums;
+
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * 结算通道
+ */
+@Getter
+@AllArgsConstructor
+public enum SubjectChannel1 {
+
+	// 仁励家通道
+	REN_LI_JIA("REN_LI_JIA", GigTypeEnum.REN_LI_JIA, "仁励家"),
+
+	// 税邦云通道
+	ZHONG_YING("ZHONG_YING", GigTypeEnum.TAX_HELPOR, "湖南众盈"),
+	LUO_SHU_YUN("LUO_SHU_YUN", GigTypeEnum.TAX_HELPOR, "永州罗数云"),
+
+	// 钉零工通道
+	FEI_YI("FEI_YI", GigTypeEnum.OLADING, "海南飞亿"),
+	JIN_YUAN("JIN_YUAN", GigTypeEnum.OLADING, "金园数科"),
+	XIN_TAI_ZI("XIN_TAI_ZI", GigTypeEnum.OLADING, "河南薪泰梓");
+
+	@EnumValue
+	private final String type;
+
+	private final GigTypeEnum gigType;
+
+	private final String description;
+}

+ 12 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/mapper/SysUserExtRecordMapper.java

@@ -0,0 +1,12 @@
+package com.qunzhixinxi.hnqz.admin.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.qunzhixinxi.hnqz.admin.entity.SysUserExtRecord;
+
+/**
+* 用户认证相关的扩展信息Mapper
+*/
+public interface SysUserExtRecordMapper extends BaseMapper<SysUserExtRecord> {
+
+
+}

+ 11 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/SysUserExtRecordService.java

@@ -0,0 +1,11 @@
+package com.qunzhixinxi.hnqz.admin.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.qunzhixinxi.hnqz.admin.entity.SysUserExtRecord;
+
+/**
+* 用户认证相关的扩展信息服务
+*/
+public interface SysUserExtRecordService extends IService<SysUserExtRecord> {
+
+}

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

@@ -1,11 +1,14 @@
 package com.qunzhixinxi.hnqz.admin.service.gig;
 
+import com.qunzhixinxi.hnqz.admin.entity.SysUserExtRecord;
 import com.qunzhixinxi.hnqz.admin.entity.SysUserSub;
 import com.qunzhixinxi.hnqz.admin.entity.dto.UserSignCertDTO;
 import com.qunzhixinxi.hnqz.admin.entity.vo.SysUserSubVO;
 import com.qunzhixinxi.hnqz.admin.enums.GigTypeEnum;
+import com.qunzhixinxi.hnqz.admin.enums.SubjectChannel1;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * 用户签约认证服务
@@ -40,6 +43,16 @@ public interface SysUserSignCertService {
 	 */
 	List<SysUserSubVO> listUserSignCertForApi(Integer userId);
 
+	/**
+	 * 查询用户认证状态
+	 *
+	 * @param idCard
+	 * @param enterprisCode
+	 * @param subjectChannel
+	 * @return
+	 */
+	Map<String, Object> listCertInfo(String idCard, String enterprisCode, List<SubjectChannel1> subjectChannel);
+
 	/**
 	 * 保存用户基础信息
 	 *
@@ -47,6 +60,13 @@ public interface SysUserSignCertService {
 	 */
 	void saveBaseInfo(UserSignCertDTO userSignCertDTO);
 
+	/**
+	 * 保存E证通认证结果
+	 *
+	 * @param userExtRecord
+	 */
+	void saveEidResult(SysUserExtRecord userExtRecord);
+
 	/**
 	 * 签协议
 	 *

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

@@ -4,6 +4,8 @@ import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.map.MapUtil;
 import cn.hutool.core.util.StrUtil;
+import cn.hutool.http.HttpUtil;
+import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
@@ -15,12 +17,14 @@ import com.qunzhixinxi.hnqz.admin.api.entity.SysUser;
 import com.qunzhixinxi.hnqz.admin.config.TaxNotifyConfig;
 import com.qunzhixinxi.hnqz.admin.config.UpmsConfig;
 import com.qunzhixinxi.hnqz.admin.entity.SysDeptSub;
+import com.qunzhixinxi.hnqz.admin.entity.SysUserExtRecord;
 import com.qunzhixinxi.hnqz.admin.entity.SysUserSub;
 import com.qunzhixinxi.hnqz.admin.entity.dto.UserSignCertDTO;
 import com.qunzhixinxi.hnqz.admin.entity.model.GigBaseInfoModel;
 import com.qunzhixinxi.hnqz.admin.entity.model.GigInfoModel;
 import com.qunzhixinxi.hnqz.admin.entity.model.GigUserInfoModel;
 import com.qunzhixinxi.hnqz.admin.entity.vo.SysUserSubVO;
+import com.qunzhixinxi.hnqz.admin.enums.DelEnum;
 import com.qunzhixinxi.hnqz.admin.enums.GigCallBackStatus;
 import com.qunzhixinxi.hnqz.admin.enums.GigChannelEnum;
 import com.qunzhixinxi.hnqz.admin.enums.GigTypeEnum;
@@ -30,14 +34,18 @@ import com.qunzhixinxi.hnqz.admin.enums.MemberType;
 import com.qunzhixinxi.hnqz.admin.enums.OladingCertStatus;
 import com.qunzhixinxi.hnqz.admin.enums.PayChannel;
 import com.qunzhixinxi.hnqz.admin.enums.RenlijiaCertStatus;
+import com.qunzhixinxi.hnqz.admin.enums.SubjectChannel1;
 import com.qunzhixinxi.hnqz.admin.enums.SubjectTypeEnum;
 import com.qunzhixinxi.hnqz.admin.enums.YeeCertStatus;
 import com.qunzhixinxi.hnqz.admin.service.SysDeptService;
 import com.qunzhixinxi.hnqz.admin.service.SysDeptSubService;
+import com.qunzhixinxi.hnqz.admin.service.SysUserExtRecordService;
 import com.qunzhixinxi.hnqz.admin.service.SysUserService;
 import com.qunzhixinxi.hnqz.admin.service.SysUserSubService;
 import com.qunzhixinxi.hnqz.admin.service.gig.SysUserSignCertService;
+import com.qunzhixinxi.hnqz.common.core.constant.CommonConstants;
 import com.qunzhixinxi.hnqz.common.core.entity.BaseMap;
+import com.qunzhixinxi.hnqz.common.core.util.R;
 import com.qunzhixinxi.hnqz.common.rabbitmq.client.RabbitMqClient;
 import com.qunzhixinxi.hnqz.common.security.service.HnqzUser;
 import com.qunzhixinxi.hnqz.common.security.util.SecurityUtils;
@@ -78,6 +86,8 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 
 	private final SysDeptService sysDeptService;
 
+	private final SysUserExtRecordService sysUserExtRecordService;
+
 	private final RabbitMqClient rabbitMqClient;
 
 	private final UpmsConfig upmsConfig;
@@ -86,6 +96,11 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 
 	private final RedisTemplate redisTemplate;
 
+	/**
+	 * 查询会员认证结果接口url
+	 */
+	private static final String GIG_CERT_STATE = "/gig/v2/operation/cert/state";
+
 	/**
 	 * 查询用户签约认证信息
 	 *
@@ -106,6 +121,7 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 	 * @param gigTypeList
 	 * @return
 	 */
+	@Deprecated
 	@Override
 	public List<SysUserSub> listUserSignCert(Integer userId, List<GigTypeEnum> gigTypeList) {
 		List<SysUserSub> userSubList = sysUserSubService.list(Wrappers.<SysUserSub>lambdaQuery()
@@ -120,6 +136,7 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 	 * @param userId
 	 * @return
 	 */
+	@Deprecated
 	@Override
 	public List<SysUserSubVO> listUserSignCertForApi(Integer userId) {
 		List<SysUserSub> userSubList = sysUserSubService.list(Wrappers.<SysUserSub>lambdaQuery()
@@ -155,6 +172,32 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 		return new ArrayList<>();
 	}
 
+	/**
+	 * 查询用户认证状态
+	 *
+	 * @param idCard 身份证号
+	 * @param enterprisCode 税号
+	 * @param subjectChannel 渠道类型
+	 * @return
+	 */
+	@Override
+	public Map<String, Object> listCertInfo(String idCard, String enterprisCode, List<SubjectChannel1> subjectChannel) {
+		Map<String, Object> params = new HashMap<>(3);
+		params.put("idCard", idCard);
+		params.put("enterprisCode", enterprisCode);
+		params.put("subjectChannel", subjectChannel);
+		String postResult = HttpUtil.post(upmsConfig.getGigServiceUrl() + GIG_CERT_STATE, JSONUtil.toJsonStr(params));
+		log.info("查询用户认证状态返回:{}", postResult);
+		if (JSONUtil.isJsonObj(postResult)) {
+			JSONObject jsonResult = JSONUtil.parseObj(postResult);
+			if (CommonConstants.SUCCESS.equals(jsonResult.getInt("code"))) {
+				return jsonResult.getJSONObject("data");
+			}
+		}
+
+		return null;
+	}
+
 	/**
 	 * 保存用户基础信息
 	 *
@@ -163,10 +206,10 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public void saveBaseInfo(UserSignCertDTO userSignCertDTO) {
-		HnqzUser user = SecurityUtils.getUser();
-		Integer operateUserId = user.getId();
-		// 查询user
-		SysUser queryUser = sysUserService.getById(userSignCertDTO.getUserId());
+//		HnqzUser user = SecurityUtils.getUser();
+//		Integer operateUserId = user.getId();
+//		// 查询user
+//		SysUser queryUser = sysUserService.getById(userSignCertDTO.getUserId());
 
 		if (StrUtil.isNotBlank(userSignCertDTO.getIdCardNumber()) || StrUtil.isNotBlank(userSignCertDTO.getBankPhone())
 				|| StrUtil.isNotBlank(userSignCertDTO.getBankCardNumber())) {
@@ -176,52 +219,77 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 			updateUser.setIdCardNumber(userSignCertDTO.getIdCardNumber());
 			updateUser.setBankPhone(userSignCertDTO.getBankPhone());
 			updateUser.setBankCardNumber(userSignCertDTO.getBankCardNumber());
+			updateUser.setUpdateTime(LocalDateTime.now());
 			sysUserService.updateById(updateUser);
 		}
-		// 更新用户签约认证主体信息
-		userSignCertDTO.getGigTypeList().forEach(gigType -> {
-			// 税邦云单独设置渠道类型
-			GigChannelEnum gigChannel;
-			if (GigTypeEnum.TAX_HELPOR.equals(gigType)) {
-				// 读取用户所认证的企业的结算渠道
-				SysDeptSub deptSub = sysDeptSubService.getOne(Wrappers.<SysDeptSub>lambdaQuery()
-						.eq(SysDeptSub::getDeptId, queryUser.getDeptId())
-						.eq(SysDeptSub::getSubjectType, GigTypeEnum.TAX_HELPOR.getCode())
-						.eq(SysDeptSub::getEnableFlag, SubjectTypeEnum.ENABLE_FLAG_TRUE.getCode()));
-				if (deptSub != null) {
-					gigChannel = GigChannelEnum.resolve(Integer.parseInt(deptSub.getSubjectType()));
-				} else {
-					gigChannel = GigChannelEnum.DEFAULT;
-				}
-			} else {
-				gigChannel = GigChannelEnum.DEFAULT;
-			}
-			SysUserSub queryUserSub = sysUserSubService.getOne(Wrappers.<SysUserSub>lambdaQuery()
-					.eq(SysUserSub::getUserId, userSignCertDTO.getUserId())
-					.eq(SysUserSub::getGigType, gigType));
-			if (queryUserSub != null) {
-				SysUserSub updateUserSub = new SysUserSub();
-				updateUserSub.setId(queryUserSub.getId());
-				updateUserSub.setCallbackStatus(GigCallBackStatus.NOT_SUBMIT);
-				updateUserSub.setGigChannel(gigChannel);
-				updateUserSub.setBankCardNumber(userSignCertDTO.getBankCardNumber());
-				updateUserSub.setUpdateTime(LocalDateTime.now());
-				updateUserSub.setUpdateUser(operateUserId);
-				sysUserSubService.updateById(updateUserSub);
-			} else {
-				SysUserSub userSub = new SysUserSub();
-				userSub.setUserId(userSignCertDTO.getUserId());
-				userSub.setDeptId(queryUser.getDeptId());
-				userSub.setGigType(gigType);
-				userSub.setGigChannel(gigChannel);
-				userSub.setCallbackStatus(GigCallBackStatus.NOT_SUBMIT);
-				userSub.setBankCardNumber(userSignCertDTO.getBankCardNumber());
-				userSub.setBankPhone(userSignCertDTO.getBankPhone());
-				userSub.setCreateUser(operateUserId);
-				userSub.setCreateTime(LocalDateTime.now());
-				sysUserSubService.save(userSub);
-			}
-		});
+//		// 更新用户签约认证主体信息
+//		userSignCertDTO.getGigTypeList().forEach(gigType -> {
+//			// 税邦云单独设置渠道类型
+//			GigChannelEnum gigChannel;
+//			if (GigTypeEnum.TAX_HELPOR.equals(gigType)) {
+//				// 读取用户所认证的企业的结算渠道
+//				SysDeptSub deptSub = sysDeptSubService.getOne(Wrappers.<SysDeptSub>lambdaQuery()
+//						.eq(SysDeptSub::getDeptId, queryUser.getDeptId())
+//						.eq(SysDeptSub::getSubjectType, GigTypeEnum.TAX_HELPOR.getCode())
+//						.eq(SysDeptSub::getEnableFlag, SubjectTypeEnum.ENABLE_FLAG_TRUE.getCode()));
+//				if (deptSub != null) {
+//					gigChannel = GigChannelEnum.resolve(Integer.parseInt(deptSub.getSubjectType()));
+//				} else {
+//					gigChannel = GigChannelEnum.DEFAULT;
+//				}
+//			} else {
+//				gigChannel = GigChannelEnum.DEFAULT;
+//			}
+//			SysUserSub queryUserSub = sysUserSubService.getOne(Wrappers.<SysUserSub>lambdaQuery()
+//					.eq(SysUserSub::getUserId, userSignCertDTO.getUserId())
+//					.eq(SysUserSub::getGigType, gigType));
+//			if (queryUserSub != null) {
+//				SysUserSub updateUserSub = new SysUserSub();
+//				updateUserSub.setId(queryUserSub.getId());
+//				updateUserSub.setCallbackStatus(GigCallBackStatus.NOT_SUBMIT);
+//				updateUserSub.setGigChannel(gigChannel);
+//				updateUserSub.setBankCardNumber(userSignCertDTO.getBankCardNumber());
+//				updateUserSub.setUpdateTime(LocalDateTime.now());
+//				updateUserSub.setUpdateUser(operateUserId);
+//				sysUserSubService.updateById(updateUserSub);
+//			} else {
+//				SysUserSub userSub = new SysUserSub();
+//				userSub.setUserId(userSignCertDTO.getUserId());
+//				userSub.setDeptId(queryUser.getDeptId());
+//				userSub.setGigType(gigType);
+//				userSub.setGigChannel(gigChannel);
+//				userSub.setCallbackStatus(GigCallBackStatus.NOT_SUBMIT);
+//				userSub.setBankCardNumber(userSignCertDTO.getBankCardNumber());
+//				userSub.setBankPhone(userSignCertDTO.getBankPhone());
+//				userSub.setCreateUser(operateUserId);
+//				userSub.setCreateTime(LocalDateTime.now());
+//				sysUserSubService.save(userSub);
+//			}
+//		});
+	}
+
+	/**
+	 * 保存E证通认证结果
+	 *
+	 * @param userExtRecord
+	 */
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void saveEidResult(SysUserExtRecord userExtRecord) {
+		HnqzUser hnqzUser = SecurityUtils.getUser();
+
+		// 作废已有数据
+		sysUserExtRecordService.update(Wrappers.<SysUserExtRecord>lambdaUpdate()
+				.eq(SysUserExtRecord::getUserId, hnqzUser.getId())
+				.eq(SysUserExtRecord::getDelFlag, DelEnum.NOT_DEL.val())
+				.set(SysUserExtRecord::getDelFlag, DelEnum.DELETED.val()));
+		// 新增一条数据
+		SysUserExtRecord insertExtRecord = BeanUtil.copyProperties(userExtRecord, SysUserExtRecord.class);
+		insertExtRecord.setUserId(hnqzUser.getId());
+		insertExtRecord.setDeptId(hnqzUser.getDeptId());
+		insertExtRecord.setCreateTime(LocalDateTime.now());
+		insertExtRecord.setCreateUser(hnqzUser.getId());
+		sysUserExtRecordService.save(insertExtRecord);
 	}
 
 	/**

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

@@ -0,0 +1,16 @@
+package com.qunzhixinxi.hnqz.admin.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qunzhixinxi.hnqz.admin.entity.SysUserExtRecord;
+import com.qunzhixinxi.hnqz.admin.mapper.SysUserExtRecordMapper;
+import com.qunzhixinxi.hnqz.admin.service.SysUserExtRecordService;
+import org.springframework.stereotype.Service;
+
+/**
+ * 用户认证相关的扩展信息服务
+ */
+@Service
+public class SysUserExtRecordServiceImpl extends ServiceImpl<SysUserExtRecordMapper, SysUserExtRecord>
+		implements SysUserExtRecordService {
+
+}