Browse Source

refactor: 移动根据ID获取课程接口

ChenSiTong 6 years ago
parent
commit
ed900ebf46

+ 9 - 0
src/main/java/nju/seec/helper/logic/service/CourseService.java

@@ -1,5 +1,6 @@
 package nju.seec.helper.logic.service;
 
+import nju.seec.helper.data.entity.Course;
 import nju.seec.helper.logic.vo.CourseVO;
 import org.springframework.data.domain.Pageable;
 
@@ -26,4 +27,12 @@ public interface CourseService {
      * @return
      */
     List<CourseVO> getStudentCourses(int studentId, Pageable pageable);
+
+    /**
+     * 根据ID获取课程
+     *
+     * @param courseId
+     * @return
+     */
+    Course findCourseById(String courseId);
 }

+ 8 - 0
src/main/java/nju/seec/helper/logic/service/impl/CourseServiceImpl.java

@@ -6,6 +6,7 @@ import nju.seec.helper.logic.convert.EntityConvertFactory;
 import nju.seec.helper.logic.service.CourseService;
 import nju.seec.helper.logic.vo.CourseVO;
 import nju.seec.helper.util.FakerUtils;
+import nju.seec.helper.util.exception.HelperException;
 import org.springframework.data.domain.Pageable;
 import org.springframework.stereotype.Service;
 
@@ -47,4 +48,11 @@ public class CourseServiceImpl implements CourseService {
     public List<CourseVO> getStudentCourses(int studentId, Pageable pageable) {
         return getTeacherCourses(studentId, pageable);
     }
+
+    @Override
+    public Course findCourseById(String courseId) {
+        return courseDAO.findById(courseId).orElseThrow(() -> HelperException.of(
+                HelperException.ExceptionType.NOT_FOUND, "找不到课程")
+        );
+    }
 }

+ 6 - 12
src/main/java/nju/seec/helper/logic/service/impl/SlideServiceImpl.java

@@ -1,11 +1,11 @@
 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;
+import nju.seec.helper.logic.service.CourseService;
 import nju.seec.helper.logic.service.SlideService;
 import nju.seec.helper.logic.vo.SlideVO;
 import nju.seec.helper.util.enums.SlideState;
@@ -28,13 +28,13 @@ import java.util.stream.Collectors;
 @Service
 @CacheConfig(cacheNames = "slide")
 public class SlideServiceImpl implements SlideService {
-    private final CourseDAO courseDAO;
-
     private final SlideDAO slideDAO;
 
-    public SlideServiceImpl(CourseDAO courseDAO, SlideDAO slideDAO) {
-        this.courseDAO = courseDAO;
+    private final CourseService courseService;
+
+    public SlideServiceImpl(SlideDAO slideDAO, CourseService courseService) {
         this.slideDAO = slideDAO;
+        this.courseService = courseService;
     }
 
     @Override
@@ -65,7 +65,7 @@ public class SlideServiceImpl implements SlideService {
     @Override
     public SlideVO create(SlideDTO slideDTO) {
         Slide slide = new Slide();
-        Course course = findCourseById(slideDTO.getCourseId());
+        Course course = courseService.findCourseById(slideDTO.getCourseId());
         slide.setCourseId(course.getId());
         slide.setCourseName(course.getName());
         slide.setName(slideDTO.getName());
@@ -93,10 +93,4 @@ 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, "找不到课程")
-        );
-    }
 }