Bladeren bron

1.完善学习足迹统计
2.资源评价加头像

honorfire 6 maanden geleden
bovenliggende
commit
406ec33e52

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

@@ -65,6 +65,22 @@ public class StatisticsLearningProgressController {
         return CommonResult.data(result);
     }
 
+    /**
+     * 学习进度-练习平均提交数
+     *
+     * @author pans
+     * @date  2025/07/11 18:52
+     */
+    @ApiOperationSupport(order = 1)
+    @ApiOperation("学习进度-练习平均提交数")
+    @GetMapping("/disk/learningprogress/paperSubmeitTendency")
+    public CommonResult<Map<String,Object>> paperSubmeitTendency( HttpServletRequest req) {
+        Map param =new HashMap();
+        param.put("courseId", req.getParameter("courseId"));
+        Map<String,Object> result=statisticsLearningProgressService.paperSubmeitTendency(param);
+        return CommonResult.data(result);
+    }
+
     /**
      * 学习进度-学习明细数据
      *

+ 10 - 5
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/mapper/StatisticsLearningProgressMapper.java

@@ -10,30 +10,35 @@ import java.util.Map;
 public interface StatisticsLearningProgressMapper {
 
     /**
-     * 课程信息-顶部基本数据-开课人数
+     * 学习进度-顶部基本数据-开课人数
      */
     String getCourseOpenStuNum(Map param);
 
     /**
-     * 课程信息-顶部基本数据-课程访问次数
+     * 学习进度-顶部基本数据-课程访问次数
      */
     String getCourseViewNum(Map param);
 
     /**
-     * 课程信息-顶部基本数据-作业测验提交数
+     * 学习进度-顶部基本数据-作业测验提交数
      */
     String getPaperSubmitNum(Map param);
 
     /**
-     * 课程信息-顶部基本数据-互动数
+     * 学习进度-顶部基本数据-互动数
      */
     String getInteractionNum(Map param);
 
     /**
-     * 课程信息-访问人数趋势
+     * 学习进度-访问人数趋势
      */
     String getViewTendencyNum(Map param);
 
+    /**
+     * 学习进度-练习平均提交数
+     */
+    String paperSubmeitTendency(Map param);
+
     /**
      * 学习进度-学习明细数据
      */

+ 30 - 3
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/mapper/mapping/StatisticsLearningProgressMapper.xml

@@ -57,7 +57,7 @@
 
     <select id="getCourseOpenStuNum" resultType="java.lang.String">
         SELECT
-            count(DISTINCT stu.ID) AS num
+            IFNULL(count(DISTINCT stu.ID),0) AS courseOpenStuNum
         FROM COURSE_OPEN cop
         LEFT JOIN COURSE_INFO ci ON ci.COURSE_ID =cop.COURSE_ID AND ci.DELETE_FLAG='NOT_DELETE'
         LEFT JOIN SYS_USER stu ON stu.GRADES_ID =cop.GRADES_ID AND stu.DELETE_FLAG='NOT_DELETE'
@@ -65,16 +65,17 @@
     </select>
     <select id="getCourseViewNum" resultType="java.lang.String">
         SELECT
-            sum(ci.VIEW_COUNT) AS num
+            IFNULL(sum(ci.VIEW_COUNT),0) AS courseViewNum
         FROM COURSE_INFO ci
         WHERE ci.DELETE_FLAG ='NOT_DELETE'
     </select>
     <select id="getViewTendencyNum" resultType="java.lang.String">
         SELECT
-            DISTINCT csb.USER_ID
+            IFNULL(count(DISTINCT csb.USER_ID),0) as viewTendencyNum
         FROM COURSE_STUDENT_BURIALPOINT csb
         LEFT JOIN COURSE_CLASSHOUR cch ON cch.ID=csb.HOUR_ID AND cch.DELETE_FLAG ='NOT_DELETE'
         LEFT JOIN COURSE_CHAPTER cc ON cc.ID=cch.CHAPTER_ID AND cc.DELETE_FLAG ='NOT_DELETE'
+        LEFT JOIN COURSE_INFO ci ON ci.COURSE_ID =cc.COURSE_ID AND ci.DELETE_FLAG ='NOT_DELETE'
         WHERE csb.DELETE_FLAG ='NOT_DELETE'
           AND csb.FUNC_TYPE='1'
           AND csb.TYPE='1'
@@ -83,5 +84,31 @@
             and cc.COURSE_ID=#{courseId}
         </if>
     </select>
