Explorar el Código

feat: 认证相关枚举和关联修改

lixuesong hace 3 años
padre
commit
4dbe9fc557

+ 21 - 34
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/SysUserController.java

@@ -49,6 +49,7 @@ import com.qunzhixinxi.hnqz.admin.entity.vo.SysUserSubVO;
 import com.qunzhixinxi.hnqz.admin.enums.GigTypeEnum;
 import com.qunzhixinxi.hnqz.admin.enums.OladingCertStatus;
 import com.qunzhixinxi.hnqz.admin.enums.RenlijiaCertStatus;
+import com.qunzhixinxi.hnqz.admin.enums.SubjectLocation;
 import com.qunzhixinxi.hnqz.admin.enums.SubjectTypeEnum;
 import com.qunzhixinxi.hnqz.admin.enums.YeeCertStatus;
 import com.qunzhixinxi.hnqz.admin.mapper.*;
@@ -1497,12 +1498,6 @@ public class SysUserController {
 							case OLADING:
 								userSubVO.setCertStatus(OladingCertStatus.resolve(String.valueOf(sysUserSub.getCertStatus())).name());
 								break;
-							case JIN_YUAN:
-								userSubVO.setCertStatus(OladingCertStatus.resolve(String.valueOf(sysUserSub.getCertStatus())).name());
-								break;
-							case XIN_TAI_ZI:
-								userSubVO.setCertStatus(OladingCertStatus.resolve(String.valueOf(sysUserSub.getCertStatus())).name());
-								break;
 							default:
 						}
 						certList.add(userSubVO);
