ソースを参照

feat:叮当-营期选择视频保持以前的播放时间不变,后面添加的课程从最后一节课的时间延续

caoliqin 1 週間 前
コミット
f444f530ba

+ 3 - 0
fs-service/src/main/java/com/fs/course/domain/FsUserCoursePeriodDays.java

@@ -80,6 +80,9 @@ public class FsUserCoursePeriodDays extends BaseEntityTow {
     @Excel(name = "开课状态;0未开始1一开始2已结束")
     private Integer status;
 
+    /** 删除状态0、正常,1、已删除 */
+    private String delFlag;
+
     @TableField(exist = false)
     private List<Long> videoIds;
     @TableField(exist = false)

+ 12 - 2
fs-service/src/main/java/com/fs/course/service/impl/FsUserCoursePeriodDaysServiceImpl.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fs.common.core.domain.R;
+import com.fs.common.utils.CloudHostUtils;
 import com.fs.common.utils.DateUtils;
 import com.fs.common.utils.PubFun;
 import com.fs.common.utils.date.DateUtil;
@@ -154,7 +155,11 @@ public class FsUserCoursePeriodDaysServiceImpl extends ServiceImpl<FsUserCourseP
     @Override
     public R addCourse(FsUserCoursePeriodDays entity) {
         FsUserCoursePeriod period = fsUserCoursePeriodMapper.selectFsUserCoursePeriodById(entity.getPeriodId());
-        List<FsUserCoursePeriodDays> dayList = list(new QueryWrapper<FsUserCoursePeriodDays>().eq("period_id", period.getPeriodId()).eq("del_flag","0"));
+        // 查询所有的,包括删除的(后续需要),将原来定义的dayList 筛选出来,避免查询两次
+        List<FsUserCoursePeriodDays> dayAllList = list(new QueryWrapper<FsUserCoursePeriodDays>().eq("period_id", period.getPeriodId()));
+        List<FsUserCoursePeriodDays> dayList = dayAllList.stream()
+                .filter(day -> day.getDelFlag() == null || !"1".equals(day.getDelFlag()))
+                .collect(Collectors.toList());
         long days;
         if(period.getPeriodType() == 2){
             days = 1;
@@ -173,7 +178,12 @@ public class FsUserCoursePeriodDaysServiceImpl extends ServiceImpl<FsUserCourseP
             FsUserCourseVideo video = videoMap.get(e);
             FsUserCoursePeriodDays day = new FsUserCoursePeriodDays();
             day.setPeriodId(entity.getPeriodId());
-            day.setLesson(dayList.size() + i.getAndIncrement());
+            // 叮当国医,需要忽略被删除的
+            if(CloudHostUtils.hasCloudHostName("叮当国医")){
+                day.setLesson(dayAllList.size() + i.getAndIncrement());
+            } else {
+                day.setLesson(dayList.size() + i.getAndIncrement());
+            }
             day.setDayDate(period.getPeriodStartingTime().plusDays(day.getLesson()));
             day.setCourseId(entity.getCourseId());
             if(entity.getStartTime() != null){