+    <select id="getPaperSubmitNum" resultType="java.lang.String">
+        SELECT
+            count(tepa.id) AS paperSubmitNum
+        FROM "t_exam_paper_answer" tepa
+        LEFT JOIN "t_exam_paper" tep ON tepa.exam_paper_id=tep.id AND tep.deleted='0'
+        LEFT JOIN COURSE_RELATE cr ON cr.RELATE_ID=CAST(tep.id AS VARCHAR) AND cr.DELETE_FLAG ='NOT_DELETE' AND cr.CHAPTERHOUR_TYPE='1' AND cr.INFO_TYPE='0' AND (cr.FUNC_TYPE='4' OR cr.FUNC_TYPE='5')
+        LEFT JOIN COURSE_CLASSHOUR cch ON cr.MAIN_ID=cch.ID AND cch.DELETE_FLAG ='NOT_DELETE'
+        LEFT JOIN COURSE_CHAPTER cc ON cch.CHAPTER_ID=cc.ID AND cc.DELETE_FLAG ='NOT_DELETE'
+        LEFT JOIN COURSE_INFO ci ON ci.COURSE_ID =cc.COURSE_ID AND ci.DELETE_FLAG ='NOT_DELETE'
+        WHERE (tep.id IS NOT NULL AND cch.ID IS NOT NULL AND ci.COURSE_ID IS NOT NULL)
+    </select>
+    <select id="paperSubmeitTendency" resultType="java.lang.String">
+        SELECT
+            count(tepa.id) AS paperSubmitNum
+        FROM "t_exam_paper_answer" tepa
+        LEFT JOIN "t_exam_paper" tep ON tepa.exam_paper_id=tep.id AND tep.deleted='0'
+        LEFT JOIN COURSE_RELATE cr ON cr.RELATE_ID=CAST(tep.id AS VARCHAR) AND cr.DELETE_FLAG ='NOT_DELETE' AND cr.CHAPTERHOUR_TYPE='1' AND cr.INFO_TYPE='0' AND (cr.FUNC_TYPE='4' OR cr.FUNC_TYPE='5')
+        LEFT JOIN COURSE_CLASSHOUR cch ON cr.MAIN_ID=cch.ID AND cch.DELETE_FLAG ='NOT_DELETE'
+        LEFT JOIN COURSE_CHAPTER cc ON cch.CHAPTER_ID=cc.ID AND cc.DELETE_FLAG ='NOT_DELETE'
+        LEFT JOIN COURSE_INFO ci ON ci.COURSE_ID =cc.COURSE_ID AND ci.DELETE_FLAG ='NOT_DELETE'
+        WHERE (tep.id IS NOT NULL AND cch.ID IS NOT NULL AND ci.COURSE_ID IS NOT NULL)
+        AND TO_CHAR(tepa.create_time, 'YYYY-MM') =#{month}
+        <if test="courseId!=null and courseId != ''">
+            and ci.COURSE_ID=#{courseId}
+        </if>
+    </select>
 
 </mapper>

+ 6 - 3
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/mapper/mapping/UserCommentMapper.xml

@@ -11,7 +11,8 @@
             a.comment_time,
             ifnull(a.give_num,0) giveNum,
             (SELECT count(1) FROM  user_comment_give WHERE comment_id=a.id AND user_id=#{userId} and  delete_flag='NOT_DELETE') giveNumSelf,
-            b.name  userName
+            b.name  userName,
+            IFNULL (CAST(b.AVATAR AS VARCHAR),'') as avatar
         FROM
             user_comment a LEFT JOIN  sys_user b ON a. user_id=b.id
         WHERE
@@ -30,7 +31,8 @@
             a.comment_time,
             a.give_num giveNum,
             (SELECT count(1) FROM  user_comment_give WHERE comment_id=a.id AND user_id=#{userId} and  delete_flag='NOT_DELETE') giveNumSelf,
-            b.name  userName
+            b.name  userName,
+            IFNULL (CAST(b.AVATAR AS VARCHAR),'') as avatar
         FROM
             user_comment a LEFT JOIN  sys_user b ON a. user_id=b.id
         WHERE
@@ -53,7 +55,8 @@
             a.comment_time,
             ifnull(a.give_num,0) giveNum,
             (SELECT count(1) FROM  user_comment_give WHERE comment_id=a.id AND user_id=#{userId} and  delete_flag='NOT_DELETE') giveNumSelf,
-            b.name  userName
+            b.name  userName,
+            IFNULL (CAST(b.AVATAR AS VARCHAR),'') as avatar
         FROM
             user_comment a LEFT JOIN  sys_user b ON a. user_id=b.id
         WHERE

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

@@ -24,6 +24,11 @@ public interface StatisticsLearningProgressService {
      */
     Map<String,Object> viewTendency(Map param);
 
+    /**
+     *  学习进度-练习平均提交数
+     */
+    Map<String,Object> paperSubmeitTendency(Map param);
+
     /**
      *  学习进度-学习明细数据
      */

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

@@ -30,7 +30,7 @@ public class StatisticsLearningProgressServiceImpl implements StatisticsLearning
         String interactionNum=statisticsLearningProgressMapper.getInteractionNum(param);
         result.put("courseOpenStuNum",courseOpenStuNum);
         result.put("courseViewNum",courseViewNum);
-//        result.put("paperSubmitNum",paperSubmitNum);
+        result.put("paperSubmitNum",paperSubmitNum);
 //        result.put("interactionNum",interactionNum);
         return result;
     }
@@ -56,6 +56,27 @@ public class StatisticsLearningProgressServiceImpl implements StatisticsLearning
         return result;
     }
 
+    /**
+     *  学习进度-练习平均提交数
+     */
+    @Override
+    public Map<String,Object> paperSubmeitTendency(Map param)
+    {
+        Map result=new HashMap();
+        String courseId=null;
+        if(ObjectUtil.isNotEmpty(param.get("courseId")))courseId=param.get("courseId").toString();
+        List<String> months = getLastSevenMonths(param.get("month").toString());
+        for(String  month:months)
+        {
+            Map viewTendencyParam =new HashMap();
+            viewTendencyParam.put("month",month);
+            viewTendencyParam.put("courseId",courseId);
+            String SubmeitTendency=statisticsLearningProgressMapper.paperSubmeitTendency(param);
+            result.put(month,SubmeitTendency);
+        }
+        return result;
+    }
+
     /**
      *  学习进度-学习明细数据
      */