|
|
@@ -757,143 +757,43 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|
|
|
|
|
<select id="getCountWatchCourse" resultType="com.fs.store.vo.h5.UserDetailsVO">
|
|
|
SELECT
|
|
|
- <if test="dateTag == null or dateTag =='' or dateTag == '近七天' ">
|
|
|
- ifnull( sum(complete_watch_count), 0 ) AS completeWatchCount ,
|
|
|
- ifnull( sum(watch_times), 0 ) AS watchTimes,
|
|
|
- </if>
|
|
|
- <if test="dateTag != null and dateTag !='' and dateTag != '近七天' ">
|
|
|
- ifnull( complete_watch_count, 0 ) AS completeWatchCount ,
|
|
|
- ifnull( watch_times, 0 ) AS watchTimes,
|
|
|
- </if>
|
|
|
- fs_user.user_id
|
|
|
- FROM
|
|
|
- fs_user_course_count
|
|
|
- LEFT JOIN fs_user ON fs_user.user_id = fs_user_course_count.user_id
|
|
|
- inner JOIN fs_user_company_user cu ON cu.user_id = fs_user.user_id and cu.project_id = fs_user_course_count.project_id
|
|
|
+ count(distinct if(fcwl.log_type = 2, fcwl.log_id, null)) completeWatchCount,
|
|
|
+ count(distinct fcwl.log_id) watchTimes,
|
|
|
+ count(distinct fcal.log_id) answerTime,
|
|
|
+ count(distinct if(fcal.is_right = 1, fcal.log_id, null)) answerRightTime,
|
|
|
+ count(distinct fcrpl.log_id) answerRedPacketTime,
|
|
|
+ sum(ifnull((
|
|
|
+ select sum(frp.amount)
|
|
|
+ from fs_course_red_packet_log frp
|
|
|
+ where frp.watch_log_id = fcwl.log_id and frp.status = 1
|
|
|
+ ), 0)) answerRedPacketAmount
|
|
|
+ FROM fs_course_watch_log fcwl
|
|
|
+ inner join fs_user_company_user fucu on fcwl.user_id = fucu.user_id and fcwl.project = fucu.project_id and fcwl.company_user_id = fucu.company_user_id
|
|
|
+ left join fs_course_answer_logs fcal on fcal.watch_log_id = fcwl.log_id
|
|
|
+ left join fs_course_red_packet_log fcrpl on fcrpl.watch_log_id = fcwl.log_id
|
|
|
<where>
|
|
|
<if test="dateTag != null and dateTag !='' ">
|
|
|
<choose>
|
|
|
<when test = "dateTag == '今天'">
|
|
|
- and to_days(fs_user_course_count.create_time) = to_days(now())
|
|
|
+ and to_days(fcwl.create_time) = to_days(now())
|
|
|
</when>
|
|
|
<when test = "dateTag == '昨天'">
|
|
|
- and fs_user_course_count.create_time >= CURDATE() - INTERVAL 1 DAY AND fs_user_course_count.create_time < CURDATE()
|
|
|
+ and fcwl.create_time >= CURDATE() - INTERVAL 1 DAY AND fcwl.create_time < CURDATE()
|
|
|
</when>
|
|
|
<when test = "dateTag == '前天'">
|
|
|
- and fs_user_course_count.create_time >= CURDATE() - INTERVAL 2 DAY AND fs_user_course_count.create_time < CURDATE() - INTERVAL 1 DAY
|
|
|
+ and fcwl.create_time >= CURDATE() - INTERVAL 2 DAY AND fcwl.create_time < CURDATE() - INTERVAL 1 DAY
|
|
|
</when>
|
|
|
<when test = "dateTag == '近七天'">
|
|
|
- and fs_user_course_count.create_time >= CURDATE() - INTERVAL 7 DAY
|
|
|
+ and fcwl.create_time >= CURDATE() - INTERVAL 7 DAY
|
|
|
</when>
|
|
|
</choose>
|
|
|
</if>
|
|
|
- and fs_user.user_id = #{fsUserId}
|
|
|
+ and fcwl.user_id = #{fsUserId} and fucu.company_user_id = #{userId}
|
|
|
<if test="userCompanyId!=null">
|
|
|
- and cu.id = #{userCompanyId}
|
|
|
- </if>
|
|
|
- </where>
|
|
|
- GROUP BY
|
|
|
- fs_user.user_id
|
|
|
- </select>
|
|
|
-
|
|
|
- <select id="getCountAnswer" resultType="com.fs.store.vo.h5.UserDetailsVO">
|
|
|
- SELECT
|
|
|
- (
|
|
|
- SELECT
|
|
|
- ifnull(count( DISTINCT fs_course_answer_logs.log_id ), 0) AS answerTime
|
|
|
- FROM
|
|
|
- fs_course_answer_logs
|
|
|
- LEFT JOIN fs_user ON fs_user.user_id = fs_course_answer_logs.user_id
|
|
|
- left join fs_course_watch_log fcwl on fs_course_answer_logs.watch_log_id =fcwl.log_id
|
|
|
- left join fs_user_company_user fucu on fucu.user_id =fs_user.user_id and fcwl.project = fucu.project_id
|
|
|
- <where>
|
|
|
-
|
|
|
- <if test="dateTag != null and dateTag !='' ">
|
|
|
- <choose>
|
|
|
- <when test = "dateTag == '今天'">
|
|
|
- and to_days(fs_course_answer_logs.create_time) = to_days(now())
|
|
|
- </when>
|
|
|
- <when test = "dateTag == '昨天'">
|
|
|
- and fs_course_answer_logs.create_time >= CURDATE() - INTERVAL 1 DAY AND fs_course_answer_logs.create_time < CURDATE()
|
|
|
- </when>
|
|
|
- <when test = "dateTag == '前天'">
|
|
|
- and fs_course_answer_logs.create_time >= CURDATE() - INTERVAL 2 DAY AND fs_course_answer_logs.create_time < CURDATE() - INTERVAL 1 DAY
|
|
|
- </when>
|
|
|
- <when test = "dateTag == '近七天'">
|
|
|
- and fs_course_answer_logs.create_time >= CURDATE() - INTERVAL 7 DAY
|
|
|
- </when>
|
|
|
- </choose>
|
|
|
+ and fucu.id = #{userCompanyId}
|
|
|
</if>
|
|
|
- and fs_user.user_id = #{fsUserId} and fucu.company_user_id =#{userId}
|
|
|
</where>
|
|
|
- GROUP BY
|
|
|
- fs_user.user_id
|
|
|
- ) AS answerTime,
|
|
|
- (
|
|
|
- SELECT
|
|
|
- ifnull(count( DISTINCT fs_course_answer_logs.log_id ), 0) AS answerRightTime
|
|
|
- FROM
|
|
|
- fs_course_answer_logs
|
|
|
- LEFT JOIN fs_user ON fs_user.user_id = fs_course_answer_logs.user_id
|
|
|
- left join fs_course_watch_log fcwl on fs_course_answer_logs.watch_log_id =fcwl.log_id
|
|
|
- left join fs_user_company_user fucu on fucu.user_id =fs_user.user_id and fcwl.project = fucu.project_id
|
|
|
- <where>
|
|
|
- fs_course_answer_logs.is_right = 1
|
|
|
- <if test="dateTag != null and dateTag !='' ">
|
|
|
- <choose>
|
|
|
- <when test = "dateTag == '今天'">
|
|
|
- and to_days(fs_course_answer_logs.create_time) = to_days(now())
|
|
|
- </when>
|
|
|
- <when test = "dateTag == '昨天'">
|
|
|
- and fs_course_answer_logs.create_time >= CURDATE() - INTERVAL 1 DAY AND fs_course_answer_logs.create_time < CURDATE()
|
|
|
- </when>
|
|
|
- <when test = "dateTag == '前天'">
|
|
|
- and fs_course_answer_logs.create_time >= CURDATE() - INTERVAL 2 DAY AND fs_course_answer_logs.create_time < CURDATE() - INTERVAL 1 DAY
|
|
|
- </when>
|
|
|
- <when test = "dateTag == '近七天'">
|
|
|
- and fs_course_answer_logs.create_time >= CURDATE() - INTERVAL 7 DAY
|
|
|
- </when>
|
|
|
- </choose>
|
|
|
- </if>
|
|
|
- and fs_user.user_id = #{fsUserId} and fucu.company_user_id =#{userId}
|
|
|
- </where>
|
|
|
- GROUP BY
|
|
|
- fs_user.user_id
|
|
|
- ) AS answerRightTime;
|
|
|
- </select>
|
|
|
-
|
|
|
- <select id="getCountRedPacket" resultType="com.fs.store.vo.h5.UserDetailsVO">
|
|
|
- SELECT
|
|
|
- ifnull( count( DISTINCT fs_course_red_packet_log.log_id ), 0 ) AS answerRedPacketTime,
|
|
|
- ifnull( sum( amount ), 0 ) AS answerRedPacketAmount,
|
|
|
- fs_user.user_id
|
|
|
- FROM
|
|
|
- fs_course_red_packet_log
|
|
|
- LEFT JOIN fs_user ON fs_user.user_id = fs_course_red_packet_log.user_id
|
|
|
- left join fs_course_watch_log fcwl on fs_course_red_packet_log.watch_log_id =fcwl.log_id
|
|
|
- left join fs_user_company_user fucu on fucu.user_id =fs_user.user_id and fcwl.project = fucu.project_id
|
|
|
- <where>
|
|
|
- fs_course_red_packet_log.status = 1
|
|
|
- <if test="dateTag != null and dateTag !='' ">
|
|
|
- <choose>
|
|
|
- <when test = "dateTag == '今天'">
|
|
|
- and to_days(fs_course_red_packet_log.create_time) = to_days(now())
|
|
|
- </when>
|
|
|
- <when test = "dateTag == '昨天'">
|
|
|
- and fs_course_red_packet_log.create_time >= CURDATE() - INTERVAL 1 DAY AND fs_course_red_packet_log.create_time < CURDATE()
|
|
|
- </when>
|
|
|
- <when test = "dateTag == '前天'">
|
|
|
- and fs_course_red_packet_log.create_time >= CURDATE() - INTERVAL 2 DAY AND fs_course_red_packet_log.create_time < CURDATE() - INTERVAL 1 DAY
|
|
|
- </when>
|
|
|
- <when test = "dateTag == '近七天'">
|
|
|
- and fs_course_red_packet_log.create_time >= CURDATE() - INTERVAL 7 DAY
|
|
|
- </when>
|
|
|
- </choose>
|
|
|
- </if>
|
|
|
- and fs_user.user_id = #{fsUserId} and fucu.company_user_id =#{userId}
|
|
|
- </where>
|
|
|
- GROUP BY
|
|
|
- fs_user.user_id
|
|
|
+ group by fcwl.user_id
|
|
|
</select>
|
|
|
|
|
|
<select id="getUserTotal" resultType="java.lang.Integer">
|