|
@@ -345,28 +345,38 @@
|
|
</select>
|
|
</select>
|
|
<select id="queryWeChatStudentTrainData"
|
|
<select id="queryWeChatStudentTrainData"
|
|
resultType="com.yonge.cooleshow.biz.dal.queryInfo.SysMusicCompareRecordQueryInfo$WechatCompareRecordPageDto">
|
|
resultType="com.yonge.cooleshow.biz.dal.queryInfo.SysMusicCompareRecordQueryInfo$WechatCompareRecordPageDto">
|
|
- select su.id_ userId,su.avatar_ avatar,su.username_ username,GROUP_CONCAT(DISTINCT sb.name_) subjectName,
|
|
|
|
- SUM(mprs.playTime) trainTimes,COUNT(DISTINCT mprs.create_time_) trainDays,
|
|
|
|
- SUM(mprs.playTime) / COUNT(DISTINCT mprs.create_time_) avgTrainTimes
|
|
|
|
- from (select st.user_id_,DATE_FORMAT(smcr.create_time_,'%Y-%m-%d') create_time_,SUM(smcr.play_time_) playTime,st.subject_id_
|
|
|
|
- from student st
|
|
|
|
- LEFT JOIN sys_music_compare_record smcr ON smcr.user_id_ = st.user_id_
|
|
|
|
- where st.membership_end_time_ >= NOW()
|
|
|
|
- <if test="startTime != null and startTime != ''">
|
|
|
|
- AND smcr.create_time_ BETWEEN #{startTime} AND #{endTime}
|
|
|
|
- </if>
|
|
|
|
- <if test="queryInfo.tenantId != null">
|
|
|
|
- AND smcr.tenant_id_ = #{queryInfo.tenantId}
|
|
|
|
- </if>
|
|
|
|
- group by st.user_id_,DATE_FORMAT(create_time_,'%Y-%m-%d')) mprs
|
|
|
|
- left join sys_user su ON mprs.user_id_ = su.id_
|
|
|
|
- left join subject sb ON FIND_IN_SET(sb.id_,mprs.subject_id_)
|
|
|
|
|
|
+ select st.user_id_ userId,
|
|
|
|
+ su.avatar_ avatar,
|
|
|
|
+ su.username_ username,
|
|
|
|
+ GROUP_CONCAT(DISTINCT sb.name_) subjectName,
|
|
|
|
+ SUM(mprs.playTime) trainTimes,
|
|
|
|
+ COUNT(DISTINCT mprs.create_time_) trainDays,
|
|
|
|
+ SUM(mprs.playTime) / COUNT(DISTINCT mprs.create_time_) avgTrainTimes
|
|
|
|
+ from student st
|
|
|
|
+ left join
|
|
|
|
+ (select smcr.user_id_,
|
|
|
|
+ DATE_FORMAT(smcr.create_time_, '%Y-%m-%d') create_time_,
|
|
|
|
+ SUM(smcr.play_time_) playTime
|
|
|
|
+ from sys_music_compare_record smcr
|
|
<where>
|
|
<where>
|
|
- <if test="search != null and search != ''">
|
|
|
|
- AND su.username_ LIKE CONCAT('%',#{keyword},'%')
|
|
|
|
|
|
+ <if test="startTime != null and startTime != ''">
|
|
|
|
+ AND smcr.create_time_ BETWEEN #{startTime} AND #{endTime}
|
|
|
|
+ </if>
|
|
|
|
+ <if test="tenantId != null">
|
|
|
|
+ AND smcr.tenant_id_ = #{tenantId}
|
|
</if>
|
|
</if>
|
|
</where>
|
|
</where>
|
|
- group by mprs.user_id_
|
|
|
|
|
|
+ group by smcr.user_id_, DATE_FORMAT(create_time_, '%Y-%m-%d')) mprs ON mprs.user_id_ = st.user_id_
|
|
|
|
+ left join sys_user su ON st.user_id_ = su.id_
|
|
|
|
+ left join subject sb ON sb.id_ = st.subject_id_
|
|
|
|
+ where st.membership_end_time_ >= NOW()
|
|
|
|
+ <if test="search != null and search != ''">
|
|
|
|
+ AND su.username_ LIKE CONCAT('%',#{keyword},'%')
|
|
|
|
+ </if>
|
|
|
|
+ <if test="tenantId != null">
|
|
|
|
+ AND st.tenant_id_ = #{tenantId}
|
|
|
|
+ </if>
|
|
|
|
+ group by st.user_id_
|
|
ORDER BY ${sortField} ${sortType}
|
|
ORDER BY ${sortField} ${sortType}
|
|
</select>
|
|
</select>
|
|
<select id="countWeChatStudentTrainData" resultType="java.lang.Integer">
|
|
<select id="countWeChatStudentTrainData" resultType="java.lang.Integer">
|
|
@@ -375,8 +385,8 @@
|
|
left join sys_user su ON st.user_id_ = su.id_
|
|
left join sys_user su ON st.user_id_ = su.id_
|
|
LEFT JOIN sys_music_compare_record smcr ON smcr.user_id_ = st.user_id_
|
|
LEFT JOIN sys_music_compare_record smcr ON smcr.user_id_ = st.user_id_
|
|
where st.membership_end_time_ >= NOW()
|
|
where st.membership_end_time_ >= NOW()
|
|
- <if test="queryInfo.tenantId != null">
|
|
|
|
- AND smcr.tenant_id_ = #{queryInfo.tenantId}
|
|
|
|
|
|
+ <if test="tenantId != null">
|
|
|
|
+ AND smcr.tenant_id_ = #{tenantId}
|
|
</if>
|
|
</if>
|
|
<if test="startTime != null and startTime != ''">
|
|
<if test="startTime != null and startTime != ''">
|
|
AND smcr.create_time_ BETWEEN #{startTime} AND #{endTime}
|
|
AND smcr.create_time_ BETWEEN #{startTime} AND #{endTime}
|
|
@@ -387,7 +397,7 @@
|
|
</select>
|
|
</select>
|
|
<select id="wechatCompareRecordSum"
|
|
<select id="wechatCompareRecordSum"
|
|
resultType="com.yonge.cooleshow.biz.dal.queryInfo.SysMusicCompareRecordQueryInfo$WechatCompareRecordSumDto">
|
|
resultType="com.yonge.cooleshow.biz.dal.queryInfo.SysMusicCompareRecordQueryInfo$WechatCompareRecordSumDto">
|
|
- select COUNT(st.user_id_),COUNT(DISTINCT DATE_FORMAT(smcr.create_time_,'%Y-%m-%d')) trainNum,SUM(smcr.play_time_) playTime
|
|
|
|
|
|
+ select COUNT(st.user_id_) studentNum,COUNT(DISTINCT DATE_FORMAT(smcr.create_time_,'%Y-%m-%d')) trainDays,SUM(smcr.play_time_) trainTimes
|
|
from student st
|
|
from student st
|
|
LEFT JOIN sys_music_compare_record smcr ON smcr.user_id_ = st.user_id_
|
|
LEFT JOIN sys_music_compare_record smcr ON smcr.user_id_ = st.user_id_
|
|
where st.membership_end_time_ >= NOW()
|
|
where st.membership_end_time_ >= NOW()
|
|
@@ -397,6 +407,9 @@
|
|
<if test="queryInfo.tenantId != null">
|
|
<if test="queryInfo.tenantId != null">
|
|
AND smcr.tenant_id_ = #{queryInfo.tenantId}
|
|
AND smcr.tenant_id_ = #{queryInfo.tenantId}
|
|
</if>
|
|
</if>
|
|
|
|
+ <if test="queryInfo.tenantId != null">
|
|
|
|
+ AND st.tenant_id_ = #{queryInfo.tenantId}
|
|
|
|
+ </if>
|
|
</select>
|
|
</select>
|
|
<select id="queryStudentTrain"
|
|
<select id="queryStudentTrain"
|
|
resultType="com.yonge.cooleshow.biz.dal.queryInfo.SysMusicCompareRecordQueryInfo$StudentMusicCompareRecord">
|
|
resultType="com.yonge.cooleshow.biz.dal.queryInfo.SysMusicCompareRecordQueryInfo$StudentMusicCompareRecord">
|