Bläddra i källkod

feat: update CourseWareService

tubinyan 5 år sedan
förälder
incheckning
a7589cbf34

+ 24 - 4
src/main/java/cn/seecoder/courselearning/controller/CourseWareController.java

@@ -14,6 +14,17 @@ public class CourseWareController {
     @Resource
     private CourseWareService courseWareService;
 
+    /**
+     * 获取单个课件的信息
+     * @param uid 用户id
+     * @param courseWareId 课件id
+     */
+    @GetMapping("/{courseWareId}")
+    public CourseWareVO getCourseWare(@RequestParam(required = false, defaultValue = "") Integer uid,
+                                            @PathVariable Integer courseWareId) {
+        return courseWareService.getCourseWare(uid, courseWareId);
+    }
+
     /**
      * 获取课件列表
      * 如果带参数uid,则需要判断该用户是否购买过课程
@@ -21,9 +32,9 @@ public class CourseWareController {
      * @param courseId 课程id
      */
     @GetMapping("/course/{courseId}")
-    public List<CourseWareVO> getCourseWare(@RequestParam(required = false, defaultValue = "") Integer uid,
+    public List<CourseWareVO> getCourseWares(@RequestParam(required = false, defaultValue = "") Integer uid,
                                             @PathVariable Integer courseId) {
-        return courseWareService.getCourseWare(uid, courseId);
+        return courseWareService.getAllCourseWare(uid, courseId);
     }
 
     /**
@@ -31,7 +42,7 @@ public class CourseWareController {
      * @param courseWare 课件VO
      */
     @PostMapping("/create")
-    public ResultVO<CourseWareVO> createCourseWare(CourseWareVO courseWare){
+    public ResultVO<CourseWareVO> createCourseWare(@RequestBody CourseWareVO courseWare){
         return courseWareService.createCourseWare(courseWare);
     }
 
@@ -40,7 +51,16 @@ public class CourseWareController {
      * @param courseWare 课件VO
      */
     @PostMapping("/update")
-    public ResultVO<CourseWareVO> updateCourseWare(CourseWareVO courseWare){
+    public ResultVO<CourseWareVO> updateCourseWare(@RequestBody CourseWareVO courseWare){
         return courseWareService.updateCourseWare(courseWare);
     }
+
+    /**
+     * 教师更新课件
+     * @param courseWareId 课件Id
+     */
+    @PostMapping("/delete/{courseWareId}")
+    public ResultVO<String> deleteCourseWare(@PathVariable Integer courseWareId){
+        return courseWareService.deleteCourseWare(courseWareId);
+    }
 }

+ 6 - 2
src/main/java/cn/seecoder/courselearning/service/CourseWareService.java

@@ -7,10 +7,14 @@ import java.util.List;
 
 
 public interface CourseWareService {
-    // 获取课件信息
-    List<CourseWareVO> getCourseWare(Integer uid, Integer courseId);
+    // 获取单个课件信息
+    CourseWareVO getCourseWare(Integer uid, Integer courseWareId);
+    // 获取课程所有课件的信息
+    List<CourseWareVO> getAllCourseWare(Integer uid, Integer courseId);
     // 创建课件
     ResultVO<CourseWareVO> createCourseWare(CourseWareVO courseWareVO);
     // 更新课件
     ResultVO<CourseWareVO> updateCourseWare(CourseWareVO courseWareVO);
+    // 删除课件
+    ResultVO<String> deleteCourseWare(Integer courseWareId);
 }

+ 23 - 1
src/main/java/cn/seecoder/courselearning/serviceimpl/CourseWareServiceImpl.java

@@ -23,7 +23,20 @@ public class CourseWareServiceImpl implements CourseWareService {
     private CourseOrderMapper courseOrderMapper;
 
     @Override
-    public List<CourseWareVO> getCourseWare(Integer uid, Integer courseId) {
+    public CourseWareVO getCourseWare(Integer uid, Integer courseWareId) {
+        CourseWare courseWare = courseWareMapper.selectByPrimaryKey(courseWareId);
+        Integer courseId = courseWare.getCourseId();
+        boolean bought = false;
+        if (uid != null && uid > 0){
+            CourseOrder order = courseOrderMapper.queryMostRecentOrder(uid, courseId);
+            if(order != null)
+                bought = order.getStatus().equals(Constant.ORDER_STATUS_SUCCESS);
+        }
+        return new CourseWareVO(courseWare, bought);
+    }
+
+    @Override
+    public List<CourseWareVO> getAllCourseWare(Integer uid, Integer courseId) {
         boolean bought = false;
         if (uid != null && uid > 0){
             CourseOrder order = courseOrderMapper.queryMostRecentOrder(uid, courseId);
@@ -53,4 +66,13 @@ public class CourseWareServiceImpl implements CourseWareService {
             return new ResultVO<>(Constant.REQUEST_SUCCESS, "课件更新成功", new CourseWareVO(courseWare));
         return new ResultVO<>(Constant.REQUEST_FAIL, "课件更新失败");
     }
+
+    @Override
+    public ResultVO<String> deleteCourseWare(Integer courseWareId) {
+        if(courseWareMapper.selectByPrimaryKey(courseWareId) == null)
+            return new ResultVO<>(Constant.REQUEST_FAIL, "课件不存在!");
+        else
+            courseWareMapper.deleteByPrimaryKey(courseWareId);
+        return new ResultVO<>(Constant.REQUEST_SUCCESS, "课件删除成功");
+    }
 }