|
@@ -190,14 +190,14 @@ public interface FsCourseWatchLogMapper extends BaseMapper<FsCourseWatchLog> {
|
|
|
List<FsCourseWatchLog> selectFsCourseWatchLogFinish();
|
|
|
|
|
|
@Select({"<script> " +
|
|
|
- "SELECT " +
|
|
|
- "o.video_id,o.company_id,o.user_id,DATE(o.create_time) create_time,concat(u.user_id,'_',u.nickname).qw_user_name,v.title videoName,uc.course_name,\n" +
|
|
|
+ "SELECT \n" +
|
|
|
+ "o.video_id,o.company_id,o.qw_user_id,DATE(o.create_time) create_time,qu.qw_user_name,v.title videoName,uc.course_name,\n" +
|
|
|
"SUM(CASE WHEN o.log_type = '1' THEN 1 ELSE 0 END) AS type1,\n" +
|
|
|
"SUM(CASE WHEN o.log_type = '2' THEN 1 ELSE 0 END) AS type2,\n" +
|
|
|
"SUM(CASE WHEN o.log_type = '3' THEN 1 ELSE 0 END) AS type3,\n" +
|
|
|
"SUM(CASE WHEN o.log_type = '4' THEN 1 ELSE 0 END) AS type4\n" +
|
|
|
"FROM fs_course_watch_log o\n" +
|
|
|
- "LEFT JOIN fs_user u on u.user_id=o.user_id\n" +
|
|
|
+ "LEFT JOIN qw_user qu on qu.id=o.qw_user_id\n" +
|
|
|
"LEFT JOIN fs_user_course_video v on v.video_id=o.video_id \n" +
|
|
|
"LEFT JOIN fs_user_course uc on uc.course_id=v.course_id\n" +
|
|
|
"where o.company_id=#{companyId} " +
|
|
@@ -207,13 +207,16 @@ public interface FsCourseWatchLogMapper extends BaseMapper<FsCourseWatchLog> {
|
|
|
"<if test='eTime != null '> " +
|
|
|
" and DATE(o.create_time) <= DATE(#{eTime})\n" +
|
|
|
"</if>" +
|
|
|
+ "<if test ='nickName !=null and nickName!=\"\"'>\n" +
|
|
|
+ " and qu.qw_user_name like concat( #{nickName}, '%')\n" +
|
|
|
+ "</if>" +
|
|
|
"<if test ='courseId !=null'> " +
|
|
|
" and o.course_id = #{courseId} " +
|
|
|
"</if>" +
|
|
|
"<if test ='videoId !=null'> " +
|
|
|
" and o.video_id = #{videoId} " +
|
|
|
"</if>" +
|
|
|
- "GROUP BY o.video_id,o.user_id,DATE(o.create_time)\n" +
|
|
|
+ "GROUP BY o.video_id,o.qw_user_id,DATE(o.create_time)\n" +
|
|
|
"ORDER BY o.video_id ,DATE(o.create_time) \n"+
|
|
|
"</script>"})
|
|
|
List<FsCourseWatchLogStatisticsListVO> selectFsCourseWatchLogStatisticsListVO(FsCourseWatchLogStatisticsListParam param);
|
|
@@ -226,38 +229,31 @@ public interface FsCourseWatchLogMapper extends BaseMapper<FsCourseWatchLog> {
|
|
|
List<FsCourseUserStatisticsListVO> selectFsCourseUserStatisticsListVO(FsCourseUserStatisticsListParam param);
|
|
|
|
|
|
@Select({"<script> " +
|
|
|
- "SELECT" +
|
|
|
- " MIN(o.create_time) AS createTime," +
|
|
|
- " user.user_name as user_name," +
|
|
|
- " `user`.create_time AS userCreateTime" +
|
|
|
- "FROM" +
|
|
|
- " fs_course_watch_log o" +
|
|
|
- "LEFT JOIN" +
|
|
|
- "\tcompany_user `user`" +
|
|
|
- "ON o.company_user_id=`user`.user_id" +
|
|
|
- "GROUP BY `user`.user_id"+
|
|
|
+ "select MIN(o.create_time) createTime,ANY_VALUE(qu.qw_user_name) qwUserName ,ext.name externalUserName,ext.create_time userCreateTime from fs_course_watch_log o LEFT JOIN qw_user qu on qu.id=o.qw_user_id LEFT JOIN qw_external_contact ext ON ext.id = o.qw_external_contact_id where log_type=2 and o.company_id=#{companyId} " +
|
|
|
+ "<if test= 'sTime != null '> " +
|
|
|
+ " and DATE(o.create_time) >= DATE(#{sTime})\n" +
|
|
|
+ "</if>\n" +
|
|
|
+ "<if test='eTime != null '> " +
|
|
|
+ " and DATE(o.create_time) <= DATE(#{eTime})\n" +
|
|
|
+ "</if>" +
|
|
|
+ "<if test ='nickName !=null and nickName!=\"\"'>\n" +
|
|
|
+ " and qu.qw_user_name like concat( #{nickName}, '%')\n" +
|
|
|
+ "</if>"+
|
|
|
+ " GROUP BY o.qw_external_contact_id"+
|
|
|
"</script>"})
|
|
|
- List<FsCourseOverVO> selectFsCourseWatchLogOverStatisticsListVO(FsCourseOverParam param);
|
|
|
+ List<FsCourseOverVO> selectFsCourseWatchLogOverStatisticsListVO(FsCourseOverParam param);
|
|
|
|
|
|
|
|
|
void batchUpdateWatchLogSendMsg(@Param("list") List<FsCourseWatchLog> logs);
|
|
|
|
|
|
- @Select("SELECT l.qw_external_contact_id,l.log_type,l.qw_user_id,l.create_time,l.company_user_id as company_user_id,l.user_id as user_id,l.company_id as company_id,u.first_time,u.create_time lineTime FROM fs_course_watch_log l " +
|
|
|
+ @Select("SELECT l.qw_external_contact_id,l.log_type,l.qw_user_id,l.create_time ,u.first_time,u.create_time lineTime FROM fs_course_watch_log l " +
|
|
|
"LEFT JOIN qw_external_contact u ON u.id=l.qw_external_contact_id " +
|
|
|
" WHERE DATE(l.create_time) = DATE_SUB(CURDATE(), INTERVAL 1 DAY) and l.video_id =#{videoId}")
|
|
|
List<FsQwCourseWatchLogVO> selectFsCourseWatchLogByNoDayAndVoidId(Long videoId);
|
|
|
-
|
|
|
- @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" +
|
|
|
- " WHERE DATE(l.create_time) = DATE_SUB(CURDATE(), INTERVAL 1 DAY) and l.video_id =#{videoId}")
|
|
|
- List<FsQwCourseWatchLogVO> selectFsCourseBeforeMonthWatchLogByVideoId(Long videoId);
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
@Select("SELECT l.qw_external_contact_id,l.log_type,l.qw_user_id,l.create_time ,u.first_time,u.create_time lineTime FROM fs_course_watch_log l " +
|
|
|
"LEFT JOIN qw_external_contact u ON u.id=l.qw_external_contact_id " +
|
|
|
" WHERE DATE(l.create_time) = DATE_SUB(CURDATE(), INTERVAL 2 DAY) and l.video_id =#{videoId}")
|
|
|
List<FsQwCourseWatchLogVO> selectFsCourseWatchLogByNoDayAndVoidId2(Long videoId);
|
|
|
-
|
|
|
@Select("SELECT l.qw_external_contact_id,l.log_type,l.qw_user_id,l.create_time ,u.first_time,u.create_time lineTime FROM fs_course_watch_log l " +
|
|
|
"LEFT JOIN qw_external_contact u ON u.id=l.qw_external_contact_id " +
|
|
|
" WHERE DATE(l.create_time) = DATE_SUB(CURDATE(), INTERVAL 1 DAY) and l.sop_id =#{videoId}")
|
|
@@ -267,8 +263,38 @@ public interface FsCourseWatchLogMapper extends BaseMapper<FsCourseWatchLog> {
|
|
|
@Select("SELECT qw_external_contact_id FROM fs_course_watch_log WHERE log_type=2 and DATE(create_time) = CURDATE() ")
|
|
|
List<Long> selectFsCourseWatchLogByFinish();
|
|
|
|
|
|
+ @Select("WITH date_series AS (\n" +
|
|
|
+ " SELECT DATE_SUB(CURRENT_DATE(), INTERVAL 6-n DAY) AS report_date\n" +
|
|
|
+ " FROM (\n" +
|
|
|
+ " SELECT 0 AS n UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 \n" +
|
|
|
+ " UNION SELECT 4 UNION SELECT 5 UNION SELECT 6\n" +
|
|
|
+ " ) days\n" +
|
|
|
+ " ORDER BY n\n" +
|
|
|
+ "),\n" +
|
|
|
+ "daily_data AS (\n" +
|
|
|
+ " SELECT \n" +
|
|
|
+ " DATE(create_time) AS log_date,\n" +
|
|
|
+ " log_type,\n" +
|
|
|
+ " ROW_NUMBER() OVER (PARTITION BY DATE(create_time) ORDER BY create_time DESC) AS rn\n" +
|
|
|
+ " FROM fs_course_watch_log\n" +
|
|
|
+ " WHERE qw_external_contact_id = #{extId}\n" +
|
|
|
+ " AND create_time >= DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY)\n" +
|
|
|
+ ")\n" +
|
|
|
+ "SELECT \n" +
|
|
|
+ " IFNULL(dd.log_type, 0) AS log_type\n" +
|
|
|
+ "FROM date_series ds\n" +
|
|
|
+ "LEFT JOIN (\n" +
|
|
|
+ " SELECT log_date, log_type FROM daily_data WHERE rn = 1\n" +
|
|
|
+ ") dd ON ds.report_date = dd.log_date\n" +
|
|
|
+ "ORDER BY ds.report_date ASC ")
|
|
|
+ List<Integer> selectFsCourseWatchLog7DayByExtId(Long extId);
|
|
|
+
|
|
|
+ List<FsCourseWatchLogStatisticsListVO> selectFsCourseWatchLogStatisticsListVONew(FsCourseWatchLogStatisticsListParam param);
|
|
|
+
|
|
|
@Select("SELECT min(create_time) FROM fs_course_watch_log WHERE user_id=#{userId} limit 1")
|
|
|
Date queryFirstWatchDateLogByVideoId(@Param("userId") Long userId);
|
|
|
|
|
|
- List<FsCourseWatchLogStatisticsListVO> selectFsCourseWatchLogStatisticsListVONew(FsCourseWatchLogStatisticsListParam param);
|
|
|
+ @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" +
|
|
|
+ " WHERE DATE(l.create_time) = DATE_SUB(CURDATE(), INTERVAL 1 DAY) and l.video_id =#{videoId}")
|
|
|
+ List<FsQwCourseWatchLogVO> selectFsCourseBeforeMonthWatchLogByVideoId(Long videoId);
|
|
|
}
|