瀏覽代碼

1、调整ios上线视频限制
2、优化定时任务开启配置
3、更改定时备份数据

yys 2 周之前
父節點
當前提交
9d582780f6

+ 33 - 5
fs-quartz/src/main/java/com/fs/quartz/config/ScheduleConfig.java

@@ -1,21 +1,28 @@
 package com.fs.quartz.config;
 
+import org.springframework.boot.context.properties.ConfigurationProperties;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.scheduling.quartz.SchedulerFactoryBean;
+
 import javax.sql.DataSource;
 import java.util.Properties;
 
 /**
  * 定时任务配置
  *
-
  */
 @Configuration
 public class ScheduleConfig
 {
     @Bean
-    public SchedulerFactoryBean schedulerFactoryBean(DataSource dataSource)
+    public QuartzProperties quartzProperties()
+    {
+        return new QuartzProperties();
+    }
+
+    @Bean
+    public SchedulerFactoryBean schedulerFactoryBean(DataSource dataSource, QuartzProperties quartzProperties)
     {
         SchedulerFactoryBean factory = new SchedulerFactoryBean();
         factory.setDataSource(dataSource);
@@ -49,10 +56,31 @@ public class ScheduleConfig
         // 可选,QuartzScheduler
         // 启动时更新己存在的Job,这样就不用每次修改targetObject后删除qrtz_job_details表对应记录了
         factory.setOverwriteExistingJobs(true);
-        // 设置自动启动,默认为true 切记调整为true1
-        factory.setAutoStartup(true);
-//        factory.setAutoStartup(false);
+        // 设置自动启动,默认true,配置文件中可覆盖
+        factory.setAutoStartup(quartzProperties.getAutoStartup());
 
         return factory;
     }
+
+    /**
+     * Quartz配置属性
+     */
+    @ConfigurationProperties(prefix = "quartz")
+    public static class QuartzProperties
+    {
+        /**
+         * 是否自动启动定时任务,默认true
+         */
+        private boolean autoStartup = true;
+
+        public boolean getAutoStartup()
+        {
+            return autoStartup;
+        }
+
+        public void setAutoStartup(boolean autoStartup)
+        {
+            this.autoStartup = autoStartup;
+        }
+    }
 }

+ 3 - 0
fs-service/src/main/java/com/fs/course/mapper/FsUserVideoMapper.java

@@ -162,6 +162,9 @@ public interface FsUserVideoMapper
             "<if test='maps.keyword != null and maps.keyword != \"\"'>",
             "    AND v.title LIKE CONCAT('%', #{maps.keyword}, '%')",
             "</if>",
+            "<if test='maps.source != null and maps.source != \"\"'>",
+            "    AND v.source = #{maps.source}",
+            "</if>",
             "<choose>",
             "    <when test='maps.sortType == \"hot\"'>",
             "        ORDER BY v.likes DESC, v.create_time DESC",

+ 10 - 0
fs-service/src/main/java/com/fs/course/param/FsUserVideoListUParam.java

@@ -12,9 +12,19 @@ public class FsUserVideoListUParam extends BaseParam implements Serializable {
 
     Long videoId;
 
+    /**
+     * 是否为ios发版
+     */
+    Boolean isIos;
+
     /**
      * 类型
      */
     String sortType;
 
+    /**
+     * 来源
+     */
+    Integer source;
+
 }

+ 13 - 13
fs-service/src/main/java/com/fs/course/service/impl/FsCourseAnswerLogsServiceImpl.java

