فهرست منبع

如给学期加入是否当前学期,埋点表修改字段,加入班级全量列表等

honorfire 7 ماه پیش
والد
کامیت
509864300f
16فایلهای تغییر یافته به همراه226 افزوده شده و 21 حذف شده
  1. 25 13
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/controller/CourseOpenController.java
  2. 2 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/controller/CourseStudentBurialpointController.java
  3. 16 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/controller/GradesController.java
  4. 1 1
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/domain/CourseOpen.java
  5. 12 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/domain/CourseStudentBurialpoint.java
  6. 7 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/mapper/CourseInfoMapper.java
  7. 67 1
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/mapper/mapping/CourseInfoMapper.xml
  8. 28 2
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/mapper/mapping/CourseOpenMapper.xml
  9. 1 1
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/param/courseopen/CourseOpenAddParam.java
  10. 1 1
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/param/courseopen/CourseOpenEditParam.java
  11. 11 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/param/coursestudentprogress/CourseStudentProgressAddParam.java
  12. 11 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/param/coursestudentprogress/CourseStudentProgressEditParam.java
  13. 7 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/GradesService.java
  14. 3 1
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/impl/CourseInfoServiceImpl.java
  15. 8 1
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/impl/CourseStudentBurialpointServiceImpl.java
  16. 26 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/impl/GradesServiceImpl.java

+ 25 - 13
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/controller/CourseOpenController.java

@@ -12,6 +12,7 @@
  */
 package vip.xiaonuo.disk.controller;
 
