Bläddra i källkod

fix: 数值显示问题

xdd 2 månader sedan
förälder
incheckning
873345cd82

+ 1 - 1
fs-admin/src/main/java/com/fs/task/FsCourseTask.java

@@ -36,7 +36,7 @@ public class FsCourseTask {
         qwWorkTaskService.addQwWorkByCourse4();
         qwWorkTaskService.addQwWorkByCourseLastTime();
     }
-    /**
+    /**s
      * 看课面板定时任务-2
      * @throws Exception
      */

+ 1 - 1
fs-company/src/main/java/com/fs/course/controller/FsCourseTrafficLogController.java

@@ -1,6 +1,6 @@
 package com.fs.course.controller;
 
-import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import  com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.fs.common.annotation.Log;
 import com.fs.common.core.controller.BaseController;
 import com.fs.common.core.domain.AjaxResult;

+ 4 - 4
fs-company/src/main/java/com/fs/course/controller/FsCourseWatchLogController.java

@@ -93,7 +93,7 @@ public class FsCourseWatchLogController extends BaseController
         if (param.getSTime()==null||param.getETime()==null){
             return getDataTable(new ArrayList<>());
         }
-        List<QwWatchLogStatisticsListVO> list = qwWatchLogService.selectQwWatchLogStatisticsListVO(param);
+        List<QwWatchLogStatisticsListVO> list = qwWatchLogService.selectQwWatchLogStatisticsListVONew(param);
         return getDataTable(list);
     }
     @GetMapping("/myQwWatchLogStatisticsList")
@@ -106,7 +106,7 @@ public class FsCourseWatchLogController extends BaseController
         if (param.getSTime()==null||param.getETime()==null){
             return getDataTable(new ArrayList<>());
         }
-        List<QwWatchLogStatisticsListVO> list = qwWatchLogService.selectQwWatchLogStatisticsListVO(param);
+        List<QwWatchLogStatisticsListVO> list = qwWatchLogService.selectQwWatchLogStatisticsListVONew(param);
         return getDataTable(list);
     }
 
@@ -120,7 +120,7 @@ public class FsCourseWatchLogController extends BaseController
         if (param.getSTime()==null||param.getETime()==null){
             return getDataTable(new ArrayList<>());
         }
-        List<QwWatchLogAllStatisticsListVO> list = qwWatchLogService.selectQwWatchLogAllStatisticsListVO(param);
+        List<QwWatchLogAllStatisticsListVO> list = qwWatchLogService.selectQwWatchLogAllStatisticsListVONew(param);
         return getDataTable(list);
     }
     @GetMapping("/myQwWatchLogAllStatisticsList")
@@ -133,7 +133,7 @@ public class FsCourseWatchLogController extends BaseController
         if (param.getSTime()==null||param.getETime()==null){
             return getDataTable(new ArrayList<>());
         }
-        List<QwWatchLogAllStatisticsListVO> list = qwWatchLogService.selectQwWatchLogAllStatisticsListVO(param);
+        List<QwWatchLogAllStatisticsListVO> list = qwWatchLogService.selectQwWatchLogAllStatisticsListVONew(param);
         return getDataTable(list);
     }
     @GetMapping("/watchLogStatistics")

+ 16 - 0
fs-company/src/main/java/com/fs/qw/vo/QwWatchLogAllStatisticsListVO.java

@@ -78,5 +78,21 @@ public class QwWatchLogAllStatisticsListVO {
     Long d29Over;
     Long d30Online;
     Long d30Over;
+    /**
+     * 项目
+     */
+    private Long project;
+    private String projectName;
 
+    /**
+     * 课程
+     */
+    private Long courseId;
+    private String courseName;
+
+    /**
+     * 小节
+     */
+    private Long videoId;
+    private String videoName;
 }

+ 17 - 0
fs-company/src/main/java/com/fs/qw/vo/QwWatchLogStatisticsListVO.java

@@ -25,4 +25,21 @@ public class QwWatchLogStatisticsListVO {
     private Long d;
     private Long los;//流失数
     private Long del;//删除数
+    /**
+     * 项目
+     */
+    private Long project;
+    private String projectName;
+
+    /**
+     * 课程
+     */
+    private Long courseId;
+    private String courseName;
+
+    /**
+     * 小节
+     */
+    private Long videoId;
+    private String videoName;
 }

+ 1 - 1
fs-service-system/src/main/java/com/fs/course/mapper/FsCourseWatchLogMapper.java

