|
|
@@ -13,11 +13,16 @@ import com.fs.common.utils.ServletUtils;
|
|
|
import com.fs.common.utils.poi.ExcelUtil;
|
|
|
import com.fs.course.config.CourseConfig;
|
|
|
import com.fs.course.domain.FsUserCourse;
|
|
|
+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.FsUserCourseVideoMapper;
|
|
|
import com.fs.course.param.BatchRedUpdate;
|
|
|
import com.fs.course.param.BatchVideoSvae;
|
|
|
import com.fs.course.param.CourseVideoUpdates;
|
|
|
+import com.fs.course.service.IFsUserCoursePeriodDaysService;
|
|
|
+import com.fs.course.service.IFsUserCoursePeriodService;
|
|
|
import com.fs.course.service.IFsUserCourseService;
|
|
|
import com.fs.course.service.IFsUserCourseVideoService;
|
|
|
import com.fs.course.vo.FsUserCourseVideoChooseVO;
|
|
|
@@ -30,6 +35,8 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.security.access.prepost.PreAuthorize;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
+import java.time.LocalTime;
|
|
|
+import java.util.Collections;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
@@ -57,6 +64,18 @@ public class FsUserCourseVideoController extends BaseController
|
|
|
@Autowired
|
|
|
private ISysConfigService configService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private IFsUserCoursePeriodService fsUserCoursePeriodService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IFsUserCoursePeriodDaysService fsUserCoursePeriodDaysService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private FsUserCoursePeriodDaysMapper fsUserCoursePeriodDaysMapper;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IFsUserCoursePeriodDaysService sysUserCoursePeriodDaysService;
|
|
|
+
|
|
|
/**
|
|
|
* 查询课堂视频列表
|
|
|
*/
|
|
|
@@ -119,23 +138,42 @@ public class FsUserCourseVideoController extends BaseController
|
|
|
@PreAuthorize("@ss.hasPermi('course:userCourseVideo:add')")
|
|
|
@Log(title = "课堂视频", businessType = BusinessType.INSERT)
|
|
|
@PostMapping
|
|
|
- public AjaxResult add(@RequestBody FsUserCourseVideo fsUserCourseVideo)
|
|
|
- {
|
|
|
- Long count = fsUserCourseVideoMapper.selectFsUserCourseVideoByCourseSort(fsUserCourseVideo.getCourseId(),fsUserCourseVideo.getCourseSort());
|
|
|
- if (count>0){
|
|
|
+ public AjaxResult add(@RequestBody FsUserCourseVideo fsUserCourseVideo) {
|
|
|
+ Long count = fsUserCourseVideoMapper.selectFsUserCourseVideoByCourseSort(fsUserCourseVideo.getCourseId(), fsUserCourseVideo.getCourseSort());
|
|
|
+ if (count > 0) {
|
|
|
return AjaxResult.error("课程排序重复");
|
|
|
}
|
|
|
LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
|
|
|
Long userId = loginUser.getUser().getUserId();
|
|
|
String json = configService.selectConfigByKey("course.config");
|
|
|
CourseConfig config = JSONUtil.toBean(json, CourseConfig.class);
|
|
|
- if (ObjectUtil.isNotEmpty(config.getIsBound())&&config.getIsBound()){
|
|
|
+ if (ObjectUtil.isNotEmpty(config.getIsBound()) && config.getIsBound()) {
|
|
|
fsUserCourseVideo.setUserId(userId);
|
|
|
}
|
|
|
// 设置项目ID
|
|
|
FsUserCourse fsUserCourse = fsUserCourseService.selectFsUserCourseByCourseId(fsUserCourseVideo.getCourseId());
|
|
|
fsUserCourseVideo.setProjectId(fsUserCourse.getProject());
|
|
|
- return toAjax(fsUserCourseVideoService.insertFsUserCourseVideo(fsUserCourseVideo));
|
|
|
+ AjaxResult ajax = toAjax(fsUserCourseVideoService.insertFsUserCourseVideo(fsUserCourseVideo));
|
|
|
+ //新增课程对应目录时,判断当前课程类目是否有营期,如果有对应营期并且还在营期没有结束新增到当前营期中
|
|
|
+ FsUserCoursePeriod coursePeriod = new FsUserCoursePeriod();
|
|
|
+ coursePeriod.setCourseId(fsUserCourse.getCourseId());
|
|
|
+ List<FsUserCoursePeriod> coursePeriodsList = fsUserCoursePeriodService.selectFsUserCoursePeriodList(coursePeriod);//获取当前课程创建的会员营期
|
|
|
+ // 处理对应课程安排
|
|
|
+ if (!coursePeriodsList.isEmpty()) {
|
|
|
+ LocalTime startTime = LocalTime.MIDNIGHT;
|
|
|
+ LocalTime endTime = LocalTime.of(23, 59, 59);
|
|
|
+ coursePeriodsList.stream().filter(e -> e.getPeriodStatus() != 3).forEach(video -> {
|
|
|
+ FsUserCoursePeriodDays periodDaysEntity = new FsUserCoursePeriodDays();
|
|
|
+ periodDaysEntity.setPeriodId(video.getPeriodId());//营期ID
|
|
|
+ periodDaysEntity.setCourseId(video.getCourseId());//课程ID
|
|
|
+ periodDaysEntity.setStartTime(startTime);
|
|
|
+ periodDaysEntity.setVideoIds(Collections.singletonList(fsUserCourseVideo.getVideoId()));
|
|
|
+ periodDaysEntity.setEndTime1(endTime);
|
|
|
+ periodDaysEntity.setJoinTime(endTime);
|
|
|
+ fsUserCoursePeriodDaysService.addCourse(periodDaysEntity);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ return ajax;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -154,10 +192,28 @@ public class FsUserCourseVideoController extends BaseController
|
|
|
*/
|
|
|
@PreAuthorize("@ss.hasPermi('course:userCourseVideo:remove')")
|
|
|
@Log(title = "课堂视频", businessType = BusinessType.DELETE)
|
|
|
- @DeleteMapping("/{videoIds}")
|
|
|
- public AjaxResult remove(@PathVariable String[] videoIds)
|
|
|
- {
|
|
|
- return toAjax(fsUserCourseVideoService.deleteFsUserCourseVideoByVideoIds(videoIds));
|
|
|
+ @DeleteMapping("/{videoIds}")
|
|
|
+ public AjaxResult remove(@PathVariable String[] videoIds) {
|
|
|
+ //删除对应视频的营期数据
|
|
|
+ FsUserCourseVideo fsUserCourseVideo = new FsUserCourseVideo();
|
|
|
+ if (videoIds.length > 0)
|
|
|
+ fsUserCourseVideo = fsUserCourseVideoService.selectFsUserCourseVideoByVideoId(Long.valueOf(videoIds[0]));
|
|
|
+ if (fsUserCourseVideo.getCourseId() != null) {
|
|
|
+ FsUserCoursePeriod coursePeriod = new FsUserCoursePeriod();
|
|
|
+ coursePeriod.setCourseId(fsUserCourseVideo.getCourseId());
|
|
|
+ List<FsUserCoursePeriod> coursePeriodsList = fsUserCoursePeriodService.selectFsUserCoursePeriodList(coursePeriod);//获取当前课程创建的会员营期
|
|
|
+ coursePeriodsList.forEach(video -> {
|
|
|
+ List<Long> longs = fsUserCoursePeriodDaysMapper.selectCourseTheSpecifiedVideo(video.getPeriodId(),video.getCourseId(), videoIds);
|
|
|
+ if (longs != null && !longs.isEmpty()){
|
|
|
+ Long[] ids=new Long[longs.size()];
|
|
|
+ for (int i = 0; i < longs.size(); i++) {
|
|
|
+ ids[i]=longs.get(i);
|
|
|
+ }
|
|
|
+ fsUserCoursePeriodDaysService.deleteFsUserCoursePeriodDaysByIds(ids);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ return toAjax(fsUserCourseVideoService.deleteFsUserCourseVideoByVideoIds(videoIds));
|
|
|
}
|
|
|
|
|
|
|