|
|
@@ -5,11 +5,16 @@ import cn.hutool.core.util.StrUtil;
|
|
|
import cn.hutool.extra.spring.SpringUtil;
|
|
|
import cn.iocoder.byzs.framework.common.pojo.PageResult;
|
|
|
import cn.iocoder.byzs.framework.common.util.object.BeanUtils;
|
|
|
+import cn.iocoder.byzs.framework.mybatis.core.query.LambdaQueryWrapperX;
|
|
|
import cn.iocoder.byzs.module.bjdx.controller.admin.course.vo.CoursePageReqVO;
|
|
|
import cn.iocoder.byzs.module.bjdx.controller.admin.course.vo.CourseRespVO;
|
|
|
import cn.iocoder.byzs.module.bjdx.controller.admin.course.vo.CourseSaveReqVO;
|
|
|
import cn.iocoder.byzs.module.bjdx.dal.dataobject.course.CourseDO;
|
|
|
+import cn.iocoder.byzs.module.bjdx.dal.dataobject.coursetype.CourseTypeDO;
|
|
|
+import cn.iocoder.byzs.module.bjdx.dal.dataobject.reportprogress.CourseReportProgressDO;
|
|
|
import cn.iocoder.byzs.module.bjdx.dal.mysql.course.CourseMapper;
|
|
|
+import cn.iocoder.byzs.module.bjdx.dal.mysql.coursetype.CourseTypeMapper;
|
|
|
+import cn.iocoder.byzs.module.bjdx.service.reportprogress.CourseReportProgressMapper;
|
|
|
import cn.iocoder.byzs.module.infra.dal.dataobject.file.FileDO;
|
|
|
import cn.iocoder.byzs.module.infra.framework.file.core.client.FileClient;
|
|
|
import cn.iocoder.byzs.module.infra.service.file.FileConfigService;
|
|
|
@@ -20,6 +25,7 @@ import org.springframework.stereotype.Service;
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
|
|
|
|
import java.util.List;
|
|
|
+import java.util.Objects;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
import static cn.iocoder.byzs.framework.common.exception.util.ServiceExceptionUtil.exception;
|
|
|
@@ -40,6 +46,10 @@ public class CourseServiceImpl implements CourseService {
|
|
|
private FileServiceImpl fileService;
|
|
|
@Resource
|
|
|
private FileConfigService fileConfigService;
|
|
|
+ @Resource
|
|
|
+ private CourseTypeMapper courseTypeMapper;
|
|
|
+ @Resource
|
|
|
+ private CourseReportProgressMapper courseReportProgressMapper;
|
|
|
|
|
|
@Override
|
|
|
public Long createCourse(CourseSaveReqVO createReqVO) {
|
|
|
@@ -57,11 +67,19 @@ public class CourseServiceImpl implements CourseService {
|
|
|
@Override
|
|
|
public void updateCourse(CourseSaveReqVO updateReqVO) {
|
|
|
// 校验存在
|
|
|
- validateCourseExists(updateReqVO.getId());
|
|
|
+ CourseDO courseDO = validateCourseExists(updateReqVO.getId());
|
|
|
+
|
|
|
// 更新
|
|
|
CourseDO updateObj = BeanUtils.toBean(updateReqVO, CourseDO.class);
|
|
|
courseMapper.updateById(updateObj);
|
|
|
|
|
|
+ //同步进度表中的课程类型
|
|
|
+ if (!Objects.equals(courseDO.getCourseType(), updateObj.getCourseType())) {
|
|
|
+ CourseTypeDO courseTypeDO = courseTypeMapper.selectById(updateObj.getCourseType());
|
|
|
+ courseReportProgressMapper.update(new CourseReportProgressDO().setBrpCtId(updateObj.getCourseType()).setBrpNjId(courseTypeDO.getCtParentId()),
|
|
|
+ new LambdaQueryWrapperX<CourseReportProgressDO>().eq(CourseReportProgressDO::getBrpCtId, courseDO.getCourseType()));
|
|
|
+ }
|
|
|
+
|
|
|
if (updateObj.getCourseContentType().equals("video")) {
|
|
|
getSelf().asymcVideoFfmpeg(updateObj);
|
|
|
}
|
|
|
@@ -122,10 +140,12 @@ public class CourseServiceImpl implements CourseService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private void validateCourseExists(Long id) {
|
|
|
- if (courseMapper.selectById(id) == null) {
|
|
|
+ private CourseDO validateCourseExists(Long id) {
|
|
|
+ CourseDO course = courseMapper.selectById(id);
|
|
|
+ if (course == null) {
|
|
|
throw exception(COURSE_NOT_EXISTS);
|
|
|
}
|
|
|
+ return course;
|
|
|
}
|
|
|
|
|
|
@Override
|