|
@@ -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);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|