Explorar o código

feat: 阿拉钉/易联-金园数科 发送核身视频修改

lixuesong %!s(int64=3) %!d(string=hai) anos
pai
achega
7e8195b067

+ 2 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/mq/GigSignCertReceiver.java

@@ -247,6 +247,7 @@ public class GigSignCertReceiver extends BaseRabbiMqHandler<String> {
 			redisTemplate.opsForValue().set(key, JSONUtil.toJsonStr(result), 1, TimeUnit.MINUTES);
 		}
 		sysUserSubService.update(updateWrapper);
+		// 如果是核身视频回调,则同步该账号的自由职家渠道认证状态 TODO
 	}
 
 	private void renlijiaHandler(SysUser user, SysDept dept, JSONObject subjectResult) {
@@ -303,6 +304,7 @@ public class GigSignCertReceiver extends BaseRabbiMqHandler<String> {
 			redisTemplate.opsForValue().set(key, JSONUtil.toJsonStr(result), 1, TimeUnit.MINUTES);
 		}
 		sysUserSubService.update(updateWrapper);
+		// 如果是核身视频回调,则同步该账号的易联-金园数科渠道认证状态 TODO
 	}
 
 }

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

@@ -315,8 +315,7 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 						&& TaxHelperCertStatus.CERT.getCode() != sysUserSub.getCertStatus()) {
 					return true;
 				} else if (GigTypeEnum.YEE.equals(sysUserSub.getGigType())
-						&& GigChannelEnum.JIN_YUAN.equals(sysUserSub.getGigChannel())
-						&& !OladingCertStatus.CERT.getCode().equals(String.valueOf(sysUserSub.getCertStatus()))) {
+						&& GigChannelEnum.JIN_YUAN.equals(sysUserSub.getGigChannel())) {
 					// 易联并且渠道是金园数科(自由职家)
 					return true;
 				} else if (GigTypeEnum.YEE.equals(sysUserSub.getGigType())
@@ -334,7 +333,7 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 				return false;
 			}).forEach(userSub -> {
 				// 发起前置判断
-				if (!this.preSignCert(sysUser, userSub)) {
+				if (!this.preSignCert(sysUser, userSub, userSignCertDTO)) {
 					// false直接返回,不发送mq
 					return;
 				}
@@ -366,8 +365,9 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 	 *
 	 * @param sysUser
 	 * @param userSub
+	 * @param userSignCertDTO
 	 */
-	private boolean preSignCert(SysUser sysUser, SysUserSub userSub) {
+	private boolean preSignCert(SysUser sysUser, SysUserSub userSub, UserSignCertDTO userSignCertDTO) {
 		boolean flag = true;
 		// 校验是否有进行中的
 		if (GigCallBackStatus.IN_PROGRESS.equals(userSub.getCallbackStatus())) {
@@ -376,11 +376,19 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 
 		switch (userSub.getGigType()) {
 			case YEE:
-				// 如果不是金园数科,则直接返回
+				// 如果不是金园数科,则返回true
+				// 否则继续执行case为OLADING下的代码(判断是否该用户对应姓名身份证已认证,是则直接同步)
 				if (!GigChannelEnum.JIN_YUAN.equals(userSub.getGigChannel())) {
 					return true;
 				}
-				// 否则直接执行以下判断是否该用户对应姓名身份证已认证,是则直接同步
+				// 如果需要传核身视频,则返回true
+				if (userSignCertDTO.getUploadFaceID() != null && userSignCertDTO.getUploadFaceID()) {
+					return true;
+				}
+				// 如果已认证,则直接返回false
+				if (OladingCertStatus.CERT.getCode().equals(String.valueOf(userSub.getCertStatus()))) {
+					return false;
+				}
 			case OLADING:
 				// 如果存在相同手机号、身份证、姓名信息的用户,并且是认证过,则不发起,直接返回签约认证状态
 				List<SysUser> existUserList = sysUserService.list(Wrappers.<SysUser>lambdaQuery()