|  | @@ -149,32 +149,48 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 | 
	
		
			
				|  |  |              ( count( DISTINCT CASE WHEN fwl.log_type = 3 THEN fwl.video_id END ) > 0, 1, 2 ) AS missCourseStatus,
 | 
	
		
			
				|  |  |              GROUP_CONCAT( DISTINCT fwl.period_id ) AS courseIds,
 | 
	
		
			
				|  |  |              count(DISTINCT fwl.period_id ) AS partCourseCount,
 | 
	
		
			
				|  |  | -            a.last_heartbeat_time AS lastWatchDate,
 | 
	
		
			
				|  |  | -            CASE
 | 
	
		
			
				|  |  | -                WHEN a.log_type = 1
 | 
	
		
			
				|  |  | -                    OR a.log_type = 2 THEN
 | 
	
		
			
				|  |  | -                    1
 | 
	
		
			
				|  |  | -                WHEN a.log_type = 4 THEN
 | 
	
		
			
				|  |  | -                    2
 | 
	
		
			
				|  |  | -                WHEN a.log_type = 3 THEN
 | 
	
		
			
				|  |  | -                    3
 | 
	
		
			
				|  |  | -                END AS STATUS,
 | 
	
		
			
				|  |  | -            DATEDIFF(DATE_FORMAT(NOW(),'%Y-%m-%d'),DATE_FORMAT(a.last_heartbeat_time,'%Y-%m-%d')) as stop_watch_days,
 | 
	
		
			
				|  |  |              max( CASE WHEN fwl.log_type = 2 THEN fwl.last_heartbeat_time END ) AS completeWatchDate,
 | 
	
		
			
				|  |  |              count( CASE WHEN fwl.log_type = 2 THEN fwl.log_id END ) AS completeWatchCount,
 | 
	
		
			
				|  |  |              count( CASE WHEN fwl.log_type != 3 THEN fwl.log_id END ) AS watch_times,
 | 
	
		
			
				|  |  |              DATE_FORMAT(fwl.create_time,'%Y-%m-%d 00:00:00') AS createTime,
 | 
	
		
			
				|  |  |              NOW() AS updateTime,
 | 
	
		
			
				|  |  | -            DATE_FORMAT(fwl.create_time,'%Y-%m-%d') AS create_date
 | 
	
		
			
				|  |  | +            DATE_FORMAT(fwl.create_time,'%Y-%m-%d') AS create_date,
 | 
	
		
			
				|  |  | +            DATE (fwl.create_time ) AS lastDate
 | 
	
		
			
				|  |  |          FROM
 | 
	
		
			
				|  |  | -            ( SELECT fs_course_watch_log.user_id, Max( fs_course_watch_log.last_heartbeat_time ) AS last_heartbeat_time, log_type
 | 
	
		
			
				|  |  | -              FROM fs_course_watch_log where fs_course_watch_log.create_time >= DATE_SUB(CURDATE(), INTERVAL 1 DAY) AND fs_course_watch_log.create_time < CURDATE() GROUP BY fs_course_watch_log.user_id ) a
 | 
	
		
			
				|  |  | -                INNER JOIN fs_course_watch_log fwl ON fwl.user_id = a.user_id AND fwl.send_type = 1
 | 
	
		
			
				|  |  | -            where fwl.create_time >= DATE_SUB(CURDATE(), INTERVAL 1 DAY) AND fwl.create_time < CURDATE()
 | 
	
		
			
				|  |  | +            fs_course_watch_log fwl
 | 
	
		
			
				|  |  | +            where fwl.send_type = 1 and fwl.create_time >= DATE_SUB(CURDATE(), INTERVAL 7 DAY)
 | 
	
		
			
				|  |  |          GROUP BY
 | 
	
		
			
				|  |  |              fwl.user_id
 | 
	
		
			
				|  |  |      </select>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    <select id="getUserStatusAndLastWatchDate" resultType="FsUserCourseCount">
 | 
	
		
			
				|  |  | +        SELECT
 | 
	
		
			
				|  |  | +            fs_course_watch_log.user_id,
 | 
	
		
			
				|  |  | +            Max( fs_course_watch_log.last_heartbeat_time ) AS lastWatchDate,
 | 
	
		
			
				|  |  | +            Max( DATE ( fs_course_watch_log.create_time ) ) AS lastDate,
 | 
	
		
			
				|  |  | +            CASE
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                WHEN fs_course_watch_log.log_type = 1
 | 
	
		
			
				|  |  | +                    OR fs_course_watch_log.log_type = 2 THEN
 | 
	
		
			
				|  |  | +                    1
 | 
	
		
			
				|  |  | +                WHEN fs_course_watch_log.log_type = 4 THEN
 | 
	
		
			
				|  |  | +                    2
 | 
	
		
			
				|  |  | +                WHEN fs_course_watch_log.log_type = 3 THEN
 | 
	
		
			
				|  |  | +                    3
 | 
	
		
			
				|  |  | +                END AS STATUS,
 | 
	
		
			
				|  |  | +            DATEDIFF(
 | 
	
		
			
				|  |  | +                    DATE_FORMAT( NOW(), '%Y-%m-%d' ),
 | 
	
		
			
				|  |  | +                    DATE_FORMAT( fs_course_watch_log.last_heartbeat_time, '%Y-%m-%d' )) AS stop_watch_days
 | 
	
		
			
				|  |  | +        FROM
 | 
	
		
			
				|  |  | +            fs_course_watch_log
 | 
	
		
			
				|  |  | +        WHERE
 | 
	
		
			
				|  |  | +            fs_course_watch_log.send_type = 1
 | 
	
		
			
				|  |  | +          AND fs_course_watch_log.create_time >= DATE_SUB( CURDATE(), INTERVAL 7 DAY )
 | 
	
		
			
				|  |  | +        GROUP BY
 | 
	
		
			
				|  |  | +            fs_course_watch_log.user_id, date(fs_course_watch_log.create_time)
 | 
	
		
			
				|  |  | +    </select>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      <insert id="insertFsUserCourseCountTask" parameterType="FsUserCourseCount" useGeneratedKeys="true" keyProperty="id">
 | 
	
		
			
				|  |  |          insert into fs_user_course_count
 | 
	
		
			
				|  |  |          <trim prefix="(" suffix=")" suffixOverrides=",">
 |