|
|
@@ -1,6 +1,8 @@
|
|
|
package nju.seec.helper.logic.service.impl;
|
|
|
|
|
|
+import nju.seec.helper.data.dao.CourseDAO;
|
|
|
import nju.seec.helper.data.dao.SlideDAO;
|
|
|
+import nju.seec.helper.data.entity.Course;
|
|
|
import nju.seec.helper.data.entity.Slide;
|
|
|
import nju.seec.helper.logic.convert.DTOConvertFactory;
|
|
|
import nju.seec.helper.logic.convert.EntityConvertFactory;
|
|
|
@@ -26,9 +28,12 @@ import java.util.stream.Collectors;
|
|
|
@Service
|
|
|
@CacheConfig(cacheNames = "slide")
|
|
|
public class SlideServiceImpl implements SlideService {
|
|
|
+ private final CourseDAO courseDAO;
|
|
|
+
|
|
|
private final SlideDAO slideDAO;
|
|
|
|
|
|
- public SlideServiceImpl(SlideDAO slideDAO) {
|
|
|
+ public SlideServiceImpl(CourseDAO courseDAO, SlideDAO slideDAO) {
|
|
|
+ this.courseDAO = courseDAO;
|
|
|
this.slideDAO = slideDAO;
|
|
|
}
|
|
|
|
|
|
@@ -60,7 +65,9 @@ public class SlideServiceImpl implements SlideService {
|
|
|
@Override
|
|
|
public SlideVO create(SlideDTO slideDTO) {
|
|
|
Slide slide = new Slide();
|
|
|
- slide.setCourseId(slideDTO.getCourseId());
|
|
|
+ Course course = findCourseById(slideDTO.getCourseId());
|
|
|
+ slide.setCourseId(course.getId());
|
|
|
+ slide.setCourseName(course.getName());
|
|
|
slide.setName(slideDTO.getName());
|
|
|
slide.setState(SlideState.DRAFT);
|
|
|
slide = slideDAO.save(slide);
|
|
|
@@ -86,4 +93,10 @@ public class SlideServiceImpl implements SlideService {
|
|
|
HelperException.ExceptionType.NOT_FOUND, "找不到幻灯片")
|
|
|
);
|
|
|
}
|
|
|
+
|
|
|
+ private Course findCourseById(String courseId) {
|
|
|
+ return courseDAO.findById(courseId).orElseThrow(() -> HelperException.of(
|
|
|
+ HelperException.ExceptionType.NOT_FOUND, "找不到课程")
|
|
|
+ );
|
|
|
+ }
|
|
|
}
|