Prechádzať zdrojové kódy

feat: 新增正启之星渠道

lixuesong 2 rokov pred
rodič
commit
22d9da93f5

+ 13 - 56
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/SysUserController.java

@@ -21,6 +21,7 @@ package com.qunzhixinxi.hnqz.admin.controller;
 
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.ArrayUtil;
+import cn.hutool.core.util.EnumUtil;
 import cn.hutool.core.util.IdcardUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.core.bean.BeanUtil;
@@ -52,6 +53,7 @@ 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.enums.ZhengQiZhiXingCertStatus;
 import com.qunzhixinxi.hnqz.admin.mapper.*;
 import com.qunzhixinxi.hnqz.admin.service.SysDeptService;
 import com.qunzhixinxi.hnqz.admin.service.SysDeptSubService;
@@ -1491,72 +1493,27 @@ public class SysUserController {
 					List<SysUserSubVO> certList = new ArrayList<>();
 					userSubList.forEach(sysUserSub -> {
 						SysUserSubVO userSubVO = BeanUtil.copyProperties(sysUserSub, SysUserSubVO.class, "certStatus");
-						switch (sysUserSub.getGigType()) {
-							case REN_LI_JIA:
-								userSubVO.setCertStatus(RenlijiaCertStatus.resolve(sysUserSub.getCertStatus()).name());
-								break;
-							case TAX_HELPOR:
-								userSubVO.setCertStatus(TaxHelperCertStatus.resolve(sysUserSub.getCertStatus()).name());
-								break;
-							case YEE:
-								userSubVO.setCertStatus(YeeCertStatus.resolve(String.valueOf(sysUserSub.getCertStatus())).name());
-								break;
-							case OLADING:
-								userSubVO.setCertStatus(OladingCertStatus.resolve(String.valueOf(sysUserSub.getCertStatus())).name());
-								break;
-							default:
-						}
+						userSubVO.setCertStatus(GigTypeEnum.getCertStatusByCode(sysUserSub.getGigType(), sysUserSub.getCertStatus()));
 						certList.add(userSubVO);
 					});
 					userVO.setCertList(certList);
 
 					// 不同渠道认证名称,封装成中文名称数组格式
-					Map<SubjectLocation, String> certStatusMap = userSubList.stream()
+					Map<SubjectLocation, SysUserSub> certStatusMap = userSubList.stream()
 							.collect(Collectors.toMap(SysUserSub::getSubjectLocation,
-									sysUserSub -> {
-										String certStatuName = "";
-										switch (sysUserSub.getGigType()) {
-											case TAX_HELPOR:
-												certStatuName = TaxHelperCertStatus.resolve(sysUserSub.getCertStatus()).getDesc();
-												break;
-											case YEE:
-												certStatuName = YeeCertStatus.resolve(String.valueOf(sysUserSub.getCertStatus())).getMessage();
-												break;
-											case REN_LI_JIA:
-												certStatuName = RenlijiaCertStatus.resolve(sysUserSub.getCertStatus()).getMessage();
-												break;
-											case OLADING:
-												certStatuName = OladingCertStatus.resolve(String.valueOf(sysUserSub.getCertStatus())).getMessage();
-												break;
-											default:
-												certStatuName = "";
-										}
-										return certStatuName;
-									}));
+									sysUserSub -> sysUserSub));
 					// 该企业配置的所有税源地
 					List<SubjectLocation> subjectLocationList = subList.stream().map(SysDeptSub::getSubjectLocation).collect(Collectors.toList());
 
 					List<String> certStatusNameList = new ArrayList<>();
-					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 (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 (subjectLocationList.contains(SubjectLocation.FEI_YI)) {
-						certStatusNameList.add(StrUtil.isBlank(certStatusMap.get(SubjectLocation.FEI_YI)) ?
-								OladingCertStatus.UN_SIGNED.getMessage() : certStatusMap.get(SubjectLocation.FEI_YI));
-					}
-					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 (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));
-					}
+					subjectLocationList.stream()
+							.sorted(Comparator.comparing(SubjectLocation::getSort))
+							.forEach(subjectLocation -> {
+								SysUserSub sysUserSub = certStatusMap.get(subjectLocation);
+								int certStatus = sysUserSub != null ? sysUserSub.getCertStatus() : 0;
+								certStatusNameList.add(GigTypeEnum.getCertStatusNameByCode(subjectLocation.getGigType(), certStatus));
+							});
+
 					userVO.setCertStatusArr(certStatusNameList.toArray(new String[0]));
 				}
 			}

+ 70 - 4
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/enums/GigTypeEnum.java

@@ -1,6 +1,7 @@
 package com.qunzhixinxi.hnqz.admin.enums;
 
 import com.baomidou.mybatisplus.annotation.EnumValue;