@@ -372,31 +372,31 @@ public class FsCourseAnswerLogsServiceImpl implements IFsCourseAnswerLogsService
     }
 
     /**
-     * 获取去年12月1日之前的时间字符串
-     * 注意:这个是时间上限,查询条件是小于这个时间的数据
+     * 获取两个月之前的
      */
     private String getLastYearDecemberFirstTimeString() {
         try {
             Calendar calendar = Calendar.getInstance();
-            int currentYear = calendar.get(Calendar.YEAR);
-
-            // 🔴 关键修改:去年12月1日,不是今年
-            int lastYear = currentYear - 1;
-
-            // 设置去年12月1日 00:00:00
-            calendar.set(lastYear, Calendar.DECEMBER, 1, 0, 0, 0);
+            calendar.add(Calendar.MONTH, -2); // 两个月前
+            calendar.set(Calendar.DAY_OF_MONTH, 1);
+            calendar.set(Calendar.HOUR_OF_DAY, 0);
+            calendar.set(Calendar.MINUTE, 0);
+            calendar.set(Calendar.SECOND, 0);
             calendar.set(Calendar.MILLISECOND, 0);
 
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
             String result = sdf.format(calendar.getTime());
 
-            log.info("📅 设置查询结束时间:去年12月1日 = {}", result);
+            log.info("📅 设置查询结束时间:两个月前 = {}", result);
             return result;
 
         } catch (Exception e) {
-            log.error("获取去年12月1日时间失败", e);
-            // 兜底:返回前年12月1日,确保能查到历史数据
-            return (Calendar.getInstance().get(Calendar.YEAR) - 2) + "-12-01 00:00:00";
+            log.error("获取两个月前时间失败", e);
+            // 兜底:返回当前时间前推2个月
+            Calendar fallbackCalendar = Calendar.getInstance();
+            fallbackCalendar.add(Calendar.MONTH, -2);
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            return sdf.format(fallbackCalendar.getTime());
         }
     }
 

+ 13 - 13
fs-service/src/main/java/com/fs/course/service/impl/FsCourseRedPacketLogServiceImpl.java

@@ -759,31 +759,31 @@ public class FsCourseRedPacketLogServiceImpl implements IFsCourseRedPacketLogSer
     }
 
     /**
-     * 获取去年12月1日之前的时间字符串
-     * 注意:这个是时间上限,查询条件是小于这个时间的数据
+     * 获取两个月之前的
      */
     private String getLastYearDecemberFirstTimeString() {
         try {
             Calendar calendar = Calendar.getInstance();
-            int currentYear = calendar.get(Calendar.YEAR);
-
-            // 🔴 关键修改:去年12月1日,不是今年
-            int lastYear = currentYear - 1;
-
-            // 设置去年12月1日 00:00:00
-            calendar.set(lastYear, Calendar.DECEMBER, 1, 0, 0, 0);
+            calendar.add(Calendar.MONTH, -2); // 两个月前
+            calendar.set(Calendar.DAY_OF_MONTH, 1);
+            calendar.set(Calendar.HOUR_OF_DAY, 0);
+            calendar.set(Calendar.MINUTE, 0);
+            calendar.set(Calendar.SECOND, 0);
             calendar.set(Calendar.MILLISECOND, 0);
 
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
             String result = sdf.format(calendar.getTime());
 
-            log.info("📅 设置查询结束时间:去年12月1日 = {}", result);
+            log.info("📅 设置查询结束时间:两个月前 = {}", result);
             return result;
 
         } catch (Exception e) {
-            log.error("获取去年12月1日时间失败", e);
-            // 兜底:返回前年12月1日,确保能查到历史数据
-            return (Calendar.getInstance().get(Calendar.YEAR) - 2) + "-12-01 00:00:00";
+            log.error("获取两个月前时间失败", e);
+            // 兜底:返回当前时间前推2个月
+            Calendar fallbackCalendar = Calendar.getInstance();
+            fallbackCalendar.add(Calendar.MONTH, -2);
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            return sdf.format(fallbackCalendar.getTime());
         }
     }
 

+ 13 - 13
fs-service/src/main/java/com/fs/course/service/impl/FsCourseWatchLogServiceImpl.java

