소스 검색

修改bug

吴树波 1 주 전
부모
커밋
1dc3cebe1a

+ 3 - 0
fs-ad-api/src/main/java/com/fs/FsAdApiApplication.java

@@ -1,8 +1,10 @@
 package com.fs;
 
+import org.apache.rocketmq.spring.autoconfigure.RocketMQAutoConfiguration;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
+import org.springframework.context.annotation.Import;
 import org.springframework.scheduling.annotation.EnableAsync;
 import org.springframework.scheduling.annotation.EnableScheduling;
 import org.springframework.transaction.annotation.EnableTransactionManagement;
@@ -11,6 +13,7 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
  * 启动程序
  */
 @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
+@Import({ RocketMQAutoConfiguration.class })
 @EnableTransactionManagement
 @EnableAsync
 @EnableScheduling

+ 0 - 31
fs-ad-api/src/main/java/com/fs/app/mq/RocketMQAiMsgService.java

@@ -1,31 +0,0 @@
-//package com.fs.app.mq;
-//
-//import cn.hutool.json.JSONUtil;
-//import com.alibaba.fastjson.JSON;
-//import com.fs.ad.service.IAdHtmlClickLogService;
-//import com.fs.fastGpt.mapper.FastGptChatReplaceWordsMapper;
-//import com.fs.fastGpt.service.IFastGptChatSessionService;
-//import com.fs.qw.vo.AdUploadVo;
-//import com.fs.qwHookApi.vo.QwHookMsgVO;
-//import lombok.AllArgsConstructor;
-//import lombok.extern.slf4j.Slf4j;
-//import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
-//import org.apache.rocketmq.spring.core.RocketMQListener;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.stereotype.Service;
-//
-//@Slf4j
-//@Service
-//@AllArgsConstructor
-//@RocketMQMessageListener(topic = "msg", consumerGroup = "msg-group")
-//public class RocketMQAiMsgService implements RocketMQListener<String> {
-//
-//    @Autowired
-//    private IFastGptChatSessionService fastGptChatSessionService;
-//    @Override
-//    public void onMessage(String message) {
-//        log.info("消息队列接收到消息:{}",  message);
-//        QwHookMsgVO msgVo= JSONUtil.toBean(message,QwHookMsgVO.class);
-//        fastGptChatSessionService.qwHookNotifyAddMsg(msgVo);
-//    }
-//}

+ 1 - 1
fs-ad-api/src/main/java/com/fs/app/mq/RocketMQConsumerService.java

@@ -14,7 +14,7 @@ import org.springframework.stereotype.Service;
 @Slf4j
 @Service
 @AllArgsConstructor