+import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.hutool.core.bean.BeanUtil;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
@@ -54,29 +55,37 @@ public class CourseOpenController {
     private CourseOpenService courseOpenService;
 
     /**
-     * 获取课程开课表分页
+     * 课程开课-分页列表
      *
      * @author honorfire
      * @date  2025/08/01 17:48
      */
     @ApiOperationSupport(order = 1)
-    @ApiOperation("获取课程开课表分页")
+    @ApiOperation("课程开课-分页列表")
+    @SaCheckPermission("/disk/courseopen/page")
     @GetMapping("/disk/courseopen/page")
     public CommonResult<Page<Map<String,Object>>> page(CourseOpenPageParam courseOpenPageParam, HttpServletRequest req) {
         Map param =new HashMap();
+        param.put("gradesId", req.getParameter("gradesId"));
+        param.put("courseId", req.getParameter("courseId"));
+        param.put("courseName", req.getParameter("courseName"));
+        param.put("semesterId", req.getParameter("semesterId"));
+        param.put("weekType", req.getParameter("weekType"));
+        param.put("status", req.getParameter("status"));
         Page<Map<String,Object>> list=courseOpenService.queryList(param);
         return CommonResult.data(list);
     }
 
     /**
-     * 添加课程开课表
+     * 课程开课-添加
      *
      * @author honorfire
      * @date  2025/08/01 17:48
      */
     @ApiOperationSupport(order = 2)
-    @ApiOperation("添加课程开课表")
-    @CommonLog("添加课程开课表")
+    @ApiOperation("课程开课-添加")
+    @CommonLog("课程开课-添加")
+    @SaCheckPermission("/disk/courseopen/add")
     @PostMapping("/disk/courseopen/add")
     public CommonResult<String> add(@RequestBody @Valid CourseOpenAddParam courseOpenAddParam) {
         CourseOpen courseOpen = BeanUtil.toBean(courseOpenAddParam, CourseOpen.class);
@@ -85,14 +94,15 @@ public class CourseOpenController {
     }
 
     /**
-     * 编辑课程开课表
+     * 课程开课-编辑
      *
      * @author honorfire
      * @date  2025/08/01 17:48
      */
     @ApiOperationSupport(order = 3)
-    @ApiOperation("编辑课程开课表")
-    @CommonLog("编辑课程开课表")
+    @ApiOperation("课程开课-编辑")
+    @CommonLog("课程开课-编辑")
+    @SaCheckPermission("/disk/courseopen/edit")
     @PostMapping("/disk/courseopen/edit")
     public CommonResult<String> edit(@RequestBody @Valid CourseOpenEditParam courseOpenEditParam) {
         CourseOpen courseOpen = BeanUtil.toBean(courseOpenEditParam, CourseOpen.class);
@@ -101,14 +111,15 @@ public class CourseOpenController {
     }
 
     /**
-     * 删除课程开课表
+     * 课程开课-删除
      *
      * @author honorfire
      * @date  2025/08/01 17:48
      */
     @ApiOperationSupport(order = 4)
-    @ApiOperation("删除课程开课表")
-    @CommonLog("删除课程开课表")
+    @ApiOperation("课程开课-删除")
+    @CommonLog("课程开课-删除")
+    @SaCheckPermission("/disk/courseopen/delete")
     @PostMapping("/disk/courseopen/delete")
     public CommonResult<String> delete(@RequestBody @Valid @NotEmpty(message = "集合不能为空")
                                                    CommonValidList<CourseOpenIdParam> courseOpenIdParamList) {
@@ -117,13 +128,14 @@ public class CourseOpenController {
     }
 
     /**
-     * 获取课程开课表详情
+     * 课程开课-详情
      *
      * @author honorfire
      * @date  2025/08/01 17:48
      */
     @ApiOperationSupport(order = 5)
-    @ApiOperation("获取课程开课表详情")
+    @ApiOperation("课程开课-详情")
+    @SaCheckPermission("/disk/courseopen/detail")
     @GetMapping("/disk/courseopen/detail")
     public CommonResult<Map<String,Object>> detail(@Valid CourseOpenIdParam courseOpenIdParam, HttpServletRequest req) {
         Map param =new HashMap();

+ 2 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/controller/CourseStudentBurialpointController.java

@@ -118,6 +118,8 @@ public class CourseStudentBurialpointController {
         Map param=new HashMap();
         param.put("userId", StpLoginUserUtil.getLoginUser().getId());
         param.put("hourId", req.getParameter("hourId"));
+        param.put("funcType", req.getParameter("funcType"));
+        param.put("type", req.getParameter("type"));
         //是否查询最近一次进度,0否1是
         param.put("isLast", "1");
         List<CourseStudentBurialpoint> alreadyList= courseStudentBurialpointService.wrapperList(param);

+ 16 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/controller/GradesController.java

@@ -25,6 +25,8 @@ import org.springframework.web.bind.annotation.RestController;
 import vip.xiaonuo.common.annotation.CommonLog;
 import vip.xiaonuo.common.pojo.CommonResult;
 import vip.xiaonuo.common.pojo.CommonValidList;
+import vip.xiaonuo.disk.domain.CourseRelate;
+import vip.xiaonuo.disk.domain.Grades;
 import vip.xiaonuo.disk.param.grades.GradesAddParam;
 import vip.xiaonuo.disk.param.grades.GradesEditParam;
 import vip.xiaonuo.disk.param.grades.GradesIdParam;
@@ -35,7 +37,9 @@ import vip.xiaonuo.disk.vo.grades.GradesVo;
 import javax.annotation.Resource;
 import javax.validation.Valid;
 import javax.validation.constraints.NotEmpty;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * grades控制器
@@ -132,4 +136,16 @@ public class GradesController {
         return CommonResult.data(gradesService.queryList(gradesPageParam));
     }
 
+    @ApiOperationSupport(order = 5)
+    @ApiOperation("获取班级-全量列表")
+    @GetMapping("/disk/grades/allList")
+    public CommonResult<List<Grades>> allList(GradesPageParam gradesPageParam) {
+        Map param =new HashMap();
+        param.put("gradesName", gradesPageParam.getGradesName());
+        param.put("collegeId", gradesPageParam.getCollegeId());
+        param.put("majorId", gradesPageParam.getMajorId());
+        List<Grades> list=gradesService.wrapperList(param);
+        return CommonResult.data(list);
+    }
+
 }

+ 1 - 1
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/domain/CourseOpen.java

@@ -57,7 +57,7 @@ public class CourseOpen {
 
     /** 上课时间 */
     @ApiModelProperty(value = "上课时间", position = 7)
-    private Date scheduleTime;
+    private String scheduleTime;
 
     /** 开始节次 */
     @ApiModelProperty(value = "开始节次", position = 8)

+ 12 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/domain/CourseStudentBurialpoint.java

@@ -47,6 +47,14 @@ public class CourseStudentBurialpoint {
     @ApiModelProperty(value = "当前学习进度", position = 4)
     private String progress;
 
+    /** 功能类型 */
+    @ApiModelProperty(value = "功能类型", position = 5)
+    private String funcType;
+
+    /** 功能用途 */
+    @ApiModelProperty(value = "功能用途", position = 5)
+    private String type;
+
     /** 删除标记(NOT_DELETE-未删除) */
     @ApiModelProperty(value = "删除标记(NOT_DELETE-未删除)", position = 5)
     @TableLogic
@@ -80,4 +88,8 @@ public class CourseStudentBurialpoint {
     /** 本次学习视频结束时间(应2025.7.30内部会议要求,将进度和记录存进同一个表) */
     @ApiModelProperty(value = "本次学习视频结束时间", position = 5)
     private String endTime;
+
+    /** 本次停留时间 */
+    @ApiModelProperty(value = "本次停留时间", position = 5)
+    private String stayTime;
 }

+ 7 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/mapper/CourseInfoMapper.java

@@ -34,6 +34,13 @@ public interface CourseInfoMapper extends BaseMapper<CourseInfo> {
 
     /**
      *  课程中心-分页列表(学生端)
+     *  旧,基于课程详情中学生管理,学生和课程关联表来关联,后2025.8.1改用根据开课表关联
+     */
+    Page<Map<String,Object>> queryCoursecentryByRelatePage(@Param("param") Map param, @Param("page") Page<Object> page);
+
+    /**
+     *  课程中心-分页列表(学生端)
+     *  新,2025.8.1改用根据开课表关联对应课程
      */
     Page<Map<String,Object>> queryCoursecentryPage(@Param("param") Map param, @Param("page") Page<Object> page);
 

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

@@ -117,7 +117,7 @@
             and ci.COURSE_ID=#{courseId}
         </if>
     </select>
-    <select id="queryCoursecentryPage" resultType="java.util.Map">
+    <select id="queryCoursecentryByRelatePage" resultType="java.util.Map">
         select
             ci.COURSE_ID as courseId,
             IFNULL(ci.COURSE_NAME,'') as courseName,
@@ -216,4 +216,70 @@
             and ci.COURSE_ID=#{courseId}
         </if>
     </select>
+    <select id="queryCoursecentryPage" resultType="java.util.Map">
+        select
+            ci.COURSE_ID as courseId,
+            IFNULL(ci.COURSE_NAME,'') as courseName,
+            IFNULL(ci.COURSE_TYPE,'') as courseType,
+            IFNULL(( SELECT dd1.DICT_LABEL FROM (SELECT d1.DICT_LABEL,d1.DICT_VALUE  FROM  DEV_DICT d1 WHERE PARENT_ID = (SELECT d2.ID  FROM  DEV_DICT d2 WHERE d2.DICT_VALUE='COURSE_TYPE') )dd1 WHERE dd1.DICT_VALUE = TRIM(ci.COURSE_TYPE) ),'') AS courseTypeName,
+            IFNULL(ci.TEACHER_ID,'') as teacherId,
+            IFNULL(su.NAME,'') AS teacherIdName,
+            IFNULL(ci.MAJOR_ID,'') AS majorId,
+            IFNULL(ma.major_name,'') AS majorIdName,
+            IFNULL(ci.PUBLISH_TIME,'') as publishTime,
+            IFNULL(ci.COVER_IMAGE_ID,'') as coverImageId,
+            IFNULL (CAST(df.DOWNLOAD_PATH AS VARCHAR),'') AS coverImagePath,
+            IFNULL(ci.TIME_LIMIT_TYPE,'') as timeLimitType,
+            IFNULL(ci.START_TIME,'') as startTime,
+            IFNULL(ci.END_TIME,'') as endTime,
+            IFNULL(ci.SEMESTER_ID ,'') as semesterId,
+            IFNULL(s.NAME ,'') as semesterIdName,
+            IFNULL(ci.VIEW_COUNT ,'') as viewCount
+        FROM COURSE_INFO ci
+        LEFT JOIN COURSE_OPEN cop ON ci.COURSE_ID =cop.COURSE_ID AND cop.DELETE_FLAG='NOT_DELETE'
+        LEFT JOIN SYS_USER stu ON stu.GRADES_ID =cop.GRADES_ID AND stu.DELETE_FLAG='NOT_DELETE'
+        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'
+        LEFT JOIN SYS_ORG co2 ON ci.COLLEGE_TWO_ID=co2.Id AND co2.DELETE_FLAG ='NOT_DELETE'
+        LEFT JOIN SYS_ORG co3 ON ci.COLLEGE_THREE_ID=co3.Id AND co3.DELETE_FLAG ='NOT_DELETE'
+        LEFT JOIN major ma ON ci.MAJOR_ID=ma.id AND ma.DELETE_FLAG ='NOT_DELETE'
+        LEFT JOIN SEMESTER s ON s.ID =ci.SEMESTER_ID AND s.DELETE_FLAG ='NOT_DELETE'
+        LEFT JOIN SYS_USER su ON su.ID=ci.TEACHER_ID AND su.DELETE_FLAG ='NOT_DELETE'
+        WHERE ci.DELETE_FLAG ='NOT_DELETE'
+        <if test="param.userId !=null and param.userId != ''">
+            and stu.ID=#{param.userId}
+        </if>
+        <if test="param.collegeId !=null and param.collegeId != ''">
+            and ci.COLLEGE_ID=#{param.collegeId}
+        </if>
+        <if test="param.collegeTwoId!=null and param.collegeTwoId != ''">
+            and ci.COLLEGE_TWO_ID=#{param.collegeTwoId}
+        </if>
+        <if test="param.collegeThreeId!=null and param.collegeThreeId != ''">
+            and ci.COLLEGE_THREE_ID=#{param.collegeThreeId}
+        </if>
+        <if test="param.majorId !=null and param.majorId != ''">
+            and ci.MAJOR_ID=#{param.majorId}
+        </if>
+        <if test="param.courseType !=null and param.courseType != ''">
+            and ci.COURSE_TYPE=#{param.courseType}
+        </if>
+        <if test="param.courseName !=null and param.courseName != ''">
+            and ci.COURSE_NAME=#{param.courseName}
+        </if>
+        <if test="param.beginTime != null and param.beginTime != ''">
+            AND ci.PUBLISH_TIME &gt;= #{param.beginTime}
+        </if>
+        <if test="param.endTime != null and param.endTime != ''">
+            AND ci.PUBLISH_TIME &lt;= #{param.endTime}
+        </if>
+        <if test="param.sortflag !=null and param.sortflag != ''">
+            <if test=" param.sortflag == 0">
+                order by ci.CREATE_TIME desc
+            </if>
+            <if test=" param.sortflag == 1">
+                order by ci.VIEW_COUNT desc
+            </if>
+        </if>
+    </select>
 </mapper>

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

@@ -6,6 +6,7 @@
         SELECT
             co.ID AS id,
             IFNULL(co.TEACHER_ID ,'') AS teacherid,
+            IFNULL(su.NAME,'') AS teacherIdName,
             IFNULL(co.GRADES_ID ,'') AS gradesId,
             IFNULL (gr.grades_name,'') AS gradesIdName,
             IFNULL(co.COURSE_ID ,'') AS courseId,
@@ -14,23 +15,44 @@
             IFNULL(s.NAME ,'') as semesterIdName,
             IFNULL(co.ROOM ,'') AS room,
             IFNULL(co.SCHEDULE_TIME ,'') AS scheduleTime,
+            IFNULL(( SELECT dd1.DICT_LABEL FROM (SELECT d1.DICT_LABEL,d1.DICT_VALUE  FROM  DEV_DICT d1 WHERE PARENT_ID = (SELECT d2.ID  FROM  DEV_DICT d2 WHERE d2.DICT_VALUE='COURSE_OPEN_SCHEDULE_TIME') )dd1 WHERE dd1.DICT_VALUE = TRIM(co.SCHEDULE_TIME) ),'') AS scheduleTimeName,
             IFNULL(co.START_PERIOD ,'') AS startPeriod,
             IFNULL(co.END_PERIOD ,'') AS endPeriod,
             IFNULL(co.WEEK_TYPE ,'') AS weekType,
             IFNULL(( SELECT dd1.DICT_LABEL FROM (SELECT d1.DICT_LABEL,d1.DICT_VALUE  FROM  DEV_DICT d1 WHERE PARENT_ID = (SELECT d2.ID  FROM  DEV_DICT d2 WHERE d2.DICT_VALUE='COURSE_OPEN_WEEK_TYPE') )dd1 WHERE dd1.DICT_VALUE = TRIM(co.WEEK_TYPE) ),'') AS weekTypeName,
             IFNULL(co.STATUS ,'') AS status,
-            IFNULL(( SELECT dd1.DICT_LABEL FROM (SELECT d1.DICT_LABEL,d1.DICT_VALUE  FROM  DEV_DICT d1 WHERE PARENT_ID = (SELECT d2.ID  FROM  DEV_DICT d2 WHERE d2.DICT_VALUE='COURSE_OPEN_STATUS') )dd1 WHERE dd1.DICT_VALUE = TRIM(co.STATUS) ),'') AS weekTypeName
+            IFNULL(( SELECT dd1.DICT_LABEL FROM (SELECT d1.DICT_LABEL,d1.DICT_VALUE  FROM  DEV_DICT d1 WHERE PARENT_ID = (SELECT d2.ID  FROM  DEV_DICT d2 WHERE d2.DICT_VALUE='COURSE_OPEN_STATUS') )dd1 WHERE dd1.DICT_VALUE = TRIM(co.STATUS) ),'') AS statusName
         FROM COURSE_OPEN co
         LEFT JOIN SYS_USER su ON co.TEACHER_ID =su.ID AND su.DELETE_FLAG ='NOT_DELETE'
         LEFT JOIN COURSE_INFO ci ON ci.COURSE_ID = co.COURSE_ID AND ci.DELETE_FLAG ='NOT_DELETE'
         LEFT JOIN grades gr ON co.GRADES_ID =gr.grades_id  AND gr.DELETE_FLAG ='NOT_DELETE'
         LEFT JOIN SEMESTER s ON s.ID =co.SEMESTER_ID AND s.DELETE_FLAG ='NOT_DELETE'
         WHERE co.DELETE_FLAG ='NOT_DELETE'
+        <if test="param.gradesId !=null and param.gradesId != ''">
+            and co.GRADES_ID=#{param.gradesId}
+        </if>
+        <if test="param.courseId !=null and param.courseId != ''">
+            and co.COURSE_ID=#{param.courseId}
+        </if>
+        <if test="param.courseName !=null and param.courseName != ''">
+            and ci.COURSE_NAME like CONCAT('%', #{param.courseName}, '%')
+        </if>
+        <if test="param.semesterId !=null and param.semesterId != ''">
+            and co.SEMESTER_ID=#{param.semesterId}
+        </if>
+        <if test="param.weekType !=null and param.weekType != ''">
+            and co.WEEK_TYPE=#{param.weekType}
+        </if>
+        <if test="param.status !=null and param.status != ''">
+            and co.STATUS=#{param.status}
+        </if>
+        order by co.CREATE_TIME desc
     </select>
     <select id="queryInfo" resultType="java.util.Map">
         SELECT
             co.ID AS id,
             IFNULL(co.TEACHER_ID ,'') AS teacherid,
+            IFNULL(su.NAME,'') AS teacherIdName,
             IFNULL(co.GRADES_ID ,'') AS gradesId,
             IFNULL (gr.grades_name,'') AS gradesIdName,
             IFNULL(co.COURSE_ID ,'') AS courseId,
@@ -39,18 +61,22 @@
             IFNULL(s.NAME ,'') as semesterIdName,
             IFNULL(co.ROOM ,'') AS room,
             IFNULL(co.SCHEDULE_TIME ,'') AS scheduleTime,
+            IFNULL(( SELECT dd1.DICT_LABEL FROM (SELECT d1.DICT_LABEL,d1.DICT_VALUE  FROM  DEV_DICT d1 WHERE PARENT_ID = (SELECT d2.ID  FROM  DEV_DICT d2 WHERE d2.DICT_VALUE='COURSE_OPEN_SCHEDULE_TIME') )dd1 WHERE dd1.DICT_VALUE = TRIM(co.SCHEDULE_TIME) ),'') AS scheduleTimeName,
             IFNULL(co.START_PERIOD ,'') AS startPeriod,
             IFNULL(co.END_PERIOD ,'') AS endPeriod,
             IFNULL(co.WEEK_TYPE ,'') AS weekType,
             IFNULL(( SELECT dd1.DICT_LABEL FROM (SELECT d1.DICT_LABEL,d1.DICT_VALUE  FROM  DEV_DICT d1 WHERE PARENT_ID = (SELECT d2.ID  FROM  DEV_DICT d2 WHERE d2.DICT_VALUE='COURSE_OPEN_WEEK_TYPE') )dd1 WHERE dd1.DICT_VALUE = TRIM(co.WEEK_TYPE) ),'') AS weekTypeName,
             IFNULL(co.STATUS ,'') AS status,
-            IFNULL(( SELECT dd1.DICT_LABEL FROM (SELECT d1.DICT_LABEL,d1.DICT_VALUE  FROM  DEV_DICT d1 WHERE PARENT_ID = (SELECT d2.ID  FROM  DEV_DICT d2 WHERE d2.DICT_VALUE='COURSE_OPEN_STATUS') )dd1 WHERE dd1.DICT_VALUE = TRIM(co.STATUS) ),'') AS weekTypeName
+            IFNULL(( SELECT dd1.DICT_LABEL FROM (SELECT d1.DICT_LABEL,d1.DICT_VALUE  FROM  DEV_DICT d1 WHERE PARENT_ID = (SELECT d2.ID  FROM  DEV_DICT d2 WHERE d2.DICT_VALUE='COURSE_OPEN_STATUS') )dd1 WHERE dd1.DICT_VALUE = TRIM(co.STATUS) ),'') AS statusName
         FROM COURSE_OPEN co
         LEFT JOIN SYS_USER su ON co.TEACHER_ID =su.ID AND su.DELETE_FLAG ='NOT_DELETE'
         LEFT JOIN COURSE_INFO ci ON ci.COURSE_ID = co.COURSE_ID AND ci.DELETE_FLAG ='NOT_DELETE'
         LEFT JOIN grades gr ON co.GRADES_ID =gr.grades_id  AND gr.DELETE_FLAG ='NOT_DELETE'
         LEFT JOIN SEMESTER s ON s.ID =co.SEMESTER_ID AND s.DELETE_FLAG ='NOT_DELETE'
         WHERE co.DELETE_FLAG ='NOT_DELETE'
+        <if test="id!=null and id != ''">
+            and co.ID = #{id}
+        </if>
     </select>
 
 

+ 1 - 1
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/param/courseopen/CourseOpenAddParam.java

@@ -50,7 +50,7 @@ public class CourseOpenAddParam {
 
     /** 上课时间 */
     @ApiModelProperty(value = "上课时间", position = 7)
-    private Date scheduleTime;
+    private String scheduleTime;
 
     /** 开始节次 */
     @ApiModelProperty(value = "开始节次", position = 8)

+ 1 - 1
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/param/courseopen/CourseOpenEditParam.java

@@ -56,7 +56,7 @@ public class CourseOpenEditParam {
 
     /** 上课时间 */
     @ApiModelProperty(value = "上课时间", position = 7)
-    private Date scheduleTime;
+    private String scheduleTime;
 
     /** 开始节次 */
     @ApiModelProperty(value = "开始节次", position = 8)

+ 11 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/param/coursestudentprogress/CourseStudentProgressAddParam.java

@@ -54,6 +54,17 @@ public class CourseStudentProgressAddParam {
     @ApiModelProperty(value = "本次学习视频结束时间", position = 5)
     private String endTime;
 
+    /** 功能类型 */
+    @ApiModelProperty(value = "功能类型", position = 5)
+    private String funcType;
+
+    /** 功能用途 */
+    @ApiModelProperty(value = "功能用途", position = 5)
+    private String type;
+
+    /** 本次停留时间 */
+    @ApiModelProperty(value = "本次停留时间", position = 5)
+    private String stayTime;
 
 
 }

+ 11 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/param/coursestudentprogress/CourseStudentProgressEditParam.java

@@ -48,6 +48,14 @@ public class CourseStudentProgressEditParam {
     @ApiModelProperty(value = "当前学习进度", position = 4)
     private String progress;
 
+    /** 功能类型 */
+    @ApiModelProperty(value = "功能类型", position = 5)
+    private String funcType;
+
+    /** 功能用途 */
+    @ApiModelProperty(value = "功能用途", position = 5)
+    private String type;
+
     /** 本次学习视频开始时间(应2025.7.30内部会议要求,将进度和记录存进同一个表) */
     @ApiModelProperty(value = "本次学习视频开始时间", position = 4)
     private String startTime;
@@ -56,6 +64,9 @@ public class CourseStudentProgressEditParam {
     @ApiModelProperty(value = "本次学习视频结束时间", position = 5)
     private String endTime;
 
+    /** 本次停留时间 */
+    @ApiModelProperty(value = "本次停留时间", position = 5)
+    private String stayTime;
 
 
 }

+ 7 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/GradesService.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.Grades;
 import vip.xiaonuo.disk.param.grades.GradesAddParam;
 import vip.xiaonuo.disk.param.grades.GradesEditParam;
@@ -22,6 +23,7 @@ import vip.xiaonuo.disk.param.grades.GradesPageParam;
 import vip.xiaonuo.disk.vo.grades.GradesVo;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * gradesService接口
@@ -47,6 +49,11 @@ public interface GradesService extends IService<Grades> {
      */
     void add(GradesAddParam gradesAddParam);
 
+    /**
+     * 获取班级-封装列表
+     */
+    List<Grades> wrapperList(Map param);
+
     /**
      * 编辑grades
      *

+ 3 - 1
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/impl/CourseInfoServiceImpl.java

@@ -120,7 +120,9 @@ public class CourseInfoServiceImpl extends ServiceImpl<CourseInfoMapper, CourseI
     @Override
     public Page<Map<String,Object>> queryCoursecentryPage(Map param)
     {
-        return courseInfoMapper.queryCoursecentryPage(param,CommonPageRequest.defaultPage());
+//        Page<Map<String,Object>> page=courseInfoMapper.queryCoursecentryByRelatePage(param,CommonPageRequest.defaultPage());;
+        Page<Map<String,Object>> page=courseInfoMapper.queryCoursecentryPage(param,CommonPageRequest.defaultPage());;
+        return page;
     }
 
     /**

+ 8 - 1
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/impl/CourseStudentBurialpointServiceImpl.java

@@ -83,7 +83,14 @@ public class CourseStudentBurialpointServiceImpl extends ServiceImpl<CourseStude
                 queryWrapper.lambda().orderByDesc(CourseStudentBurialpoint::getCreateTime);
             }
         }
-
+        if(ObjectUtil.isNotEmpty(param.get("type")))
+        {
+            queryWrapper.lambda().eq(CourseStudentBurialpoint::getType, param.get("type"));
+        }
+        if(ObjectUtil.isNotEmpty(param.get("funcType")))
+        {
+            queryWrapper.lambda().eq(CourseStudentBurialpoint::getFuncType, param.get("funcType"));
+        }
 
         return this.list(queryWrapper);
     }

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

@@ -15,12 +15,14 @@ package vip.xiaonuo.disk.service.impl;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollStreamUtil;
 import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import vip.xiaonuo.common.exception.CommonException;
 import vip.xiaonuo.common.page.CommonPageRequest;
+import vip.xiaonuo.disk.domain.CourseRelate;
 import vip.xiaonuo.disk.domain.Grades;
 import vip.xiaonuo.disk.mapper.GradesMapper;
 import vip.xiaonuo.disk.param.grades.GradesAddParam;
@@ -32,6 +34,7 @@ import vip.xiaonuo.disk.vo.grades.GradesVo;
 
 import javax.annotation.Resource;
 import java.util.List;
+import java.util.Map;
 
 /**
  * gradesService接口实现类
@@ -49,6 +52,29 @@ public class GradesServiceImpl extends ServiceImpl<GradesMapper, Grades> impleme
         return gradesMapper.page(CommonPageRequest.defaultPage(), gradesPageParam);
     }
 
+    @Override
+    public List<Grades> wrapperList(Map param){
+        QueryWrapper<Grades> queryWrapper = new QueryWrapper<>();
+        if(ObjectUtil.isNotEmpty(param.get("gradesId")))
+        {
+            queryWrapper.lambda().eq(Grades::getGradesId, param.get("gradesId"));
+        }
+        if(ObjectUtil.isNotEmpty(param.get("gradesName")))
+        {
+            queryWrapper.lambda().eq(Grades::getGradesName, param.get("gradesName"));
+        }
+        if(ObjectUtil.isNotEmpty(param.get("collegeId")))
+        {
+            queryWrapper.lambda().eq(Grades::getCollegeId, param.get("collegeId"));
+        }
+        if(ObjectUtil.isNotEmpty(param.get("majorId")))
+        {
+            queryWrapper.lambda().eq(Grades::getMajorId, param.get("majorId"));
+        }
+
+        return this.list(queryWrapper);
+    }
+
     @Transactional(rollbackFor = Exception.class)
     @Override
     public void add(GradesAddParam gradesAddParam) {