@@ -1510,8 +1505,8 @@ public class SysUserController {
 					userVO.setCertList(certList);
 
 					// 不同渠道认证名称,封装成中文名称数组格式
-					Map<GigTypeEnum, String> certStatusMap = userSubList.stream()
-							.collect(Collectors.toMap(SysUserSub::getGigType,
+					Map<SubjectLocation, String> certStatusMap = userSubList.stream()
+							.collect(Collectors.toMap(SysUserSub::getSubjectLocation,
 									sysUserSub -> {
 										String certStatuName = "";
 										switch (sysUserSub.getGigType()) {
@@ -1527,42 +1522,34 @@ public class SysUserController {
 											case OLADING:
 												certStatuName = OladingCertStatus.resolve(String.valueOf(sysUserSub.getCertStatus())).getMessage();
 												break;
-											case JIN_YUAN:
-												certStatuName = OladingCertStatus.resolve(String.valueOf(sysUserSub.getCertStatus())).getMessage();
-												break;
-											case XIN_TAI_ZI:
-												certStatuName = OladingCertStatus.resolve(String.valueOf(sysUserSub.getCertStatus())).getMessage();
-												break;
 											default:
 												certStatuName = "";
 										}
 										return certStatuName;
 									}));
-					List<String> subTypeList = subList.stream().map(SysDeptSub::getSubjectType).collect(Collectors.toList());
+					// 该企业配置的所有税源地
+					List<SubjectLocation> subjectLocationList = subList.stream().map(SysDeptSub::getSubjectLocation).collect(Collectors.toList());
+
 					List<String> certStatusNameList = new ArrayList<>();
-					if (subTypeList.contains(String.valueOf(GigTypeEnum.REN_LI_JIA.getCode()))) {
-						certStatusNameList.add(StrUtil.isBlank(certStatusMap.get(GigTypeEnum.REN_LI_JIA)) ?
-								RenlijiaCertStatus.CER_STATUS_4.getMessage() : certStatusMap.get(GigTypeEnum.REN_LI_JIA));
-					}
-					if (subTypeList.contains(String.valueOf(GigTypeEnum.TAX_HELPOR.getCode()))) {
-						certStatusNameList.add(StrUtil.isBlank(certStatusMap.get(GigTypeEnum.TAX_HELPOR)) ?
-								TaxHelperCertStatus.UN_CERT.getDesc() : certStatusMap.get(GigTypeEnum.TAX_HELPOR));
+					if (subjectLocationList.contains(SubjectLocation.REN_LI_JIA)) {
+						certStatusNameList.add(StrUtil.isBlank(certStatusMap.get(SubjectLocation.REN_LI_JIA)) ?
+								RenlijiaCertStatus.CER_STATUS_4.getMessage() : certStatusMap.get(SubjectLocation.REN_LI_JIA));
 					}
-					if (subTypeList.contains(String.valueOf(GigTypeEnum.YEE.getCode()))) {
-						certStatusNameList.add(StrUtil.isBlank(certStatusMap.get(GigTypeEnum.YEE)) ?
-								YeeCertStatus.UN_SIGNED.getMessage() : certStatusMap.get(GigTypeEnum.YEE));
+					if (subjectLocationList.contains(SubjectLocation.LUO_SHU_YUN)) {
+						certStatusNameList.add(StrUtil.isBlank(certStatusMap.get(SubjectLocation.LUO_SHU_YUN)) ?
+								TaxHelperCertStatus.UN_CERT.getDesc() : certStatusMap.get(SubjectLocation.LUO_SHU_YUN));
 					}
-					if (subTypeList.contains(String.valueOf(GigTypeEnum.OLADING.getCode()))) {
-						certStatusNameList.add(StrUtil.isBlank(certStatusMap.get(GigTypeEnum.OLADING)) ?
-								OladingCertStatus.UN_SIGNED.getMessage() : certStatusMap.get(GigTypeEnum.OLADING));
+					if (subjectLocationList.contains(SubjectLocation.FEI_YI)) {
+						certStatusNameList.add(StrUtil.isBlank(certStatusMap.get(SubjectLocation.FEI_YI)) ?
+								OladingCertStatus.UN_SIGNED.getMessage() : certStatusMap.get(SubjectLocation.FEI_YI));
 					}
-					if (subTypeList.contains(String.valueOf(GigTypeEnum.JIN_YUAN.getCode()))) {
-						certStatusNameList.add(StrUtil.isBlank(certStatusMap.get(GigTypeEnum.JIN_YUAN)) ?
-								OladingCertStatus.UN_SIGNED.getMessage() : certStatusMap.get(GigTypeEnum.JIN_YUAN));
+					if (subjectLocationList.contains(SubjectLocation.JIN_YUAN)) {
+						certStatusNameList.add(StrUtil.isBlank(certStatusMap.get(SubjectLocation.JIN_YUAN)) ?
+								OladingCertStatus.UN_SIGNED.getMessage() : certStatusMap.get(SubjectLocation.JIN_YUAN));
 					}
-					if (subTypeList.contains(String.valueOf(GigTypeEnum.XIN_TAI_ZI.getCode()))) {
-						certStatusNameList.add(StrUtil.isBlank(certStatusMap.get(GigTypeEnum.XIN_TAI_ZI)) ?
-								OladingCertStatus.UN_SIGNED.getMessage() : certStatusMap.get(GigTypeEnum.XIN_TAI_ZI));
+					if (subjectLocationList.contains(SubjectLocation.XIN_TAI_ZI)) {
+						certStatusNameList.add(StrUtil.isBlank(certStatusMap.get(SubjectLocation.XIN_TAI_ZI)) ?
+								OladingCertStatus.UN_SIGNED.getMessage() : certStatusMap.get(SubjectLocation.XIN_TAI_ZI));
 					}
 					userVO.setCertStatusArr(certStatusNameList.toArray(new String[0]));
 				}

+ 11 - 6
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/SysUserSignCertController.java

@@ -11,6 +11,7 @@ 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.GigTypeEnum;
+import com.qunzhixinxi.hnqz.admin.enums.SubjectLocation;
 import com.qunzhixinxi.hnqz.admin.service.SysUserService;
 import com.qunzhixinxi.hnqz.admin.service.gig.SysUserSignCertService;
 import com.qunzhixinxi.hnqz.common.core.util.R;
@@ -94,6 +95,9 @@ public class SysUserSignCertController {
 		if (CollUtil.isEmpty(userSignCertDTO.getGigTypeList())) {
 			return R.failed("认证渠道不能为空");
 		}
+		if (CollUtil.isEmpty(userSignCertDTO.getSubjectLocationList())) {
+			return R.failed("税源地不能为空");
+		}
 		if (StrUtil.isBlank(userSignCertDTO.getBankPhone()) || !Validator.isMobile(userSignCertDTO.getBankPhone())) {
 			return R.failed("银行预留手机号不正确");
 		}
@@ -242,12 +246,13 @@ public class SysUserSignCertController {
 		}
 
 		// 过滤出阿拉钉的渠道
-		Collection<GigTypeEnum> oladingTypeList =
-				CollUtil.intersection(userSignCertDTO.getGigTypeList(),
-						CollUtil.toList(GigTypeEnum.OLADING, GigTypeEnum.JIN_YUAN, GigTypeEnum.XIN_TAI_ZI));
-		if (!oladingTypeList.isEmpty()) {
-			List<GigTypeEnum> sortedList = oladingTypeList.stream()
-					.sorted(Comparator.comparing(GigTypeEnum::getCode))
+		Collection<SubjectLocation> oladingList =
+				CollUtil.intersection(userSignCertDTO.getSubjectLocationList(),
+						SubjectLocation.getByGigType(GigTypeEnum.OLADING).stream()
+								.collect(Collectors.toList()));
+		if (!oladingList.isEmpty()) {
+			List<SubjectLocation> sortedList = oladingList.stream()
+					.sorted(Comparator.comparing(SubjectLocation::getSort))
 					.collect(Collectors.toList());
 			// 选择的渠道的阿拉钉的部分记录到redis
 			String redisKey = CacheConstants.OLADING_CERT_SEND_CHANNEL + userSignCertDTO.getUserId();

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

@@ -66,13 +66,12 @@ public class UserSignCertDTO implements Serializable {
 	/**
 	 * 零工认证渠道
 	 */
-	@Deprecated
 	private List<GigTypeEnum> gigTypeList;
 
 	/**
-	 * 结算通道
+	 * 税源地
 	 */
-	private List<SubjectLocation> subjectChannelList;
+	private List<SubjectLocation> subjectLocationList;
 
 	/**
 	 * 验证码

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

@@ -2,6 +2,7 @@ package com.qunzhixinxi.hnqz.admin.entity.model;
 
 import com.qunzhixinxi.hnqz.admin.enums.GigChannelEnum;
 import com.qunzhixinxi.hnqz.admin.enums.GigTypeEnum;
+import com.qunzhixinxi.hnqz.admin.enums.SubjectLocation;
 import lombok.Data;
 
 import java.io.Serializable;
@@ -27,6 +28,11 @@ public class GigBaseInfoModel implements Serializable {
 	 */
 	private GigChannelEnum gigChannel;
 
+	/**
+	 * 税源地
+	 */
+	private SubjectLocation gigLocation;
+
 	/**
 	 * 绑卡操作类型(captcha-获取验证码)
 	 */

+ 27 - 6
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/enums/SubjectLocation.java

@@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.annotation.EnumValue;
 import lombok.AllArgsConstructor;
 import lombok.Getter;
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * 税源地
  */
@@ -12,16 +15,16 @@ import lombok.Getter;
 public enum SubjectLocation {
 
 	// 仁励家通道
-	REN_LI_JIA("REN_LI_JIA", GigTypeEnum.REN_LI_JIA, "仁励家"),
+	REN_LI_JIA("REN_LI_JIA", GigTypeEnum.REN_LI_JIA, "仁励家", 0),
 
 	// 税邦云通道
-	ZHONG_YING("ZHONG_YING", GigTypeEnum.TAX_HELPOR, "湖南众盈"),
-	LUO_SHU_YUN("LUO_SHU_YUN", GigTypeEnum.TAX_HELPOR, "永州罗数云"),
+	ZHONG_YING("ZHONG_YING", GigTypeEnum.TAX_HELPOR, "湖南众盈", 1),
+	LUO_SHU_YUN("LUO_SHU_YUN", GigTypeEnum.TAX_HELPOR, "永州罗数云", 2),
 
 	// 钉零工通道
-	FEI_YI("FEI_YI", GigTypeEnum.OLADING, "海南飞亿"),
-	JIN_YUAN("JIN_YUAN", GigTypeEnum.OLADING, "金园数科"),
-	XIN_TAI_ZI("XIN_TAI_ZI", GigTypeEnum.OLADING, "河南薪泰梓");
+	FEI_YI("FEI_YI", GigTypeEnum.OLADING, "海南飞亿", 3),
+	JIN_YUAN("JIN_YUAN", GigTypeEnum.OLADING, "金园数科", 4),
+	XIN_TAI_ZI("XIN_TAI_ZI", GigTypeEnum.OLADING, "河南薪泰梓", 5);
 
 	@EnumValue
 	private final String type;
@@ -29,4 +32,22 @@ public enum SubjectLocation {
 	private final GigTypeEnum gigType;
 
 	private final String description;
+
+	private final Integer sort;
+
+	/**
+	 * 根据gigType获取枚举
+	 *
+	 * @param gigType
+	 * @return
+	 */
+	public static List<SubjectLocation> getByGigType(GigTypeEnum gigType) {
+		List<SubjectLocation> list = new ArrayList<>();
+		for (SubjectLocation subjectLocation : SubjectLocation.values()) {
+			if (subjectLocation.gigType.equals(gigType)) {
+				list.add(subjectLocation);
+			}
+		}
+		return list;
+	}
 }

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

@@ -16,6 +16,7 @@ import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
 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;
@@ -34,6 +35,7 @@ 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.SubjectLocation;
+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;
@@ -156,14 +158,6 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 					case OLADING:
 						userSubVO.setCertStatus(OladingCertStatus.resolve(String.valueOf(sysUserSub.getCertStatus())).name());
 						break;
-					case JIN_YUAN:
-						// 渠道是金园,则展示阿拉钉的状态
-						userSubVO.setCertStatus(OladingCertStatus.resolve(String.valueOf(sysUserSub.getCertStatus())).name());
-						break;
-					case XIN_TAI_ZI:
-						// 渠道是河南薪泰梓,则展示阿拉钉的状态
-						userSubVO.setCertStatus(OladingCertStatus.resolve(String.valueOf(sysUserSub.getCertStatus())).name());
-						break;
 					default:
 				}
 
@@ -208,10 +202,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())) {
@@ -224,50 +218,53 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 			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.getSubjectLocationList().forEach(subjectLocation -> {
+			// 税邦云单独设置渠道类型
+			GigChannelEnum gigChannel;
+			if (GigTypeEnum.TAX_HELPOR.equals(subjectLocation)) {
+				// 读取用户所认证的企业的结算渠道
+				SysDeptSub deptSub = sysDeptSubService.getOne(Wrappers.<SysDeptSub>lambdaQuery()
+						.eq(SysDeptSub::getDeptId, queryUser.getDeptId())
+						.eq(SysDeptSub::getSubjectType, subjectLocation.getGigType().getCode())
+						.eq(SysDeptSub::getSubjectLocation, subjectLocation)
+						.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::getDeptId, queryUser.getDeptId())
+					.eq(SysUserSub::getGigType, subjectLocation.getGigType())
+					.eq(SysUserSub::getSubjectLocation, subjectLocation));
+			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(subjectLocation.getGigType());
+				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);
+			}
+		});
 	}
 
 	/**
@@ -357,6 +354,13 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 		if (sysUser == null) {
 			return false;
 		}
+		// 查询认证数据
+		SysUserExtRecord userExtRecord = sysUserExtRecordService.getOne(Wrappers.<SysUserExtRecord>lambdaQuery()
+				.eq(SysUserExtRecord::getUserId, userId)
+				.eq(SysUserExtRecord::getDelFlag, DelEnum.NOT_DEL.val()));
+		if (userExtRecord == null) {
+			return false;
+		}
 		// 查询dept
 		SysDept dept = sysDeptService.getById(sysUser.getDeptId());
 		// 查询当前用户关联的userSub
@@ -370,15 +374,15 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 
 		if (CollUtil.isNotEmpty(userSubList)) {
 			// 过滤出阿拉钉的渠道
-			Collection<GigTypeEnum> oladingTypeList =
-					CollUtil.intersection(userSignCertDTO.getGigTypeList(),
-							CollUtil.toList(GigTypeEnum.OLADING, GigTypeEnum.JIN_YUAN, GigTypeEnum.XIN_TAI_ZI)).stream()
-							.sorted(Comparator.comparing(GigTypeEnum::getCode))
+			Collection<SubjectLocation> oladingList =
+					CollUtil.intersection(userSignCertDTO.getSubjectLocationList(),
+							SubjectLocation.getByGigType(GigTypeEnum.OLADING)).stream()
+							.sorted(Comparator.comparing(SubjectLocation::getSort))
 							.collect(Collectors.toList());
 
 			// 封装请求数据
 			userSubList.stream()
-					.sorted(Comparator.comparing(sysUserSub -> sysUserSub.getGigType().getCode()))
+					.sorted(Comparator.comparing(sysUserSub -> sysUserSub.getSubjectLocation().getSort()))
 					.filter(sysUserSub -> {
 				// 过滤掉认证成功的数据
 				if (GigTypeEnum.TAX_HELPOR.equals(sysUserSub.getGigType())
@@ -390,10 +394,6 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 					return true;
 				} else if (GigTypeEnum.OLADING.equals(sysUserSub.getGigType())) {
 					return true;
-				} else if (GigTypeEnum.JIN_YUAN.equals(sysUserSub.getGigType())) {
-					return true;
-				} else if (GigTypeEnum.XIN_TAI_ZI.equals(sysUserSub.getGigType())) {
-					return true;
 				} else if (GigTypeEnum.REN_LI_JIA.equals(sysUserSub.getGigType())
 						&& RenlijiaCertStatus.CER_STATUS_1.getCode() != sysUserSub.getCertStatus()) {
 					return true;
@@ -402,7 +402,7 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 			}).forEach(userSub -> {
 
 				// 发起前置判断
-				if (!this.preSignCert(sysUser, userSub, userSignCertDTO, oladingTypeList)) {
+				if (!this.preSignCert(sysUser, userSub, userSignCertDTO, oladingList)) {
 					// false直接返回,不发送mq
 					log.info("本次不发起认证,userSubId={}", userSub.getId());
 					return;
@@ -438,61 +438,15 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 	 * @param sysUser 用户信息
 	 * @param userSub userSub信息
 	 * @param userSignCertDTO 发起参数
-	 * @param oladingTypeList 阿拉钉渠道类型list
+	 * @param localtionList 阿拉钉税源地list
 	 */
-	private boolean preSignCert(SysUser sysUser, SysUserSub userSub, UserSignCertDTO userSignCertDTO, Collection<GigTypeEnum> oladingTypeList) {
+	private boolean preSignCert(SysUser sysUser, SysUserSub userSub, UserSignCertDTO userSignCertDTO, Collection<SubjectLocation> localtionList) {
 		// 校验是否有进行中的
 		if (GigCallBackStatus.IN_PROGRESS.equals(userSub.getCallbackStatus())) {
 			return false;
 		}
 
 		switch (userSub.getGigType()) {
-			case XIN_TAI_ZI:
-				// 钉灵工-河南薪泰梓
-				// 发起认证前,金园数科,转换对应关系为 阿拉钉-金园数科
-				userSub.setGigType(GigTypeEnum.OLADING);
-				userSub.setGigChannel(GigChannelEnum.XIN_TAI_ZI);
-
-				// 如果需要传核身视频,则返回true
-				if (userSignCertDTO.getUploadFaceID() != null && userSignCertDTO.getUploadFaceID()) {
-					return true;
-				}
-
-				// 已认证不发起
-				if (OladingCertStatus.CERT.getCode().equals(String.valueOf(userSub.getCertStatus()))) {
-					return false;
-				}
-
-				// 如果同时包含阿拉钉多个渠道,则只选第一个发起
-				if (oladingTypeList.size() > 1 && !oladingTypeList.stream().findFirst().get().equals(GigTypeEnum.XIN_TAI_ZI)) {
-					// 同时选择了阿拉钉金园数科、海南飞亿、河南薪泰梓渠道的两个及以上,则先发起第一个,完成之后再依次发起其他的
-					return false;
-				}
-
-				return true;
-			case JIN_YUAN:
-				// 钉灵工-金园数科
-				// 发起认证前,金园数科,转换对应关系为 阿拉钉-金园数科
-				userSub.setGigType(GigTypeEnum.OLADING);
-				userSub.setGigChannel(GigChannelEnum.JIN_YUAN);
-
-				// 如果需要传核身视频,则返回true
-				if (userSignCertDTO.getUploadFaceID() != null && userSignCertDTO.getUploadFaceID()) {
-					return true;
-				}
-
-				// 已认证不发起
-				if (OladingCertStatus.CERT.getCode().equals(String.valueOf(userSub.getCertStatus()))) {
-					return false;
-				}
-
-				// 如果同时包含阿拉钉多个渠道,则只选第一个发起
-				if (oladingTypeList.size() > 1 && !oladingTypeList.stream().findFirst().get().equals(GigTypeEnum.JIN_YUAN)) {
-					// 同时选择了阿拉钉金园数科、海南飞亿、河南薪泰梓渠道的两个及以上,则先发起第一个,完成之后再依次发起其他的
-					return false;
-				}
-
-				return true;
 			case OLADING:
 				// 阿拉钉-海南飞亿
 				// 如果需要传核身视频,则返回true
@@ -505,8 +459,8 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 					return false;
 				}
 
-				// 如果同时包含阿拉钉多个渠道,则只选第一个发起
-				if (oladingTypeList.size() > 1 && !oladingTypeList.stream().findFirst().get().equals(GigTypeEnum.OLADING)) {
+				// 如果同时包含阿拉钉多个渠道,则只选第一个发起,其余不发起
+				if (localtionList.size() > 1 && !localtionList.stream().findFirst().get().equals(userSub.getSubjectLocation())) {
 					// 同时选择了阿拉钉金园数科、海南飞亿、河南薪泰梓渠道的两个及以上,则先发起第一个,完成之后再依次发起其他的
 					return false;
 				}
@@ -614,6 +568,7 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 		baseInfoModel.setRequestId(requestId);
 		baseInfoModel.setGigType(userSub.getGigType());
 		baseInfoModel.setGigChannel(userSub.getGigChannel());
+		baseInfoModel.setGigLocation(userSub.getSubjectLocation());
 		// 用户信息
 		GigUserInfoModel userInfoModel = new GigUserInfoModel();
 		userInfoModel.setUserId(sysUser.getUserId());