Parcourir la source

Merge remote-tracking branch 'origin/master'

ct il y a 1 semaine
Parent
commit
b8081ef7d3

+ 38 - 3
fs-ipad-task/src/main/java/com/fs/app/service/IpadSendServer.java

@@ -1,6 +1,7 @@
 package com.fs.app.service;
 
 import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.fs.common.core.redis.RedisCache;
 import com.fs.common.exception.base.BaseException;
@@ -13,6 +14,7 @@ import com.fs.course.domain.FsCourseWatchLog;
 import com.fs.course.service.IFsCourseWatchLogService;
 import com.fs.ipad.IpadSendUtils;
 import com.fs.ipad.vo.*;
+import com.fs.qw.domain.QwExternalContact;
 import com.fs.qw.domain.QwUser;
 import com.fs.qw.domain.QwUserVideo;
 import com.fs.qw.mapper.QwExternalContactMapper;
@@ -27,11 +29,13 @@ import com.fs.sop.service.impl.QwSopLogsServiceImpl;
 import com.fs.wxwork.dto.*;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
 import java.time.LocalDateTime;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 @Slf4j
 @Service
@@ -48,19 +52,49 @@ public class IpadSendServer {
     private final RedisCache redisCache;
     private final ICompanyMiniappService companyMiniappService;
 
+    @Value("${cloud_host.company_name}")
+    private String signProjectName;
+
     private void sendMiniProgram(BaseVo vo, QwSopCourseFinishTempSetting.Setting content, Map<String, FsCoursePlaySourceConfig> miniMap, Long companyId) {
         String appid = content.getMiniprogramAppid();
         if(companyId != null && content.getMiniType() != null){
-            List<CompanyMiniapp> list = companyMiniappService.list(new QueryWrapper<CompanyMiniapp>().eq("company_id", companyId).eq("type", content.getMiniType()));
-            if(!list.isEmpty() && list.get(0) != null && StringUtils.isNotEmpty(list.get(0).getAppId())){
-                appid = list.get(0).getAppId();
+            List<CompanyMiniapp> list = companyMiniappService.list(new QueryWrapper<CompanyMiniapp>().eq("company_id", companyId));
+            List<CompanyMiniapp> collect = list.stream().filter(e -> e.getType().equals(content.getMiniType())).collect(Collectors.toList());
+            if(!collect.isEmpty() && collect.get(0) != null && StringUtils.isNotEmpty(collect.get(0).getAppId())){
+                appid = collect.get(0).getAppId();
+            }
+
+            //区分新老用户,新用户发送备用小程序,老用户发送主小程序
+            if(signProjectName.equals("济南联志健康")){
+                if(!vo.isRoom()){
+                    try {
+                        log.error("1.打印小程序信息------------------》:{}",appid);
+                        log.error("2.打印企业信息------------------》:{}",companyId);
+                        QwExternalContact qwExternalContact = qwExternalContactMapper.selectOne(new LambdaQueryWrapper<QwExternalContact>().eq(QwExternalContact::getQwUserId,vo.getQwUserId()).eq(QwExternalContact::getExternalUserId,vo.getExId()));
+                        log.error("3.打印外部联系人ID-------------------》{}",qwExternalContact.getId());
+                        LocalDateTime createTime = qwExternalContact.getCreateTime() == null ? LocalDateTime.now() : DateUtil.dateToLocalDateTime(qwExternalContact.getCreateTime());
+                        LocalDateTime lastTime = LocalDateTime.of(2025, 11, 6, 23, 59, 59);
+                        int listIndex = createTime.isAfter(lastTime) ? 1 : 0 ;
+                        List<CompanyMiniapp> collect2 = list.stream().filter(e -> e.getType().equals(listIndex)).collect(Collectors.toList());
+                        if(!collect2.isEmpty() && collect2.get(0) != null && StringUtils.isNotEmpty(collect2.get(0).getAppId())){
+                            appid = collect2.get(0).getAppId();
+                            log.error("5.打印小程序信息2------------------》:{}",appid);
+                        }
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                        log.error("6.输出外部联系人ID-------------->{}",vo.getExId());
+                        log.error("7.数据异常----------------------》{}",e.getMessage());
+                    }
+                }
             }
         }
         FsCoursePlaySourceConfig courseMaConfig = miniMap.get(appid);
+        log.error("8.打印小程序配置信息------------------》:{}",1);
         if(courseMaConfig == null){
             List<CompanyMiniapp> list = companyMiniappService.list(new QueryWrapper<CompanyMiniapp>().eq("company_id", companyId).eq("type", 1));
             if(!list.isEmpty() && list.get(0) != null && StringUtils.isNotEmpty(list.get(0).getAppId())){
                 courseMaConfig = miniMap.get(list.get(0).getAppId());
+                log.error("9.打印小程序配置信息--------最终------------------》:{}",courseMaConfig);
             }
         }
         if(courseMaConfig == null){
@@ -341,6 +375,7 @@ public class IpadSendServer {
         vo.setServerId(qwUser.getServerId());
         vo.setCorpCode(parentVo.getCorpCode());
         vo.setCorpId(parentVo.getCorpId());
+        vo.setQwUserId(qwUser.getId());
         try {
             content.setSendStatus(1);
             switch (content.getContentType()) {

+ 2 - 1
fs-service/src/main/java/com/fs/ipad/vo/BaseVo.java

@@ -15,7 +15,7 @@ public class BaseVo{
     private String corpId;
     private String corpCode;
     private boolean isRoom;
-
+    private Long qwUserId;
 
     public void setBase(BaseVo vo){
         this.uuid = vo.getUuid();
@@ -24,5 +24,6 @@ public class BaseVo{
         this.corpCode = vo.getCorpCode();
         this.exId = vo.getExId();
         this.isRoom = vo.isRoom();
+        this.qwUserId = vo.qwUserId;
     }
 }

+ 2 - 2
fs-service/src/main/resources/application-config-druid-cfryt.yml

@@ -69,10 +69,10 @@ nuonuo:
 tencent_cloud_config:
   secret_id: AKIDiMq9lDf2EOM9lIfqqfKo7FNgM5meD0sT
   secret_key: u5SuS80342xzx8FRBukza9lVNHKNMSaB
-  bucket: syysy-1323137866
+  bucket: cfryt-1323137866
   app_id: 1323137866
   region: ap-chongqing
-  proxy: syysy
+  proxy: cfryt
 cloud_host:
   company_name: 赤峰润
   projectCode: SYYSY