|
@@ -6,6 +6,7 @@ import com.fs.sop.domain.SopUserLogsInfo;
|
|
|
import com.fs.sop.params.BatchSopUserLogsInfoParamU;
|
|
|
import com.fs.sop.params.DeleteQwSopParam;
|
|
|
import com.fs.sop.params.SopUserLogsInfoDelParam;
|
|
|
+import com.fs.sop.vo.ExtCourseSopWatchLogVO;
|
|
|
import com.fs.sop.vo.SopUserLogsInfoVOE;
|
|
|
import org.apache.ibatis.annotations.Param;
|
|
|
import org.apache.ibatis.annotations.Select;
|
|
@@ -210,4 +211,25 @@ public interface SopUserLogsInfoMapper {
|
|
|
@DataSource(DataSourceType.SOP)
|
|
|
@Select("SELECT create_time,fs_user_id FROM sop_user_logs_info where sop_id = #{sopId} ")
|
|
|
List<SopUserLogsInfo> selectFsUserIdSopUserLogsInfoBySopId(@Param("sopId")String sopId);
|
|
|
+
|
|
|
+ @DataSource(DataSourceType.SOP)
|
|
|
+ @Select("<script>" +
|
|
|
+ "SELECT\n" +
|
|
|
+ " qs.id as sopId,\n" +
|
|
|
+ "\tqs.`name` as sopName,\n" +
|
|
|
+ " MAX(qstr.course_id) AS course_id,\n" +
|
|
|
+ " MAX(qstr.video_id) AS video_id,\n" +
|
|
|
+ " sul.start_time,\n" +
|
|
|
+ " DATEDIFF(CURRENT_DATE, sul.start_time) + 1 AS count_days\n" +
|
|
|
+ "FROM\n" +
|
|
|
+ " `sop_user_logs_info` suli \n" +
|
|
|
+ " LEFT JOIN sop_user_logs sul ON suli.user_logs_id = sul.id\n" +
|
|
|
+ " INNER JOIN qw_sop qs ON qs.id = sul.sop_id AND qs.`status` IN (2,3,4)\n" +
|
|
|
+ " LEFT JOIN qw_sop_temp_day qsts ON qs.temp_id = qsts.temp_id AND qsts.day_num = DATEDIFF(CURRENT_DATE, sul.start_time) + 1 \n" +
|
|
|
+ " LEFT JOIN qw_sop_temp_rules qstr ON qsts.id = qstr.day_id AND qstr.content_type = 2 \n" +
|
|
|
+ "WHERE\n" +
|
|
|
+ " suli.external_id = #{qwExtContactId} AND qstr.video_id IS NOT NULL \n" +
|
|
|
+ "GROUP BY qsts.id, sul.start_time "+
|
|
|
+ "</script>")
|
|
|
+ List<ExtCourseSopWatchLogVO> getExtCourseSopWatchLog(@Param("qwExtContactId") Long qwExternalContactId);
|
|
|
}
|