|
@@ -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());
|
|
|
// 默认开启今天及以后的两天
|