+import com.qunzhixinxi.hnqz.common.taxhelper.enums.TaxHelperCertStatus;
 import lombok.AllArgsConstructor;
 import lombok.Getter;
 
@@ -15,10 +16,11 @@ import lombok.Getter;
 public enum GigTypeEnum {
 
 	// 零工平台类型
-	REN_LI_JIA(0, "人力家", "人力家"),
-	TAX_HELPOR(1, "税邦云", "税邦云"),
-	OLADING(2, "钉灵工", "钉灵工-海南飞亿"),
-	YEE(3, "易联数科", "易联数科");
+	REN_LI_JIA(0, "人力家", "人力家", RenlijiaCertStatus.class),
+	TAX_HELPOR(1, "税邦云", "税邦云", TaxHelperCertStatus.class),
+	OLADING(2, "钉灵工", "钉灵工-海南飞亿", OladingCertStatus.class),
+	YEE(3, "易联数科", "易联数科", YeeCertStatus.class),
+	ZHENG_QI_ZHI_XING(4, "正启之星", "正启之星", ZhengQiZhiXingCertStatus.class);
 
 	@EnumValue
 	private int code;
@@ -27,6 +29,8 @@ public enum GigTypeEnum {
 
 	private String desc2;
 
+	private Class<?> statusClass;
+
 	public static GigTypeEnum resolve(int code) {
 		for (GigTypeEnum gigTypeEnum : GigTypeEnum.values()) {
 			if (code == gigTypeEnum.getCode()) {
@@ -35,4 +39,66 @@ public enum GigTypeEnum {
 		}
 		return null;
 	}
+
+	/**
+	 * 根据认证状态code获取对应字符串
+	 *
+	 * @param gigType
+	 * @param certStatus
+	 * @return
+	 */
+	public static String getCertStatusByCode(GigTypeEnum gigType, int certStatus) {
+		String certStatusStr = "";
+		switch (gigType) {
+			case REN_LI_JIA:
+				certStatusStr = RenlijiaCertStatus.resolve(certStatus).name();
+				break;
+			case TAX_HELPOR:
+				certStatusStr = TaxHelperCertStatus.resolve(certStatus).name();
+				break;
+			case YEE:
+				certStatusStr = YeeCertStatus.resolve(String.valueOf(certStatus)).name();
+				break;
+			case OLADING:
+				certStatusStr = OladingCertStatus.resolve(String.valueOf(certStatus)).name();
+				break;
+			case ZHENG_QI_ZHI_XING:
+				certStatusStr = ZhengQiZhiXingCertStatus.resolve(certStatus).name();
+				break;
+			default:
+		}
+
+		return certStatusStr;
+	}
+
+	/**
+	 * 根据认证状态code获取对应中文
+	 *
+	 * @param gigType
+	 * @param certStatus
+	 * @return
+	 */
+	public static String getCertStatusNameByCode(GigTypeEnum gigType, int certStatus) {
+		String certStatusStr = "";
+		switch (gigType) {
+			case REN_LI_JIA:
+				certStatusStr = RenlijiaCertStatus.resolve(certStatus).getMessage();
+				break;
+			case TAX_HELPOR:
+				certStatusStr = TaxHelperCertStatus.resolve(certStatus).getDesc();
+				break;
+			case YEE:
+				certStatusStr = YeeCertStatus.resolve(String.valueOf(certStatus)).getMessage();
+				break;
+			case OLADING:
+				certStatusStr = OladingCertStatus.resolve(String.valueOf(certStatus)).getMessage();
+				break;
+			case ZHENG_QI_ZHI_XING:
+				certStatusStr = ZhengQiZhiXingCertStatus.resolve(certStatus).getMessage();
+				break;
+			default:
+		}
+
+		return certStatusStr;
+	}
 }

+ 4 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/enums/SubjectLocation.java

@@ -27,7 +27,10 @@ public enum SubjectLocation {
 	XIN_TAI_ZI("XIN_TAI_ZI", GigTypeEnum.OLADING, "河南薪泰梓", 5),
 
 	// 易联
-	YI_LIAN("YI_LIAN", GigTypeEnum.YEE, "易联数科", 6);
+	YI_LIAN("YI_LIAN", GigTypeEnum.YEE, "易联数科", 6),
+
+	// 正启之星
+	ZHENG_QI_ZHI_XING("ZHENG_QI_ZHI_XING",  GigTypeEnum.ZHENG_QI_ZHI_XING, "正启之星", 7);
 
 	@EnumValue
 	private final String type;

+ 38 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/enums/ZhengQiZhiXingCertStatus.java

@@ -0,0 +1,38 @@
+package com.qunzhixinxi.hnqz.admin.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * @author: lixuesong
+ * @createTime: 2022/09/07 10:58
+ * @description: 正启之星认证状态
+ */
+@Getter
+@AllArgsConstructor
+public enum ZhengQiZhiXingCertStatus {
+
+	// 签约状态
+	UN_SIGNED(0, "未签约"),
+	SIGNED(1, "已签约");
+
+	private final int code;
+
+	private final String message;
+
+	/**
+	 * 根据枚举编码获取枚举对象
+	 *
+	 * @param code 枚举编码
+	 * @return 如果存在返回枚举,否则返回 {@code null}
+	 */
+	public static ZhengQiZhiXingCertStatus resolve(final int code) {
+		for (ZhengQiZhiXingCertStatus certStatus : ZhengQiZhiXingCertStatus.values()) {
+			if (certStatus.getCode() == code) {
+				return certStatus;
+			}
+		}
+		return UN_SIGNED;
+
+	}
+}

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

@@ -37,6 +37,7 @@ 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.enums.ZhengQiZhiXingCertStatus;
 import com.qunzhixinxi.hnqz.admin.service.SysDeptService;
 import com.qunzhixinxi.hnqz.admin.service.SysDeptSubService;
 import com.qunzhixinxi.hnqz.admin.service.SysUserExtRecordService;
@@ -157,21 +158,7 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 			List<SysUserSubVO> resultList = new ArrayList<>();
 			userSubList.forEach(sysUserSub -> {
 				SysUserSubVO userSubVO = BeanUtil.copyProperties(sysUserSub, SysUserSubVO.class, "certStatus");
-				switch (sysUserSub.getGigType()) {
-					case REN_LI_JIA:
-						userSubVO.setCertStatus(RenlijiaCertStatus.resolve(sysUserSub.getCertStatus()).name());
-						break;
-					case TAX_HELPOR:
-						userSubVO.setCertStatus(TaxHelperCertStatus.resolve(sysUserSub.getCertStatus()).name());
-						break;
-					case YEE:
-						userSubVO.setCertStatus(YeeCertStatus.resolve(String.valueOf(sysUserSub.getCertStatus())).name());
-						break;
-					case OLADING:
-						userSubVO.setCertStatus(OladingCertStatus.resolve(String.valueOf(sysUserSub.getCertStatus())).name());
-						break;
-					default:
-				}
+				userSubVO.setCertStatus(GigTypeEnum.getCertStatusByCode(sysUserSub.getGigType(), sysUserSub.getCertStatus()));
 
 				resultList.add(userSubVO);
 			});
@@ -314,6 +301,10 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 					|| OladingCertStatus.CERT.getCode().equals(String.valueOf(userSub.getCertStatus()))) {
 				return R.ok(MapUtil.builder("certStatus", OladingCertStatus.resolve(String.valueOf(userSub.getCertStatus()))).build());
 			}
+		} else if (userSignCertDTO.getSubjectLocation().getGigType().equals(GigTypeEnum.ZHENG_QI_ZHI_XING)) {
+			if (userSub.getCertStatus() > ZhengQiZhiXingCertStatus.UN_SIGNED.getCode()) {
+				return R.ok();
+			}
 		}
 
 		// 查询dept

+ 4 - 4
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/SysUserServiceImpl.java

@@ -623,7 +623,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 	 * @Version: 2021.4.16
 	 * @Author: ryz
 	 * @Date: 2021/4/21
-	 * @Desc: 认证方式 0-人力家 1-税邦云
+	 * @Desc: 认证方式 {@link SubjectLocation SubjectLocation}
 	 */
 	@Override
 	@Transactional
@@ -641,9 +641,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 
 		StringBuilder msg = new StringBuilder();
 
-		for (String subType : input.getSubList()) {
+		for (String subjectLocation : input.getSubList()) {
 			//人力家
-			if (SubjectTypeEnum.TYPE_RENLIJIA.getCode().equals(subType)) {
+			if (SubjectLocation.REN_LI_JIA.getType().equals(subjectLocation)) {
 				Map<String, String> resultMap = certByRenLiJia(sysUser, sysDept);
 				msg.append("人力家认证结果:");
 				msg.append(resultMap.get("msg"));
@@ -660,7 +660,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 
 		baseMapper.updateById(sysUser);
 
-		if (ArrayUtil.contains(input.getSubList(), String.valueOf(GigTypeEnum.REN_LI_JIA.getCode()))) {
+		if (ArrayUtil.contains(input.getSubList(), SubjectLocation.REN_LI_JIA.getType())) {
 			// 认证状态
 			Integer certStatus = Optional.ofNullable(sysUser.getRljCertStatus())
 					.orElseGet(RenlijiaCertStatus.CER_STATUS_4::getCode);