|
@@ -4,6 +4,7 @@ import java.math.BigDecimal;
|
|
|
import java.math.BigInteger;
|
|
|
import java.sql.Wrapper;
|
|
|
import java.time.LocalDate;
|
|
|
+import java.time.LocalDateTime;
|
|
|
import java.util.*;
|
|
|
import java.util.concurrent.atomic.AtomicInteger;
|
|
|
import java.util.function.Function;
|
|
@@ -24,6 +25,7 @@ import com.fs.course.param.PeriodCountParam;
|
|
|
import com.fs.course.service.IFsUserCoursePeriodDaysService;
|
|
|
import com.fs.course.vo.FsPeriodCountVO;
|
|
|
import com.fs.course.vo.PeriodRedPacketVO;
|
|
|
+import com.fs.course.vo.UpdateCourseTimeVo;
|
|
|
import com.fs.course.vo.newfs.FsCourseAnalysisCountVO;
|
|
|
import com.fs.his.vo.OptionsVO;
|
|
|
import com.fs.store.mapper.FsUserMapper;
|
|
@@ -153,6 +155,9 @@ public class FsUserCoursePeriodDaysServiceImpl extends ServiceImpl<FsUserCourseP
|
|
|
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()));
|
|
|
day.setVideoId(e);
|
|
|
day.setCreateTime(new Date());
|
|
|
return day;
|
|
@@ -264,6 +269,31 @@ public class FsUserCoursePeriodDaysServiceImpl extends ServiceImpl<FsUserCourseP
|
|
|
return R.ok();
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public R updateCourseTime(UpdateCourseTimeVo vo) {
|
|
|
+ List<FsUserCoursePeriodDays> list = fsUserCoursePeriodDaysMapper.selectBatchIds(vo.getIds());
|
|
|
+ list.forEach(day -> {
|
|
|
+ day.setStartDateTime(LocalDateTime.of(day.getDayDate(), vo.getStartTime()));
|
|
|
+ day.setEndDateTime(LocalDateTime.of(day.getDayDate(), vo.getEndTime1()));
|
|
|
+ day.setLastJoinTime(LocalDateTime.of(day.getDayDate(), vo.getJoinTime()));
|
|
|
+ fsUserCoursePeriodDaysMapper.updateById(day);
|
|
|
+ });
|
|
|
+ return R.ok();
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public R updateCourseDate(UpdateCourseTimeVo vo) {
|
|
|
+ FsUserCoursePeriodDays day = getById(vo.getId());
|
|
|
+ FsUserCoursePeriod period = fsUserCoursePeriodMapper.selectFsUserCoursePeriodById(day.getPeriodId());
|
|
|
+ if(!DateUtil.isWithinRangeSafe(vo.getDayDate(), period.getPeriodStartingTime(), period.getPeriodEndTime())) return R.error("时间不在营期范围内");
|
|
|
+ day.setDayDate(vo.getDayDate());
|
|
|
+ day.setStartDateTime(LocalDateTime.of(day.getDayDate(), day.getStartDateTime().toLocalTime()));
|
|
|
+ day.setEndDateTime(LocalDateTime.of(day.getDayDate(), day.getEndDateTime().toLocalTime()));
|
|
|
+ day.setLastJoinTime(LocalDateTime.of(day.getDayDate(), day.getLastJoinTime().toLocalTime()));
|
|
|
+ updateById(day);
|
|
|
+ return R.ok();
|
|
|
+ }
|
|
|
+
|
|
|
private static FsCourseAnalysisCountVO getCourseAnalysisCountVO(FsUserCoursePeriodDays v, Map<Long, FsCourseAnalysisCountVO> courseMap, Map<Long, FsCourseAnalysisCountVO> redPacketMap, Map<Long, FsCourseAnalysisCountVO> answerMap) {
|
|
|
FsCourseAnalysisCountVO countVO = new FsCourseAnalysisCountVO();
|
|
|
FsCourseAnalysisCountVO courseVO = courseMap.getOrDefault(v.getVideoId(), countVO);
|