Bläddra i källkod

知识点统计代码提交

pans 6 månader sedan
förälder
incheckning
51d3a05e24

+ 34 - 4
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/controller/CourseChapterKnowledgeController.java

@@ -19,10 +19,7 @@ import com.github.xiaoymin.knife4j.annotations.ApiSupport;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 import vip.xiaonuo.common.annotation.CommonLog;
 import vip.xiaonuo.common.pojo.CommonResult;
 import vip.xiaonuo.common.pojo.CommonValidList;
@@ -36,6 +33,8 @@ import vip.xiaonuo.disk.service.CourseChapterKnowledgeService;
 import javax.annotation.Resource;
 import javax.validation.Valid;
 import javax.validation.constraints.NotEmpty;
+import java.util.List;
+import java.util.Map;
 
 /**
  * COURSE_CHAPTER_KNOWLEDGE控制器
@@ -129,4 +128,35 @@ public class CourseChapterKnowledgeController {
         return CommonResult.data(courseChapterKnowledgeService.detail(courseChapterKnowledgeIdParam));
     }
 
+
+
+    /**
+     * 根据课程id查询每个知识点的学习人数
+     *
+     * @author pans
+     * @date  2025/08/04 17:14
+     */
+    @ApiOperationSupport(order = 5)
+    @ApiOperation("获取COURSE_CHAPTER_KNOWLEDGE详情")
+    @GetMapping("/disk/chapterknowledge/selectKnowledgeByCourseId")
+    public CommonResult<List<Map<String,Object>>> selectKnowledgeByCourseId(@RequestParam(name = "courseId", required = true) String courseId) {
+        return CommonResult.data(courseChapterKnowledgeService.selectKnowledgeByCourseId(courseId));
+    }
+
+
+
+    /**
+     * 根据课程id和知识点查询每个知识点的学习人数列表
+     *
+     * @author pans
+     * @date  2025/08/04 17:14
+     */
+    @ApiOperationSupport(order = 5)
+    @ApiOperation("获取COURSE_CHAPTER_KNOWLEDGE详情")
+    @GetMapping("/disk/chapterknowledge/selectKnowledgeListByCourseId")
+    public CommonResult<List<Map<String,Object>>> selectKnowledgeListByCourseId(@RequestParam(name = "courseId", required = true) String courseId,@RequestParam(name = "knowledgeId", required = true) String knowledgeId) {
+        return CommonResult.data(courseChapterKnowledgeService.selectKnowledgeListByCourseId(courseId,knowledgeId));
+    }
+
+
 }

+ 5 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/mapper/CourseChapterKnowledgeMapper.java

@@ -17,6 +17,7 @@ import org.apache.ibatis.annotations.Param;
 import vip.xiaonuo.disk.domain.CourseChapterKnowledge;
 
 import java.util.List;
+import java.util.Map;
 
 
 /**
@@ -27,4 +28,8 @@ import java.util.List;
  **/
 public interface CourseChapterKnowledgeMapper extends BaseMapper<CourseChapterKnowledge> {
     List<String> selectknowledge(@Param("courseId")String courseId, @Param("chapterId") String chapterId,@Param("hourId") String hourId);
+
+    List<Map<String, Object>> selectKnowledgeByCourseId(String courseId);
+
+    List<Map<String, Object>> selectKnowledgeListByCourseId(@Param("courseId") String courseId, @Param("knowledgeId") String knowledgeId);
 }

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

@@ -12,5 +12,42 @@
             AND CHAPTER_ID = #{chapterId}
             AND HOUR_ID = #{hourId}
       </select>
-
+      <select id="selectKnowledgeByCourseId" resultType="map">
+          SELECT
+              b.KNOWLEDGE_ID knowledgeId,
+              c.DICT_LABEL knowledgeName,
+              count(DISTINCT a.USER_ID) num
+          FROM
+              COURSE_STUDENT_BURIALPOINT a
+          LEFT JOIN COURSE_CHAPTER_KNOWLEDGE b ON  a.COURSE_ID = b.COURSE_ID  AND a.CHAPTER_ID = b.CHAPTER_ID AND a.HOUR_ID = b.HOUR_ID
+          LEFT JOIN DEV_DICT c ON c.DICT_VALUE = b.KNOWLEDGE_ID
+          WHERE a.COURSE_ID =#{courseId}
+          GROUP BY b.KNOWLEDGE_ID,c.DICT_LABEL
+      </select>
+    <select id="selectKnowledgeListByCourseId" resultType="map">
+        SELECT
+            su.NAME  name,
+            su.STUDENT_NUM studentNum,
+            m.major_name majorName,
+            g.grades_name gradesName,
+            b.KNOWLEDGE_ID,
+            c.DICT_LABEL ,
+            a.COURSE_NAME courseName,
+            a.CHAPTER_NAME chapterName,
+            a.HOUR_NAME hourName,
+            a.FILE_NAME fileName,
+            a.FILE_PATH filePath,
+            a.CREATE_TIME createTime,
+            a.CREATE_USER createUser
+        FROM
+            COURSE_STUDENT_BURIALPOINT a
+        LEFT JOIN COURSE_CHAPTER_KNOWLEDGE b ON  a.COURSE_ID = b.COURSE_ID
+        AND a.CHAPTER_ID = b.CHAPTER_ID
+        AND a.HOUR_ID = b.HOUR_ID
+        LEFT JOIN DEV_DICT c ON c.DICT_VALUE = b.KNOWLEDGE_ID
+        LEFT JOIN SYS_USER su ON a.CREATE_USER =su.ID
+        LEFT JOIN "grades" g ON su.GRADES_ID =g."grades_id"
+        LEFT JOIN "major" m ON su.MAJOR_ID =m.id
+        WHERE a.COURSE_ID =#{courseId} AND  b.KNOWLEDGE_ID=#{knowledgeId}
+    </select>
 </mapper>

+ 5 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/CourseChapterKnowledgeService.java

@@ -21,6 +21,7 @@ import vip.xiaonuo.disk.param.konwledge.CourseChapterKnowledgeIdParam;
 import vip.xiaonuo.disk.param.konwledge.CourseChapterKnowledgePageParam;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * COURSE_CHAPTER_KNOWLEDGEService接口
@@ -79,4 +80,8 @@ public interface CourseChapterKnowledgeService extends IService<CourseChapterKno
     CourseChapterKnowledge queryEntity(String id);
 
     List<String> selectknowledge(String courseId, String chapterId,String hourId);
+
+    List<Map<String, Object>> selectKnowledgeByCourseId(String courseId);
+
+    List<Map<String, Object>> selectKnowledgeListByCourseId(String courseId, String knowledgeId);
 }

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

@@ -34,6 +34,7 @@ import vip.xiaonuo.disk.service.CourseChapterKnowledgeService;
 
 import javax.annotation.Resource;
 import java.util.List;
+import java.util.Map;
 
 /**
  * COURSE_CHAPTER_KNOWLEDGEService接口实现类
@@ -99,4 +100,14 @@ public class CourseChapterKnowledgeServiceImpl extends ServiceImpl<CourseChapter
         return courseChapterKnowledgeMapper.selectknowledge(courseId,chapterId,hourId);
     }
 
+    @Override
+    public List<Map<String, Object>> selectKnowledgeByCourseId(String courseId) {
+        return courseChapterKnowledgeMapper.selectKnowledgeByCourseId(courseId);
+    }
+
+    @Override
+    public List<Map<String, Object>> selectKnowledgeListByCourseId(String courseId, String knowledgeId) {
+        return courseChapterKnowledgeMapper.selectKnowledgeListByCourseId(courseId,knowledgeId);
+    }
+
 }