@@ -297,7 +297,7 @@ public interface FsCourseWatchLogMapper extends BaseMapper<FsCourseWatchLog> {
     @Select("SELECT min(create_time) FROM fs_course_watch_log WHERE user_id=#{userId} limit 1")
     Date queryFirstWatchDateLogByVideoId(@Param("userId") Long userId);
 
-    @Select("SELECT l.qw_external_contact_id,l.log_type,l.qw_user_id,l.create_time lineTime,l.company_user_id as company_user_id,l.user_id as user_id,l.company_id as company_id FROM fs_course_watch_log l" +
+    @Select("SELECT l.qw_external_contact_id,l.project,l.video_id,l.course_id,l.log_type,l.qw_user_id,l.create_time lineTime,l.company_user_id as company_user_id,l.user_id as user_id,l.company_id as company_id FROM fs_course_watch_log l" +
             " WHERE DATE(l.create_time) = DATE_SUB(CURDATE(), INTERVAL 1 DAY) and l.video_id =#{videoId}")
     List<FsQwCourseWatchLogVO> selectFsCourseBeforeMonthWatchLogByVideoId(Long videoId);
 

+ 3 - 3
fs-service-system/src/main/java/com/fs/course/service/impl/FsCourseWatchLogServiceImpl.java

@@ -392,9 +392,9 @@ public class FsCourseWatchLogServiceImpl extends ServiceImpl<FsCourseWatchLogMap
             }
             // 课程名
             if(ObjectUtils.isNotNull(item.getCourseId())) {
-                FsUserCourse course = fsUserCourseCacheService.selectFsUserCourseByCourseId(item.getCourseId());
-                if(ObjectUtils.isNotNull(course)){
-                    item.setCourseName(course.getCourseName());
+                String courseName = fsUserCourseCacheService.selectCourseNameByCourseId(item.getCourseId());
+                if(ObjectUtils.isNotNull(courseName)){
+                    item.setCourseName(courseName);
                 }
             }
             // 小节名

+ 6 - 2
fs-service-system/src/main/java/com/fs/qw/mapper/QwWatchLogMapper.java

@@ -105,7 +105,9 @@ public interface QwWatchLogMapper extends BaseMapper<QwWatchLog>{
             " from qw_watch_log where qw_user_id=#{id} and DATE(line_time) = DATE(#{createTime})")
     QwWatchLogStatisticsListVO selectQwWatchLogByQwUserId(@Param("id")Long id,@Param("createTime") Date createTime);
 
-    List<QwWatchLogStatisticsListVO> selectQwWatchLogByCompanyUserId(@Param("companyUserId") Long companyUserId,
+    List<QwWatchLogStatisticsListVO> selectQwWatchLogByCompanyUserId(
+            @Param("companyId") Long companyId,
+            @Param("companyUserId") Long companyUserId,
                                                                      @Param("sTime") Date sTime,
                                                                      @Param("dTime") Date dTime,
                                                                      @Param("project") Long project,
@@ -187,7 +189,9 @@ public interface QwWatchLogMapper extends BaseMapper<QwWatchLog>{
     QwWatchLogAllStatisticsListVO selectQwWatchLogAllStatisticsListVO(@Param("id")Long id,@Param("createTime") Date createTime);
 
 
-    List<QwWatchLogAllStatisticsListVO> selectQwWatchLogAllStatisticsListVONew(@Param("companyUserId")Long companyUserId, @Param("sDate") Date sDate, @Param("eDate") Date eDate,
+    List<QwWatchLogAllStatisticsListVO> selectQwWatchLogAllStatisticsListVONew(@Param("companyUserId")Long companyUserId,
+                                                                               @Param("companyId")Long companyId,
+                                                                               @Param("sDate") Date sDate, @Param("eDate") Date eDate,
                                                                                @Param("project") Long project,
                                                                                @Param("courseId") Long courseId,
                                                                                @Param("videoId") Long videoId);

+ 3 - 3
fs-service-system/src/main/java/com/fs/qw/service/impl/QwWatchLogServiceImpl.java

@@ -151,8 +151,8 @@ public class QwWatchLogServiceImpl extends ServiceImpl<QwWatchLogMapper, QwWatch
         List<QwWatchLogStatisticsListVO> list = new ArrayList<>();
         for (CompanyUser companyUser : companyUsers) {
             // 统计销售下面的所有记录
-            List<QwWatchLogStatisticsListVO> vos = qwWatchLogMapper.selectQwWatchLogByCompanyUserId(companyUser.getCompanyId(),
-                    param.getSTime(),param.getETime(),param.getProject(),param.getCourseId(),param.getVideoId());
+            List<QwWatchLogStatisticsListVO> vos = qwWatchLogMapper.selectQwWatchLogByCompanyUserId(companyUser.getCompanyId(),companyUser.getUserId()
+                    , param.getSTime(),param.getETime(),param.getProject(),param.getCourseId(),param.getVideoId());
             for (QwWatchLogStatisticsListVO item : vos) {
                 item.setCompanyUserName(String.format("%s_%d",companyUser.getUserName(),companyUser.getUserId()));
                 item.setCreateTime(companyUser.getCreateTime());
@@ -217,7 +217,7 @@ public class QwWatchLogServiceImpl extends ServiceImpl<QwWatchLogMapper, QwWatch
 
         for (CompanyUser companyUser : companyUsers) {
             List<QwWatchLogAllStatisticsListVO> vos = qwWatchLogMapper
-                    .selectQwWatchLogAllStatisticsListVONew(companyUser.getCompanyId(), param.getSTime(), param.getETime(),
+                    .selectQwWatchLogAllStatisticsListVONew(companyUser.getUserId(),companyUser.getCompanyId(), param.getSTime(), param.getETime(),
                             param.getProject(),param.getCourseId(),param.getVideoId()
                             );
             for (QwWatchLogAllStatisticsListVO item : vos) {

+ 2 - 2
fs-service-system/src/main/java/com/fs/store/service/cache/impl/FsUserCourseCacheServiceImpl.java

@@ -19,11 +19,11 @@ public class FsUserCourseCacheServiceImpl implements IFsUserCourseCacheService {
     private final IFsUserCourseService fsUserCourseService;
     private static final Cache<Long, FsUserCourse> FS_USER_COURSE_CACHE = Caffeine.newBuilder()
             .maximumSize(1000)
-            .expireAfterWrite(1, TimeUnit.MINUTES)
+            .expireAfterWrite(3, TimeUnit.MINUTES)
             .build();
     private static final Cache<Long, String> COURSE_ID_AND_NAME = Caffeine.newBuilder()
             .maximumSize(1000)
-            .expireAfterWrite(1, TimeUnit.MINUTES)
+            .expireAfterWrite(3, TimeUnit.MINUTES)
             .build();
     @Override
     public FsUserCourse selectFsUserCourseByCourseId(Long courseId) {

+ 3 - 3
fs-service-system/src/main/resources/mapper/course/FsCourseWatchLogMapper.xml

@@ -463,10 +463,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                 o.company_id=#{companyId}
             </if>
             <if test= 'sTime != null '>
-                and DATE(o.create_time) &gt;= DATE(#{sTime})
+                and o.create_time &gt;= #{sTime}
             </if>
             <if test='eTime != null '>
-                and DATE(o.create_time) &lt;= DATE(#{eTime})
+                and o.create_time &lt;= #{eTime}
             </if>
             <if test ='courseId !=null'>
                 and o.course_id = #{courseId}
@@ -485,7 +485,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             </if>
         </where>
 
-        GROUP BY o.video_id,o.user_id,DATE(o.create_time)
+        GROUP BY o.video_id,o.user_id,DATE(o.create_time),o.project,o.course_id
         ORDER BY o.video_id ,DATE(o.create_time)
     </select>
     <select id="selectFsCourseWatchLogListVONew" resultType="com.fs.course.vo.FsCourseWatchLogListVO">

+ 32 - 16
fs-service-system/src/main/resources/mapper/qw/QwWatchLogMapper.xml

@@ -41,18 +41,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             COUNT(CASE WHEN day = 1 and status in (1,2) THEN 1 END) AS d1Online,
             COUNT(CASE WHEN day = 1 and status=2 THEN 1 END) AS d1Over,
             COUNT(1) AS line,project,course_id,video_id
-             from qw_watch_log where
-           company_user_id=#{companyUserId}
-            <if test="project != null">
-                and project=#{project}
-            </if>
-            <if test="courseId != null">
-                and course_id=#{courseId}
-            </if>
-            <if test="videoId != null">
-                and video_id=#{videoId}
-            </if>
-           and DATE(line_time) between #{sTime} and #{dTime}
+             from qw_watch_log
+             <where>
+                 <if test="companyUserId">
+                     and company_user_id = #{companyUserId}
+                 </if>
+                 <if test="companyId">
+                     and company_id = #{companyId}
+                 </if>
+                 <if test="project != null">
+                     and project=#{project}
+                 </if>
+                 <if test="courseId != null">
+                     and course_id=#{courseId}
+                 </if>
+                 <if test="videoId != null">
+                     and video_id=#{videoId}
+                 </if>
+                 and DATE(line_time) between #{sTime} and #{dTime}
+             </where>
             group by project,course_id,video_id
     </select>
     <select id="selectQwWatchLogAllStatisticsListVONew"
@@ -123,12 +130,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             COUNT(1) AS line,project,course_id,video_id
              from qw_watch_log
             <where>
-                company_user_id=#{companyUserId}
+                 <if test="companyUserId">
+                     and company_user_id=#{companyUserId}
+                 </if>
+                <if test="companyId">
+                    and company_id = #{companyId}
+                </if>
                 <if test="project != null">
                     and project = #{project}
                 </if>
                 <if test="courseId != null">
-                    and course_id = #{project}
+                    and course_id = #{courseId}
                 </if>
                 <if test="videoId != null">
                     and video_id =#{videoId}
@@ -170,7 +182,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         line_time,
         fs_user_id,
         company_id,
-        company_user_id
+        company_user_id,
+        course_id,
+        video_id
         )
         VALUES
     <foreach collection="watchLogs" item="log" separator=",">
@@ -184,7 +198,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             #{log.lineTime},
              #{log.fsUserId},
              #{log.companyId},
-             #{log.companyUserId}
+             #{log.companyUserId},
+             #{log.courseId},
+             #{log.videoId}
             )
     </foreach>
     </insert>