Переглянути джерело

pad 发送逻辑判断之前的发送芳华

吴树波 1 тиждень тому
батько
коміт
42b84ffe70

+ 22 - 15
fs-ipad-task/src/main/java/com/fs/app/service/IpadSendServer.java

@@ -13,6 +13,8 @@ import com.fs.company.service.ICompanyMiniappService;
 import com.fs.course.domain.FsCoursePlaySourceConfig;
 import com.fs.course.domain.FsCourseWatchLog;
 import com.fs.course.service.IFsCourseWatchLogService;
+import com.fs.his.domain.FsUser;
+import com.fs.his.mapper.FsUserMapper;
 import com.fs.ipad.IpadSendUtils;
 import com.fs.ipad.vo.*;
 import com.fs.qw.domain.QwExternalContact;
@@ -34,6 +36,7 @@ import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
 import java.time.LocalDateTime;
+import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -52,7 +55,8 @@ public class IpadSendServer {
     private final IQwUserVideoService qwUserVideoService;
     private final RedisCache redisCache;
     private final ICompanyMiniappService companyMiniappService;
-
+    private final FsUserMapper fsUserMapper;
+    private static final List<String> PROJECT_NAMES = Arrays.asList("济南联志健康", "北京存在文化");
     private void sendMiniProgram(BaseVo vo, QwSopCourseFinishTempSetting.Setting content, Map<String, FsCoursePlaySourceConfig> miniMap, Long companyId) {
         String appid = content.getMiniprogramAppid();
         if(companyId != null && content.getMiniType() != null){
@@ -63,20 +67,25 @@ public class IpadSendServer {
             }
             String signProjectName = SpringUtils.getProperty("cloud_host.company_name");
             //区分新老用户,新用户发送备用小程序,老用户发送主小程序
-            if(signProjectName.equals("济南联志健康")){
+            if(PROJECT_NAMES.contains(signProjectName)){
+                log.info("ID:{}, qwUserId:{},externalId:{},进入区分发小程序逻辑", vo.getId(), vo.getQwUserId(), vo.getExId());
                 if(!vo.isRoom()){
+                    log.info("qwUserId:{},externalId:{},不是群聊", vo.getQwUserId(), vo.getExId());
                     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);
+                        QwExternalContact qwExternalContact = qwExternalContactMapper.selectOne(new LambdaQueryWrapper<QwExternalContact>().eq(QwExternalContact::getQwUserId,vo.getQwUserId()).eq(QwExternalContact::getExternalUserId,vo.getExId()).last(" limit 1"));
+                        if(qwExternalContact.getFsUserId() != null){
+                            FsUser fsUser = fsUserMapper.selectFsUserByUserId(qwExternalContact.getFsUserId());
+                            LocalDateTime createTime = DateUtil.dateToLocalDateTime(fsUser.getCreateTime());
+                            log.info("ID:{}, qwUserId:{},externalId:{},已绑定小程序,判断时间:{}", vo.getId(), vo.getQwUserId(), vo.getExId(), createTime);
+                            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.info("ID:{}, qwUserId:{},externalId:{},发送小程序:{}", vo.getId(), vo.getQwUserId(), vo.getExId(), appid);
+                            }
+                        }else{
+                            log.info("ID:{}, qwUserId:{},externalId:{},未绑定小程序用户", vo.getId(), vo.getQwUserId(), vo.getExId());
                         }
                     } catch (Exception e) {
                         e.printStackTrace();
@@ -87,12 +96,10 @@ public class IpadSendServer {
             }
         }
         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){