|
@@ -9,5 +9,177 @@
|
|
|
(select count(1) from music_sheet where del_flag_ = 0 and audit_status_ = 'DOING') as musicNum
|
|
|
from dual
|
|
|
</select>
|
|
|
- <select id="totalTeacher" resultType="com.yonge.cooleshow.biz.dal.vo.res.HomeTotalTeacher"></select>
|
|
|
+ <select id="totalTeacher" resultType="com.yonge.cooleshow.biz.dal.vo.res.HomeTotalTeacher">
|
|
|
+ select
|
|
|
+ <if test="timeType != null and timeType == 'MONTH'">
|
|
|
+ t.sys_day_ymd_ as timeStr,
|
|
|
+ </if>
|
|
|
+ <if test="timeType != null and timeType == 'YEAR'">
|
|
|
+ t.sys_day_ym_ as timeStr,
|
|
|
+ </if>
|
|
|
+ sum(a.registerNum) as registerNum,
|
|
|
+ sum(a.entryNum) as entryNum,
|
|
|
+ sum(a.liveNum) as liveNum,
|
|
|
+ sum(a.musicianNum) as musicianNum
|
|
|
+ from sys_day t
|
|
|
+ left join (
|
|
|
+ select
|
|
|
+ DATE_FORMAT(t.create_time_,'%Y-%m-%d') as timeStr,
|
|
|
+ count(1) as registerNum
|
|
|
+ from teacher t
|
|
|
+ <where>
|
|
|
+ <if test="param.startTime !=null">
|
|
|
+ <![CDATA[AND t.create_time_ >= #{param.startTime} ]]>
|
|
|
+ </if>
|
|
|
+ <if test="param.endTime !=null">
|
|
|
+ <![CDATA[AND t.create_time_ <= #{param.endTime} ]]>
|
|
|
+ </if>
|
|
|
+ </where>
|
|
|
+ group by DATE_FORMAT(t.create_time_,'%Y-%m-%d')
|
|
|
+ ) a on t.sys_day_ymd_ = a.timeStr
|
|
|
+ left join (
|
|
|
+ select
|
|
|
+ DATE_FORMAT(t.create_time_,'%Y-%m-%d') as timeStr,
|
|
|
+ count(1) as entryNum
|
|
|
+ from teacher t
|
|
|
+ <where>
|
|
|
+ <if test="param.startTime !=null">
|
|
|
+ <![CDATA[AND t.entry_auth_date_ >= #{param.startTime} ]]>
|
|
|
+ </if>
|
|
|
+ <if test="param.endTime !=null">
|
|
|
+ <![CDATA[AND t.entry_auth_date_ <= #{param.endTime} ]]>
|
|
|
+ </if>
|
|
|
+ </where>
|
|
|
+ group by DATE_FORMAT(t.create_time_,'%Y-%m-%d')
|
|
|
+ ) b on t.sys_day_ymd_ = b.timeStr
|
|
|
+ left join (
|
|
|
+ select
|
|
|
+ DATE_FORMAT(t.create_time_,'%Y-%m-%d') as timeStr,
|
|
|
+ count(1) as liveNum
|
|
|
+ from teacher t
|
|
|
+ <where>
|
|
|
+ <if test="param.startTime !=null">
|
|
|
+ <![CDATA[AND t.live_date_ >= #{param.startTime} ]]>
|
|
|
+ </if>
|
|
|
+ <if test="param.endTime !=null">
|
|
|
+ <![CDATA[AND t.live_date_ <= #{param.endTime} ]]>
|
|
|
+ </if>
|
|
|
+ </where>
|
|
|
+ group by DATE_FORMAT(t.create_time_,'%Y-%m-%d')
|
|
|
+ ) c on t.sys_day_ymd_ = c.timeStr
|
|
|
+ left join (
|
|
|
+ select
|
|
|
+ DATE_FORMAT(t.create_time_,'%Y-%m-%d') as timeStr,
|
|
|
+ count(1) as musicianNum
|
|
|
+ from teacher t
|
|
|
+ <where>
|
|
|
+ <if test="param.startTime !=null">
|
|
|
+ <![CDATA[AND t.musician_date_ >= #{param.startTime} ]]>
|
|
|
+ </if>
|
|
|
+ <if test="param.endTime !=null">
|
|
|
+ <![CDATA[AND t.musician_date_ <= #{param.endTime} ]]>
|
|
|
+ </if>
|
|
|
+ </where>
|
|
|
+ group by DATE_FORMAT(t.create_time_,'%Y-%m-%d')
|
|
|
+ ) d on t.sys_day_ymd_ = d.timeStr
|
|
|
+ <where>
|
|
|
+ <if test="param.startTime !=null">
|
|
|
+ <![CDATA[AND t.sys_day_ >= #{param.startTime} ]]>
|
|
|
+ </if>
|
|
|
+ <if test="param.endTime !=null">
|
|
|
+ <![CDATA[AND t.sys_day_ <= #{param.endTime} ]]>
|
|
|
+ </if>
|
|
|
+ </where>
|
|
|
+ <if test="timeType != null and timeType == 'MONTH'">
|
|
|
+ group by t.sys_day_ymd_
|
|
|
+ </if>
|
|
|
+ <if test="timeType != null and timeType == 'YEAR'">
|
|
|
+ group by t.sys_day_ym_
|
|
|
+ </if>
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <select id="totalStudent" resultType="com.yonge.cooleshow.biz.dal.vo.res.HomeTotalStudent">
|
|
|
+ select
|
|
|
+ <if test="timeType != null and timeType == 'MONTH'">
|
|
|
+ t.sys_day_ymd_ as timeStr,
|
|
|
+ </if>
|
|
|
+ <if test="timeType != null and timeType == 'YEAR'">
|
|
|
+ t.sys_day_ym_ as timeStr,
|
|
|
+ </if>
|
|
|
+ sum(a.registerNum) as registerNum,
|
|
|
+ sum(b.vipNum) as vipNum,
|
|
|
+ sum(c.courseNum) as courseNum
|
|
|
+ from sys_day t
|
|
|
+ left join (
|
|
|
+ select
|
|
|
+ DATE_FORMAT(t.create_time_,'%Y-%m-%d') as timeStr,
|
|
|
+ count(1) as registerNum
|
|
|
+ from student t
|
|
|
+ <where>
|
|
|
+ <if test="param.startTime !=null">
|
|
|
+ <![CDATA[AND t.create_time_ >= #{param.startTime} ]]>
|
|
|
+ </if>
|
|
|
+ <if test="param.endTime !=null">
|
|
|
+ <![CDATA[AND t.create_time_ <= #{param.endTime} ]]>
|
|
|
+ </if>
|
|
|
+ </where>
|
|
|
+ group by DATE_FORMAT(t.create_time_,'%Y-%m-%d')
|
|
|
+ ) a on t.sys_day_ymd_ = a.timeStr
|
|
|
+ left join (
|
|
|
+ select
|
|
|
+ a.timeStr,
|
|
|
+ count(1) as vipNum
|
|
|
+ from (
|
|
|
+ select
|
|
|
+ DATE_FORMAT(t.create_time_,'%Y-%m-%d') as timeStr,
|
|
|
+ t.user_id_
|
|
|
+ from user_order t
|
|
|
+ left join user_order_detail d on t.order_no_ = d.order_no_
|
|
|
+ where t.status_ = 'PAID' and d.good_type_ = 'VIP'
|
|
|
+ <if test="param.startTime !=null">
|
|
|
+ <![CDATA[AND t.create_time_ >= #{param.startTime} ]]>
|
|
|
+ </if>
|
|
|
+ <if test="param.endTime !=null">
|
|
|
+ <![CDATA[AND t.create_time_ <= #{param.endTime} ]]>
|
|
|
+ </if>
|
|
|
+ group by DATE_FORMAT(t.create_time_,'%Y-%m-%d'),t.user_id_
|
|
|
+ ) a
|
|
|
+ group by a.timeStr
|
|
|
+ ) b on t.sys_day_ymd_ = b.timeStr
|
|
|
+ left join (
|
|
|
+ select
|
|
|
+ a.timeStr,
|
|
|
+ count(1) as courseNum
|
|
|
+ from (
|
|
|
+ select
|
|
|
+ DATE_FORMAT(t.create_time_,'%Y-%m-%d') as timeStr,
|
|
|
+ t.user_id_
|
|
|
+ from user_order t
|
|
|
+ left join user_order_detail d on t.order_no_ = d.order_no_
|
|
|
+ where t.status_ = 'PAID' and d.good_type_ in ('PRACTICE','LIVE','VIDEO')
|
|
|
+ <if test="param.startTime !=null">
|
|
|
+ <![CDATA[AND t.create_time_ >= #{param.startTime} ]]>
|
|
|
+ </if>
|
|
|
+ <if test="param.endTime !=null">
|
|
|
+ <![CDATA[AND t.create_time_ <= #{param.endTime} ]]>
|
|
|
+ </if>
|
|
|
+ group by DATE_FORMAT(t.create_time_,'%Y-%m-%d'),t.user_id_
|
|
|
+ ) a
|
|
|
+ group by a.timeStr
|
|
|
+ ) c on t.sys_day_ymd_ = c.timeStr
|
|
|
+ <where>
|
|
|
+ <if test="param.startTime !=null">
|
|
|
+ <![CDATA[AND t.sys_day_ >= #{param.startTime} ]]>
|
|
|
+ </if>
|
|
|
+ <if test="param.endTime !=null">
|
|
|
+ <![CDATA[AND t.sys_day_ <= #{param.endTime} ]]>
|
|
|
+ </if>
|
|
|
+ </where>
|
|
|
+ <if test="timeType != null and timeType == 'MONTH'">
|
|
|
+ group by t.sys_day_ymd_
|
|
|
+ </if>
|
|
|
+ <if test="timeType != null and timeType == 'YEAR'">
|
|
|
+ group by t.sys_day_ym_
|
|
|
+ </if>
|
|
|
+ </select>
|
|
|
</mapper>
|