@@ -1656,31 +1656,31 @@ public class FsCourseWatchLogServiceImpl extends ServiceImpl<FsCourseWatchLogMap
     }
 
     /**
-     * 获取去年12月1日之前的时间字符串
-     * 注意:这个是时间上限,查询条件是小于这个时间的数据
+     * 获取两个月之前的
      */
     private String getLastYearDecemberFirstTimeString() {
         try {
             Calendar calendar = Calendar.getInstance();
-            int currentYear = calendar.get(Calendar.YEAR);
-
-            // 🔴 关键修改:去年12月1日,不是今年
-            int lastYear = currentYear - 1;
-
-            // 设置去年12月1日 00:00:00
-            calendar.set(lastYear, Calendar.DECEMBER, 1, 0, 0, 0);
+            calendar.add(Calendar.MONTH, -2); // 两个月前
+            calendar.set(Calendar.DAY_OF_MONTH, 1);
+            calendar.set(Calendar.HOUR_OF_DAY, 0);
+            calendar.set(Calendar.MINUTE, 0);
+            calendar.set(Calendar.SECOND, 0);
             calendar.set(Calendar.MILLISECOND, 0);
 
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
             String result = sdf.format(calendar.getTime());
 
-            log.info("📅 设置查询结束时间:去年12月1日 = {}", result);
+            log.info("📅 设置查询结束时间:两个月前 = {}", result);
             return result;
 
         } catch (Exception e) {
-            log.error("获取去年12月1日时间失败", e);
-            // 兜底:返回前年12月1日,确保能查到历史数据
-            return (Calendar.getInstance().get(Calendar.YEAR) - 2) + "-12-01 00:00:00";
+            log.error("获取两个月前时间失败", e);
+            // 兜底:返回当前时间前推2个月
+            Calendar fallbackCalendar = Calendar.getInstance();
+            fallbackCalendar.add(Calendar.MONTH, -2);
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            return sdf.format(fallbackCalendar.getTime());
         }
     }
 

+ 5 - 1
fs-service/src/main/resources/application-druid-zkzh-test.yml

@@ -30,7 +30,7 @@ spring:
             druid:
                 # 主库数据源
                 master:
-                    url: jdbc:mysql://47.111.26.148:2345/jz_store_v2?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&allowMultiQueries=true
+                    url: jdbc:mysql://47.111.26.148:2345/jz_store_v2_test?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&allowMultiQueries=true
                     username: root
                     password: Zkhj951753@#
                 # 从库数据源
@@ -150,3 +150,7 @@ im:
 #是否为新商户,新商户不走mpOpenId
 isNewWxMerchant: false
 
+# Quartz 定时任务配置
+# 如果不配置,默认 auto-startup 为 true
+quartz:
+    auto-startup: false

+ 2 - 1
fs-service/src/main/resources/application-druid-zkzh.yml

@@ -150,5 +150,6 @@ im:
     type: OPENIM
 #是否为新商户,新商户不走mpOpenId
 isNewWxMerchant: true
-
+quartz:
+    auto-startup: true
 

+ 24 - 0
fs-user-app/src/main/java/com/fs/app/controller/VideoController.java

@@ -1,8 +1,11 @@
 package com.fs.app.controller;
 
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
 import com.fs.app.annotation.Login;
 import com.fs.common.annotation.RepeatSubmit;
 import com.fs.common.core.domain.R;
+import com.fs.common.core.domain.entity.SysDictData;
 import com.fs.common.utils.StringUtils;
 import com.fs.course.domain.*;
 import com.fs.course.param.*;
@@ -11,6 +14,7 @@ import com.fs.course.vo.FsUserVideoCommentListUVO;
 import com.fs.course.vo.FsUserVideoListUVO;
 import com.fs.course.vo.FsUserVideoTagsVo;
 import com.fs.his.utils.TalentTreeUtil;
+import com.fs.system.service.ISysDictTypeService;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.google.common.collect.Lists;
@@ -45,6 +49,21 @@ public class VideoController extends  AppBaseController{
     @Autowired
     private IFsUserVideoTagsService fsUserVideoTagsService;
 
+    @Autowired
+    private ISysDictTypeService iSysDictTypeService;
+    /**
+     * 后台配置
+     *
+     * @return
+     */
+    private boolean isInit() {
+        List<SysDictData> sysDictData = iSysDictTypeService.selectDictDataByType("is_init");
+        if (CollectionUtil.isNotEmpty(sysDictData)){
+            return sysDictData.get(0).getDictValue().equals("1");
+        }
+        return false;
+    }
+
     @ApiOperation("视频列表")
     @GetMapping("/getVideoList")
     public R getVideoList(FsUserVideoListUParam param)
@@ -52,6 +71,11 @@ public class VideoController extends  AppBaseController{
         if (StringUtils.isNotEmpty(getUserId())) {
             param.setUserId(Long.parseLong(getUserId()));
         }
+
+        if (ObjectUtil.isNotEmpty(param.getIsIos())&&param.getIsIos() && isInit()){
+            param.setSource(3);
+        }
+
         PageHelper.startPage(param.getPageNum(), param.getPageSize());
         List<FsUserVideoListUVO> list= videoService.selectFsUserVideoListUVO(param);
         //添加假数据