-//@RocketMQMessageListener(topic = "${rocketmq.consumer.topic}", consumerGroup = "${rocketmq.consumer.group}")
+@RocketMQMessageListener(topic = "${rocketmq.consumer.topic}", consumerGroup = "${rocketmq.consumer.group}")
 public class RocketMQConsumerService implements RocketMQListener<String> {
 
     private final IAdHtmlClickLogService  adHtmlClickLogService;

+ 0 - 26
fs-ad-api/src/main/java/com/fs/app/mq/RocketMQConsumerServiceByQw.java

@@ -1,26 +0,0 @@
-//package com.fs.app.mq;
-//
-//import com.alibaba.fastjson.JSON;
-//import com.fs.ad.service.IAdHtmlClickLogService;
-//import com.fs.qw.vo.AdUploadVo;
-//import lombok.AllArgsConstructor;
-//import lombok.extern.slf4j.Slf4j;
-//import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
-//import org.apache.rocketmq.spring.core.RocketMQListener;
-//import org.springframework.stereotype.Service;
-//
-//@Slf4j
-//@Service
-//@AllArgsConstructor
-////@RocketMQMessageListener(topic = "ad-qw-external-contact", consumerGroup = "ad-group")
-//@RocketMQMessageListener(topic = "ad-qw-external-contact", consumerGroup = "test-group")
-//public class RocketMQConsumerServiceByQw implements RocketMQListener<String> {
-//
-//
-//    @Override
-//    public void onMessage(String message) {
-//
-//        log.info("消息队列接收到消息qw:{}",  message);
-//
-//    }
-//}

+ 4 - 2
fs-ad-api/src/main/resources/application.yml

@@ -4,5 +4,7 @@ server:
 # Spring配置
 spring:
   profiles:
-    active: dev
-    include: common,config-dev
+    #    active: dev
+    #    include: common,config-dev
+    active: druid-hdt
+    include: common,config-druid-hdt,mq-hdt

+ 4 - 2
fs-qw-api/src/main/resources/application.yml

@@ -5,5 +5,7 @@ server:
 # Spring配置
 spring:
   profiles:
-    active: dev
-    include: common,config-dev
+#    active: dev
+#    include: common,config-dev
+    active: druid-hdt
+    include: common,config-druid-hdt,mq-hdt

+ 24 - 3
fs-service/src/main/java/com/fs/course/service/impl/FsUserCoursePeriodDaysServiceImpl.java

@@ -4,16 +4,19 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fs.common.core.domain.R;
 import com.fs.common.utils.DateUtils;
+import com.fs.common.utils.PubFun;
 import com.fs.common.utils.date.DateUtil;
 import com.fs.common.utils.date.TimeTypeEnum;
 import com.fs.course.domain.FsUserCoursePeriod;
 import com.fs.course.domain.FsUserCoursePeriodDays;
+import com.fs.course.domain.FsUserCourseVideo;
 import com.fs.course.mapper.FsUserCoursePeriodDaysMapper;
 import com.fs.course.mapper.FsUserCoursePeriodMapper;
 import com.fs.course.param.CompanyRedPacketParam;
 import com.fs.course.param.CourseAnalysisParam;
 import com.fs.course.param.PeriodCountParam;
 import com.fs.course.service.IFsUserCoursePeriodDaysService;
+import com.fs.course.service.IFsUserCourseVideoService;
 import com.fs.course.vo.FsPeriodCountVO;
 import com.fs.course.vo.PeriodRedPacketVO;
 import com.fs.course.vo.UpdateCourseTimeVo;
@@ -54,6 +57,7 @@ public class FsUserCoursePeriodDaysServiceImpl extends ServiceImpl<FsUserCourseP
     private final FsUserMapper fsUserMapper;
 
     private final FsUserCoursePeriodDaysMapper fsUserCoursePeriodDaysMapper;
+    private final IFsUserCourseVideoService fsUserCourseVideoService;
 
     /**
      * 查询营期课程
@@ -143,15 +147,32 @@ public class FsUserCoursePeriodDaysServiceImpl extends ServiceImpl<FsUserCourseP
         if(dayList.size() + entity.getVideoIds().size() > days) return R.error("课程不能超过营期范围");
         if(dayList.stream().anyMatch(e -> entity.getVideoIds().contains(e.getVideoId()))) return R.error("不能添加相同章节");
         AtomicInteger i = new AtomicInteger(0);
+        FsUserCourseVideo fsUserCourseVideo = new FsUserCourseVideo();
+        fsUserCourseVideo.setCourseId(entity.getCourseId());
+        List<FsUserCourseVideo> videoList = fsUserCourseVideoService.selectFsUserCourseVideoListByCourseId(fsUserCourseVideo);
+        Map<Long, FsUserCourseVideo> videoMap = PubFun.listToMapByGroupObject(videoList, FsUserCourseVideo::getVideoId);
         List<FsUserCoursePeriodDays> collect = entity.getVideoIds().stream().map(e -> {
+            FsUserCourseVideo video = videoMap.get(e);
             FsUserCoursePeriodDays day = new FsUserCoursePeriodDays();
             day.setPeriodId(entity.getPeriodId());
             day.setLesson(dayList.size() + i.getAndIncrement());
             day.setDayDate(period.getPeriodStartingTime().plusDays(day.getLesson()));
             day.setCourseId(entity.getCourseId());
-            day.setStartDateTime(LocalDateTime.of(day.getDayDate(), entity.getStartTime()));
-            day.setEndDateTime(LocalDateTime.of(day.getDayDate(), entity.getEndTime1()));
-            day.setLastJoinTime(LocalDateTime.of(day.getDayDate(), entity.getJoinTime()));
+            if(entity.getStartTime() != null){
+                day.setStartDateTime(LocalDateTime.of(day.getDayDate(), entity.getStartTime()));
+            }else if(video.getViewStartTime() != null){
+                day.setStartDateTime(LocalDateTime.of(day.getDayDate(), video.getViewStartTime()));
+            }
+            if(entity.getEndTime1() != null){
+                day.setEndDateTime(LocalDateTime.of(day.getDayDate(), entity.getEndTime1()));
+            }else if(video.getViewEndTime() != null){
+                day.setEndDateTime(LocalDateTime.of(day.getDayDate(), video.getViewEndTime()));
+            }
+            if(entity.getJoinTime() != null){
+                day.setLastJoinTime(LocalDateTime.of(day.getDayDate(), entity.getJoinTime()));
+            }else if(video.getLastJoinTime() != null){
+                day.setLastJoinTime(LocalDateTime.of(day.getDayDate(), video.getLastJoinTime()));
+            }
             day.setVideoId(e);
             day.setCreateTime(new Date());
             // 默认开启今天及以后的两天

+ 12 - 12
fs-service/src/main/java/com/fs/qw/service/impl/QwExternalContactServiceImpl.java

@@ -1519,12 +1519,12 @@ public class QwExternalContactServiceImpl extends ServiceImpl<QwExternalContactM
 
             }
         }
-//        try {
-//            rocketMQTemplate.syncSend("ad-upload", JSON.toJSONString(AdUploadVo.builder().state(state).type(AdUploadType.ADD_WX).build()));
-//
-//        }catch (Exception e){
-//            logger.error("语音上传消息失败",e);
-//        }
+        try {
+            logger.info("上传mq");
+            rocketMQTemplate.syncSend("ad-upload", JSON.toJSONString(AdUploadVo.builder().state(state).type(AdUploadType.ADD_WX).build()));
+        }catch (Exception e){
+            logger.error("广告回调上传",e);
+        }
 
         try {
             rocketMQTemplate.syncSend("qw-addExt", JSON.toJSONString(qwExternalContact));
@@ -1604,12 +1604,12 @@ public class QwExternalContactServiceImpl extends ServiceImpl<QwExternalContactM
         qwExternalContact.setCorpId(corpId);
         qwExternalContact.setCreateTime(new Date());
 
-//        QwExternalContact finalQwExternalContact = qwExternalContact;
-//        try {
-//            rocketMQTemplate.syncSend("ad-upload", JSON.toJSONString(AdUploadVo.builder().state(state).type(AdUploadType.ADD_WX).build()));
-//        }catch (Exception e){
-//            logger.error("回调-语音发送消息失败",e);
-//        }
+        try {
+            logger.info("上传mq");
+            rocketMQTemplate.syncSend("ad-upload", JSON.toJSONString(AdUploadVo.builder().state(state).type(AdUploadType.ADD_WX).build()));
+        }catch (Exception e){
+            logger.error("广告回调上传",e);
+        }
 //        iAdHtmlClickLogService.upload(state, AdUploadType.ADD_WX, e -> finalQwExternalContact.setUploadAddWxStatus(1));
 
         //先入一次库

+ 1 - 12
fs-service/src/main/resources/application-druid-hdt.yml

@@ -137,15 +137,4 @@ spring:
                         merge-sql: true
                     wall:
                         config:
-                            multi-statement-allow: true
-rocketmq:
-    name-server: rmq-1243b25nj.rocketmq.gz.public.tencenttdmq.com:8080 # RocketMQ NameServer 地址
-    producer:
-        group: my-producer-group
-        access-key: ak1243b25nj17d4b2dc1a03 # 替换为实际的 accessKey
-        secret-key: sk08a7ea1f9f4b0237 # 替换为实际的 secretKey
-    consumer:
-        group: voice-group
-        access-key: ak1243b25nj17d4b2dc1a03 # 替换为实际的 accessKey
-        secret-key: sk08a7ea1f9f4b0237 # 替换为实际的 secretKey
-
+                            multi-statement-allow: true

+ 11 - 0
fs-service/src/main/resources/application-mq-hdt.yml

@@ -0,0 +1,11 @@
+rocketmq:
+  name-server: 192.168.0.26:8100 # RocketMQ NameServer 地址
+  producer:
+    group: my-producer-group   # 生产者组名(必须唯一)
+    access-key: default
+    secret-key: aZS4z!88dNndKTfhITzTpTxRrVUShtH3
+  consumer:
+    topic: ad-upload
+    group: ad-group
+    access-key: default
+    secret-key: aZS4z!88dNndKTfhITzTpTxRrVUShtH3