Pārlūkot izejas kodu

Merge branch 'feat-20220615-yeejinyuan' into temp-pre

lixuesong 3 gadi atpakaļ
vecāks
revīzija
057572d567

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

@@ -22,6 +22,7 @@ import com.qunzhixinxi.hnqz.admin.enums.OladingCertStatus;
 import com.qunzhixinxi.hnqz.admin.service.SysDeptService;
 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.rabbitmq.annotation.RabbitMqComponent;
 import com.qunzhixinxi.hnqz.common.rabbitmq.core.BaseRabbiMqHandler;
 import com.qunzhixinxi.hnqz.common.rabbitmq.listenter.MqListener;
@@ -36,6 +37,7 @@ import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.messaging.handler.annotation.Header;
 
 import java.time.LocalDateTime;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -56,6 +58,8 @@ public class GigSignCertReceiver extends BaseRabbiMqHandler<String> {
 
 	private final SysUserSubService sysUserSubService;
 
+	private final SysUserSignCertService sysUserSignCertService;
+
 	private final RedisTemplate redisTemplate;
 
 	/**
@@ -298,6 +302,23 @@ public class GigSignCertReceiver extends BaseRabbiMqHandler<String> {
 			} else {
 				redisTemplate.opsForValue().set(key, JSONUtil.toJsonStr(resultMap), 1, TimeUnit.MINUTES);
 			}
+
+			// 处理同时发起时另一个渠道需要的补发情况
+			if (resultMap.size() == 1) {
+				// 查询是否存在另一渠道需要发起(海南飞亿、金园数科其中之一)
+				SysUserSub secUserSub = sysUserSubService.getOne(Wrappers.<SysUserSub>lambdaQuery()
+						.eq(SysUserSub::getUserId, user.getUserId())
+						.eq(SysUserSub::getGigType, o1Map != null ? GigTypeEnum.OLADING : GigTypeEnum.JIN_YUAN)
+						.eq(SysUserSub::getCertStatus, Integer.parseInt(OladingCertStatus.SIGNING.getCode())));
+				if (secUserSub != null) {
+					// 如果同一人同时存在海南飞亿、金园数科的渠道,则补发一次(由于阿拉钉同一人不同渠道的回调只有一次,所以这里需要补发)
+					log.info("=============================补发阿拉钉另一渠道MQ4==================================");
+					UserSignCertDTO reCertDTO = new UserSignCertDTO();
+					reCertDTO.setUserId(secUserSub.getUserId());
+					reCertDTO.setGigTypeList(Collections.singletonList(secUserSub.getGigType()));
+					sysUserSignCertService.batchChannelCert(reCertDTO);
+				}
+			}
 		}
 	}
 

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

@@ -300,7 +300,7 @@ public class GigThirdApiServiceImpl implements GigThirdApiService {
 			// 查询是否存在另一渠道需要发起(海南飞亿、金园数科其中之一)
 			SysUserSub secUserSub = sysUserSubService.getOne(Wrappers.<SysUserSub>lambdaQuery()
 					.eq(SysUserSub::getUserId, userSub.getUserId())
-					.eq(SysUserSub::getGigType, GigTypeEnum.OLADING)
+					.in(SysUserSub::getGigType, GigTypeEnum.OLADING, GigTypeEnum.JIN_YUAN)
 					.eq(SysUserSub::getCertStatus, Integer.parseInt(OladingCertStatus.SIGNING.getCode()))
 					.ne(SysUserSub::getId, userSub.getId()));
 			if (secUserSub != null) {
@@ -384,7 +384,7 @@ public class GigThirdApiServiceImpl implements GigThirdApiService {
 			// 查询是否存在另一渠道需要发起(海南飞亿、金园数科其中之一)
 			SysUserSub secUserSub = sysUserSubService.getOne(Wrappers.<SysUserSub>lambdaQuery()
 					.eq(SysUserSub::getUserId, userSub.getUserId())
-					.eq(SysUserSub::getGigType, GigTypeEnum.OLADING)
+					.in(SysUserSub::getGigType, GigTypeEnum.OLADING, GigTypeEnum.JIN_YUAN)
 					.eq(SysUserSub::getCertStatus, Integer.parseInt(OladingCertStatus.SIGNING.getCode()))
 					.ne(SysUserSub::getId, userSub.getId()));
 			if (secUserSub != null) {
@@ -467,7 +467,7 @@ public class GigThirdApiServiceImpl implements GigThirdApiService {
 			// 查询是否存在另一渠道需要发起(海南飞亿、金园数科其中之一)
 			SysUserSub secUserSub = sysUserSubService.getOne(Wrappers.<SysUserSub>lambdaQuery()
 					.eq(SysUserSub::getUserId, userSub.getUserId())
-					.eq(SysUserSub::getGigType, GigTypeEnum.OLADING)
+					.in(SysUserSub::getGigType, GigTypeEnum.OLADING, GigTypeEnum.JIN_YUAN)
 					.eq(SysUserSub::getCertStatus, Integer.parseInt(OladingCertStatus.SIGNING.getCode()))
 					.ne(SysUserSub::getId, userSub.getId()));
 			if (secUserSub != null) {