Переглянути джерело

1.完善课程收藏相关功能,加入一些检索和必须接口
2.课程、课程收藏、课程中心等加入课时数量,观看次数等字段

honorfire 7 місяців тому
батько
коміт
bf0ba33301
12 змінених файлів з 174 додано та 11 видалено
  1. 4 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/controller/CourseInfoController.java
  2. 29 4
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/controller/CourseStudentCollectController.java
  3. 8 4
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/mapper/mapping/CourseInfoMapper.xml
  4. 9 2
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/mapper/mapping/CourseStudentCollectMapper.xml
  5. 2 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/param/coursestudentcollect/CourseStudentCollectAddParam.java
  6. 37 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/param/coursestudentcollect/CourseStudentCollectNotCollectParam.java
  7. 10 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/CourseNotebooksService.java
  8. 11 1
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/CourseNotesService.java
  9. 8 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/CourseStudentCollectService.java
  10. 15 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/impl/CourseNotebooksServiceImpl.java
  11. 15 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/impl/CourseNotesServiceImpl.java
  12. 26 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/impl/CourseStudentCollectServiceImpl.java

+ 4 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/controller/CourseInfoController.java

@@ -85,6 +85,8 @@ public class CourseInfoController {
         Map param =new HashMap(6);
         param.put("courseName", req.getParameter("courseName"));
         param.put("collegeId", req.getParameter("collegeId"));
+        param.put("collegeTwoId", req.getParameter("collegeTwoId"));
+        param.put("collegeThreeId", req.getParameter("collegeThreeId"));
         param.put("majorId", req.getParameter("majorId"));
         param.put("courseType", req.getParameter("courseType"));
         //排序类型,0最新,1热门
@@ -246,6 +248,8 @@ public class CourseInfoController {
         param.put("userId", StpLoginUserUtil.getLoginUser().getId());
         param.put("courseName", req.getParameter("courseName"));
         param.put("collegeId", req.getParameter("collegeId"));
+        param.put("collegeTwoId", req.getParameter("collegeTwoId"));
+        param.put("collegeThreeId", req.getParameter("collegeThreeId"));
         param.put("majorId", req.getParameter("majorId"));
         param.put("courseType", req.getParameter("courseType"));
         //排序类型,0最新,1热门

+ 29 - 4
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/controller/CourseStudentCollectController.java

@@ -14,6 +14,7 @@ package vip.xiaonuo.disk.controller;
 
 import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollStreamUtil;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import com.github.xiaoymin.knife4j.annotations.ApiSupport;
@@ -30,10 +31,7 @@ import vip.xiaonuo.common.annotation.CommonLog;
 import vip.xiaonuo.common.pojo.CommonResult;
 import vip.xiaonuo.common.pojo.CommonValidList;
 import vip.xiaonuo.disk.domain.CourseStudentCollect;
-import vip.xiaonuo.disk.param.coursestudentcollect.CourseStudentCollectAddParam;
-import vip.xiaonuo.disk.param.coursestudentcollect.CourseStudentCollectEditParam;
-import vip.xiaonuo.disk.param.coursestudentcollect.CourseStudentCollectIdParam;
-import vip.xiaonuo.disk.param.coursestudentcollect.CourseStudentCollectPageParam;
+import vip.xiaonuo.disk.param.coursestudentcollect.*;
 import vip.xiaonuo.disk.service.CourseStudentCollectService;
 
 import javax.annotation.Resource;
@@ -41,6 +39,7 @@ import javax.servlet.http.HttpServletRequest;
 import javax.validation.Valid;
 import javax.validation.constraints.NotEmpty;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -73,6 +72,8 @@ public class CourseStudentCollectController {
         param.put("userId", StpLoginUserUtil.getLoginUser().getId());
         param.put("courseName", req.getParameter("courseName"));
         param.put("collegeId", req.getParameter("collegeId"));
+        param.put("collegeTwoId", req.getParameter("collegeTwoId"));
+        param.put("collegeThreeId", req.getParameter("collegeThreeId"));
         param.put("majorId", req.getParameter("majorId"));
         param.put("courseType", req.getParameter("courseType"));
         //排序类型,0最新,1热门
@@ -97,10 +98,33 @@ public class CourseStudentCollectController {
     @PostMapping("/disk/coursestudentcollect/add")
     public CommonResult<String> add(@RequestBody @Valid CourseStudentCollectAddParam courseStudentCollectAddParam) {
         CourseStudentCollect courseStudentCollect = BeanUtil.toBean(courseStudentCollectAddParam, CourseStudentCollect.class);
+        courseStudentCollect.setUserId(StpLoginUserUtil.getLoginUser().getId());
         courseStudentCollectService.addOne(courseStudentCollect);
         return CommonResult.ok();
     }
 
+    /**
+     * 课程收藏-取消收藏
+     *
+     * @author honorfire
+     * @date  2025/07/19 16:36
+     */
+    @ApiOperationSupport(order = 3)
+    @ApiOperation("课程收藏-取消收藏")
+    @CommonLog("课程收藏-取消收藏")
+    @SaCheckPermission("/disk/coursestudentcollect/notCollect")
+    @PostMapping("/disk/coursestudentcollect/notCollect")
+    public CommonResult<String> notCollect(@RequestBody @Valid CourseStudentCollectNotCollectParam courseStudentCollectNotCollectParam) {
+        Map param=new HashMap();
+        param.put("courseId", courseStudentCollectNotCollectParam.getCourseId());
+        param.put("userId", StpLoginUserUtil.getLoginUser().getId());
+        List<CourseStudentCollect> deleteList=courseStudentCollectService.wrapperList(param);
+        List<String> deleteIdList=CollStreamUtil.toList(deleteList, CourseStudentCollect::getId);
+        courseStudentCollectService.deleteByIds(deleteIdList);
+        return CommonResult.ok();
+    }
+
+
     /**
      * 课程收藏-编辑
      *
@@ -148,6 +172,7 @@ public class CourseStudentCollectController {
     public CommonResult<Map<String,Object>> detail(@Valid CourseStudentCollectIdParam courseStudentCollectIdParam, HttpServletRequest req) {
         Map param =new HashMap();
         param.put("id", req.getParameter("id"));
+        param.put("courseId", req.getParameter("courseId"));
         Map<String,Object> result=courseStudentCollectService.queryInfo(param);
         return CommonResult.data(result);
     }

+ 8 - 4
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/mapper/mapping/CourseInfoMapper.xml

@@ -27,7 +27,8 @@
         IFNULL(ci.TIME_LIMIT_TYPE,'') as timeLimitType,
         IFNULL(ci.START_TIME,'') as startTime,
         IFNULL(ci.END_TIME,'') as endTime,
-        IFNULL(ci.VIEW_COUNT ,'') as viewCount
+        IFNULL(ci.VIEW_COUNT ,'') as viewCount,
+        IFNULL(ci.HOUR_COUNT ,'') as hourCount
         FROM COURSE_INFO ci
         LEFT JOIN SYS_ORG co ON ci.COLLEGE_ID=co.ID AND co.DELETE_FLAG ='NOT_DELETE'
         LEFT JOIN SYS_ORG co2 ON ci.COLLEGE_TWO_ID=co2.id AND co2.DELETE_FLAG ='NOT_DELETE'
@@ -90,7 +91,8 @@
         IFNULL(ci.TIME_LIMIT_TYPE,'') as timeLimitType,
         IFNULL(ci.START_TIME,'') as startTime,
         IFNULL(ci.END_TIME,'') as endTime,
-        IFNULL(ci.VIEW_COUNT ,'') as viewCount
+        IFNULL(ci.VIEW_COUNT ,'') as viewCount,
+        IFNULL(ci.HOUR_COUNT ,'') as hourCount
         FROM COURSE_INFO ci
         LEFT JOIN DEV_FILE df ON ci.COVER_IMAGE_ID =df.ID AND df.DELETE_FLAG ='NOT_DELETE'
         LEFT JOIN SYS_ORG co ON ci.COLLEGE_ID=co.ID AND co.DELETE_FLAG ='NOT_DELETE'
@@ -119,7 +121,8 @@
             IFNULL(ci.TIME_LIMIT_TYPE,'') as timeLimitType,
             IFNULL(ci.START_TIME,'') as startTime,
             IFNULL(ci.END_TIME,'') as endTime,
-            IFNULL(ci.VIEW_COUNT ,'') as viewCount
+            IFNULL(ci.VIEW_COUNT ,'') as viewCount,
+            IFNULL(ci.HOUR_COUNT ,'') as hourCount
         FROM COURSE_INFO ci
         LEFT JOIN COURSE_STUDENT_RELATE csr ON ci.COURSE_ID = CSR.COURSE_ID AND CSR.DELETE_FLAG ='NOT_DELETE'
         LEFT JOIN DEV_FILE df ON ci.COVER_IMAGE_ID =df.ID AND df.DELETE_FLAG ='NOT_DELETE'
@@ -175,7 +178,8 @@
             IFNULL(ci.TIME_LIMIT_TYPE,'') as timeLimitType,
             IFNULL(ci.START_TIME,'') as startTime,
             IFNULL(ci.END_TIME,'') as endTime,
-            IFNULL(ci.VIEW_COUNT ,'') as viewCount
+            IFNULL(ci.VIEW_COUNT ,'') as viewCount,
+            IFNULL(ci.HOUR_COUNT ,'') as hourCount
         FROM COURSE_INFO ci
         LEFT JOIN DEV_FILE df ON ci.COVER_IMAGE_ID =df.ID AND df.DELETE_FLAG ='NOT_DELETE'
         LEFT JOIN college co ON ci.COLLEGE_ID=co.ID AND co.DELETE_FLAG ='NOT_DELETE'

+ 9 - 2
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/mapper/mapping/CourseStudentCollectMapper.xml

@@ -27,7 +27,9 @@
             IFNULL(ci.PUBLISH_TIME,'') as publishTime,
             IFNULL(ci.TIME_LIMIT_TYPE,'') as timeLimitType,
             IFNULL(ci.START_TIME,'') as startTime,
-            IFNULL(ci.END_TIME,'') as endTime
+            IFNULL(ci.END_TIME,'') as endTime,
+            IFNULL(ci.VIEW_COUNT ,'') as viewCount,
+            IFNULL(ci.HOUR_COUNT ,'') as hourCount
         FROM COURSE_STUDENT_COLLECT csc
         LEFT JOIN COURSE_INFO ci ON ci.COURSE_ID = csc.COURSE_ID AND ci.DELETE_FLAG ='NOT_DELETE'
         LEFT JOIN SYS_ORG co ON ci.COLLEGE_ID=co.ID AND co.DELETE_FLAG ='NOT_DELETE'
@@ -93,7 +95,9 @@
             IFNULL(ci.PUBLISH_TIME,'') as publishTime,
             IFNULL(ci.TIME_LIMIT_TYPE,'') as timeLimitType,
             IFNULL(ci.START_TIME,'') as startTime,
-            IFNULL(ci.END_TIME,'') as endTime
+            IFNULL(ci.END_TIME,'') as endTime,
+            IFNULL(ci.VIEW_COUNT ,'') as viewCount,
+            IFNULL(ci.HOUR_COUNT ,'') as hourCount
         FROM COURSE_STUDENT_COLLECT csc
         LEFT JOIN COURSE_INFO ci ON ci.COURSE_ID = csc.COURSE_ID AND ci.DELETE_FLAG ='NOT_DELETE'
         LEFT JOIN SYS_ORG co ON ci.COLLEGE_ID=co.ID AND co.DELETE_FLAG ='NOT_DELETE'
@@ -106,5 +110,8 @@
         <if test="id !=null and id != ''">
             AND csc.ID =#{id}
         </if>
+        <if test="courseId !=null and courseId != ''">
+            AND ci.COURSE_ID =#{courseId}
+        </if>
     </select>
 </mapper>

+ 2 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/param/coursestudentcollect/CourseStudentCollectAddParam.java

@@ -33,10 +33,12 @@ public class CourseStudentCollectAddParam {
 
     /** 人员id */
     @ApiModelProperty(value = "人员id", position = 2)
+    @NotBlank(message = "人员id不能为空")
     private String userId;
 
     /** 课程id */
     @ApiModelProperty(value = "课程id", position = 3)
+    @NotBlank(message = "课程id不能为空")
     private String courseId;
 
 }

+ 37 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/param/coursestudentcollect/CourseStudentCollectNotCollectParam.java

@@ -0,0 +1,37 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.disk.param.coursestudentcollect;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * 课程学生-收藏表取消收藏参数
+ *
+ * @author honorfire
+ * @date  2025/07/19 16:36
+ **/
+@Getter
+@Setter
+public class CourseStudentCollectNotCollectParam {
+
+
+    /** 课程id */
+    @ApiModelProperty(value = "课程id", position = 3)
+    @NotBlank(message = "课程id不能为空")
+    private String courseId;
+
+}

+ 10 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/CourseNotebooksService.java

@@ -46,6 +46,11 @@ public interface CourseNotebooksService extends IService<CourseNotebooks> {
      */
     void add(CourseNotebooksAddParam courseNotebooksAddParam);
 
+    /**
+     * 课程笔记本表-添加
+     */
+    CourseNotebooks addOne(CourseNotebooks courseNotebooks);
+
     /**
      * 编辑课程笔记本表
      *
@@ -54,6 +59,11 @@ public interface CourseNotebooksService extends IService<CourseNotebooks> {
      */
     void edit(CourseNotebooksEditParam courseNotebooksEditParam);
 
+    /**
+     * 课程笔记本表-编辑
+     */
+    CourseNotebooks editOne(CourseNotebooks courseNotebooks);
+
     /**
      * 删除课程笔记本表
      *

+ 11 - 1
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/CourseNotesService.java

@@ -48,13 +48,23 @@ public interface CourseNotesService extends IService<CourseNotes> {
     void add(CourseNotesAddParam courseNotesAddParam);
 
     /**
-     * 编辑课程笔记表
+     * 课程笔记表-添加
      *
      * @author 金吉龙
      * @date  2025/07/01 18:56
      */
+    CourseNotes addOne(CourseNotes courseNotes);
+
+    /**
+     * 编辑课程笔记表
+     */
     void edit(CourseNotesEditParam courseNotesEditParam);
 
+    /**
+     * 课程笔记表-编辑
+     */
+    CourseNotes editOne(CourseNotes courseNotes);
+
     /**
      * 删除课程笔记表
      *

+ 8 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/CourseStudentCollectService.java

@@ -14,6 +14,7 @@ package vip.xiaonuo.disk.service;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
+import vip.xiaonuo.disk.domain.CourseRelate;
 import vip.xiaonuo.disk.domain.CourseStudentCollect;
 import vip.xiaonuo.disk.param.coursestudentcollect.CourseStudentCollectAddParam;
 import vip.xiaonuo.disk.param.coursestudentcollect.CourseStudentCollectEditParam;
@@ -55,6 +56,11 @@ public interface CourseStudentCollectService extends IService<CourseStudentColle
      */
     CourseStudentCollect addOne(CourseStudentCollect courseStudentCollect);
 
+    /**
+     * 获取课程-相关关联表-封装列表
+     */
+    List<CourseStudentCollect> wrapperList(Map param);
+
     /**
      * 编辑课程学生-收藏表
      *
@@ -79,6 +85,8 @@ public interface CourseStudentCollectService extends IService<CourseStudentColle
      */
     void delete(List<CourseStudentCollectIdParam> courseStudentCollectIdParamList);
 
+    void deleteByIds(List<String> idList);
+
     /**
      * 获取课程学生-收藏表详情
      *

+ 15 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/impl/CourseNotebooksServiceImpl.java

@@ -25,6 +25,7 @@ import vip.xiaonuo.common.enums.CommonSortOrderEnum;
 import vip.xiaonuo.common.exception.CommonException;
 import vip.xiaonuo.common.page.CommonPageRequest;
 import vip.xiaonuo.disk.domain.CourseNotebooks;
+import vip.xiaonuo.disk.domain.CourseStudentCollect;
 import vip.xiaonuo.disk.mapper.CourseNotebooksMapper;
 import vip.xiaonuo.disk.param.CourseNotebooksAddParam;
 import vip.xiaonuo.disk.param.CourseNotebooksEditParam;
@@ -64,6 +65,13 @@ public class CourseNotebooksServiceImpl extends ServiceImpl<CourseNotebooksMappe
         this.save(courseNotebooks);
     }
 
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public CourseNotebooks addOne(CourseNotebooks courseNotebooks) {
+        this.save(courseNotebooks);
+        return courseNotebooks;
+    }
+
     @Transactional(rollbackFor = Exception.class)
     @Override
     public void edit(CourseNotebooksEditParam courseNotebooksEditParam) {
@@ -72,6 +80,13 @@ public class CourseNotebooksServiceImpl extends ServiceImpl<CourseNotebooksMappe
         this.updateById(courseNotebooks);
     }
 
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public CourseNotebooks editOne(CourseNotebooks courseNotebooks) {
+        this.updateById(courseNotebooks);
+        return courseNotebooks;
+    }
+
     @Transactional(rollbackFor = Exception.class)
     @Override
     public void delete(List<CourseNotebooksIdParam> courseNotebooksIdParamList) {

+ 15 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/impl/CourseNotesServiceImpl.java

@@ -26,6 +26,7 @@ import vip.xiaonuo.common.exception.CommonException;
 import vip.xiaonuo.common.page.CommonPageRequest;
 import vip.xiaonuo.disk.domain.CourseNotes;
 import vip.xiaonuo.disk.domain.CourseNotesVo;
+import vip.xiaonuo.disk.domain.CourseStudentCollect;
 import vip.xiaonuo.disk.mapper.CourseInfoMapper;
 import vip.xiaonuo.disk.mapper.CourseNotesMapper;
 import vip.xiaonuo.disk.param.CourseNotesAddParam;
@@ -109,6 +110,13 @@ public class CourseNotesServiceImpl extends ServiceImpl<CourseNotesMapper, Cours
         this.save(courseNotes);
     }
 
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public CourseNotes addOne(CourseNotes courseNotes) {
+        this.save(courseNotes);
+        return courseNotes;
+    }
+
     @Transactional(rollbackFor = Exception.class)
     @Override
     public void edit(CourseNotesEditParam courseNotesEditParam) {
@@ -119,6 +127,13 @@ public class CourseNotesServiceImpl extends ServiceImpl<CourseNotesMapper, Cours
         this.updateById(courseNotes);
     }
 
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public CourseNotes editOne(CourseNotes courseNotes) {
+        this.updateById(courseNotes);
+        return courseNotes;
+    }
+
     @Transactional(rollbackFor = Exception.class)
     @Override
     public void delete(List<CourseNotesIdParam> courseNotesIdParamList) {

+ 26 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/impl/CourseStudentCollectServiceImpl.java

@@ -75,6 +75,25 @@ public class CourseStudentCollectServiceImpl extends ServiceImpl<CourseStudentCo
         return courseStudentCollect;
     }
 
+    /**
+     * 获取课程-相关关联表-封装列表
+     */
+    @Override
+    public List<CourseStudentCollect> wrapperList(Map param)
+    {
+        QueryWrapper<CourseStudentCollect> queryWrapper = new QueryWrapper<>();
+        if (ObjectUtil.isNotEmpty(param.get("courseId")))
+        {
+            queryWrapper.lambda().eq(CourseStudentCollect::getCourseId, param.get("courseId"));
+        }
+        if (ObjectUtil.isNotEmpty(param.get("userId")))
+        {
+            queryWrapper.lambda().eq(CourseStudentCollect::getUserId, param.get("userId"));
+        }
+
+        return this.list(queryWrapper);
+    }
+
     @Transactional(rollbackFor = Exception.class)
     @Override
     public void edit(CourseStudentCollectEditParam courseStudentCollectEditParam) {
@@ -97,6 +116,13 @@ public class CourseStudentCollectServiceImpl extends ServiceImpl<CourseStudentCo
         this.removeByIds(CollStreamUtil.toList(courseStudentCollectIdParamList, CourseStudentCollectIdParam::getId));
     }
 
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void deleteByIds(List<String> idList)
+    {
+        this.removeByIds(idList);
+    }
+
     @Override
     public CourseStudentCollect detail(CourseStudentCollectIdParam courseStudentCollectIdParam) {
         return this.queryEntity(courseStudentCollectIdParam.getId());