|
@@ -1873,4 +1873,64 @@
|
|
|
</if>
|
|
</if>
|
|
|
GROUP BY su.organ_id_
|
|
GROUP BY su.organ_id_
|
|
|
</select>
|
|
</select>
|
|
|
|
|
+ <select id="getStudentVipOrderNum" resultMap="IndexBaseMonthData">
|
|
|
|
|
+ SELECT spo.create_time_ month_,spo.organ_id_,
|
|
|
|
|
+ COUNT(DISTINCT spo.id_) total_num_,
|
|
|
|
|
+ 'STUDENT_VIP_ORDER_NUM' data_type_,spo.user_id_ extend_info_,spo.tenant_id_
|
|
|
|
|
+ FROM (SELECT id_,user_id_,organ_id_,activity_id_,music_group_id_,calender_id_,type_,group_type_,
|
|
|
|
|
+ DATE_FORMAT(pay_time_,'%Y-%m-%d') create_time_,tenant_id_ FROM student_payment_order
|
|
|
|
|
+ WHERE status_ = 'SUCCESS' AND DATE_FORMAT(pay_time_,'%Y-%m-%d') = #{dayStr} AND tenant_id_ = #{tenantId}) spo
|
|
|
|
|
+ LEFT JOIN student_payment_order_detail spod ON spod.payment_order_id_ = spo.id_
|
|
|
|
|
+ LEFT JOIN vip_group_activity vga ON FIND_IN_SET(vga.id_,spo.activity_id_)
|
|
|
|
|
+ LEFT JOIN vip_group_category vgc ON vgc.id_ = vga.vip_group_category_id_list_
|
|
|
|
|
+ LEFT JOIN vip_group vg ON vg.id_ = spo.music_group_id_
|
|
|
|
|
+ LEFT JOIN vip_group_category vgc1 ON vgc1.id_ = vg.vip_group_category_id_
|
|
|
|
|
+ LEFT JOIN music_group_payment_calender_activity mgpca ON mgpca.calender_id_ = spo.calender_id_
|
|
|
|
|
+ LEFT JOIN vip_group_activity vga1 ON vga1.id_ = mgpca.activity_id_
|
|
|
|
|
+ LEFT JOIN vip_group_category vgc2 ON vgc2.id_ = vga1.vip_group_category_id_list_
|
|
|
|
|
+ WHERE (spo.group_type_ = 'SPORADIC' AND spo.type_ = 'DEGREE_REGISTRATION' AND spod.type_ = 'DEGREE_REGISTRATION')
|
|
|
|
|
+ OR (spo.group_type_ = 'SPORADIC' AND spo.type_ = 'DOUBLE_ELEVEN2020') OR (spo.group_type_ = 'DEGREE' AND spod.type_ = 'VIP')
|
|
|
|
|
+ OR (spo.type_ = 'SMALL_CLASS_TO_BUY' AND vgc1.name_ != '乐理课') OR (spo.group_type_ = 'MUSIC' AND spod.type_ = 'VIP' AND vgc2.name_ != '乐理课')
|
|
|
|
|
+ OR (spo.type_ = 'DOUBLE_ELEVEN2021' AND vgc.name_ != '乐理课')
|
|
|
|
|
+ GROUP BY spo.user_id_,spo.create_time_,spo.organ_id_;
|
|
|
|
|
+ </select>
|
|
|
|
|
+ <select id="getStudentTheoryOrderNum" resultMap="IndexBaseMonthData">
|
|
|
|
|
+ SELECT spo.create_time_ month_,spo.organ_id_,
|
|
|
|
|
+ COUNT(DISTINCT spo.id_) total_num_,
|
|
|
|
|
+ 'STUDENT_THEORY_ORDER_NUM' data_type_,spo.user_id_ extend_info_,spo.tenant_id_
|
|
|
|
|
+ FROM (SELECT id_,user_id_,organ_id_,activity_id_,music_group_id_,calender_id_,type_,group_type_,
|
|
|
|
|
+ DATE_FORMAT(pay_time_,'%Y-%m-%d') create_time_,tenant_id_ FROM student_payment_order
|
|
|
|
|
+ WHERE status_ = 'SUCCESS' AND DATE_FORMAT(pay_time_,'%Y-%m-%d') = #{dayStr} AND tenant_id_ = #{tenantId}) spo
|
|
|
|
|
+ LEFT JOIN student_payment_order_detail spod ON spod.payment_order_id_ = spo.id_
|
|
|
|
|
+ LEFT JOIN vip_group_activity vga ON FIND_IN_SET(vga.id_,spo.activity_id_)
|
|
|
|
|
+ LEFT JOIN vip_group_category vgc ON vgc.id_ = vga.vip_group_category_id_list_
|
|
|
|
|
+ LEFT JOIN vip_group vg ON vg.id_ = spo.music_group_id_
|
|
|
|
|
+ LEFT JOIN vip_group_category vgc1 ON vgc1.id_ = vg.vip_group_category_id_
|
|
|
|
|
+ LEFT JOIN music_group_payment_calender_activity mgpca ON mgpca.calender_id_ = spo.calender_id_
|
|
|
|
|
+ LEFT JOIN vip_group_activity vga1 ON vga1.id_ = mgpca.activity_id_
|
|
|
|
|
+ LEFT JOIN vip_group_category vgc2 ON vgc2.id_ = vga1.vip_group_category_id_list_
|
|
|
|
|
+ WHERE (spo.group_type_ = 'DEGREE' AND spod.type_ = 'THEORY_COURSE')
|
|
|
|
|
+ OR (spo.type_ = 'SMALL_CLASS_TO_BUY' AND vgc1.name_ = '乐理课') OR (spo.group_type_ = 'MUSIC' AND spod.type_ = 'VIP' AND vgc2.name_ = '乐理课')
|
|
|
|
|
+ OR (spo.type_ = 'DOUBLE_ELEVEN2021' AND vgc.name_ = '乐理课')
|
|
|
|
|
+ GROUP BY spo.user_id_,spo.create_time_,spo.organ_id_;
|
|
|
|
|
+ </select>
|
|
|
|
|
+ <select id="getStudentPracticeOrderNum" resultMap="IndexBaseMonthData">
|
|
|
|
|
+ SELECT spo.create_time_ month_,spo.organ_id_,
|
|
|
|
|
+ COUNT(DISTINCT spo.id_) total_num_,
|
|
|
|
|
+ 'STUDENT_PRACTICE_ORDER_NUM' data_type_,spo.user_id_ extend_info_,spo.tenant_id_
|
|
|
|
|
+ FROM (SELECT id_,user_id_,organ_id_,activity_id_,music_group_id_,calender_id_,type_,group_type_,
|
|
|
|
|
+ DATE_FORMAT(pay_time_,'%Y-%m-%d') create_time_,tenant_id_ FROM student_payment_order
|
|
|
|
|
+ WHERE status_ = 'SUCCESS' AND DATE_FORMAT(pay_time_,'%Y-%m-%d') = #{dayStr} AND tenant_id_ = #{tenantId}) spo
|
|
|
|
|
+ LEFT JOIN student_payment_order_detail spod ON spod.payment_order_id_ = spo.id_
|
|
|
|
|
+ WHERE spo.type_ = 'PRACTICE_GROUP_BUY' OR spo.type_ = 'PRACTICE_GROUP_RENEW' OR (spo.group_type_ = 'MUSIC' AND spod.type_ = 'PRACTICE')
|
|
|
|
|
+ GROUP BY spo.user_id_,spo.create_time_,spo.organ_id_;
|
|
|
|
|
+ </select>
|
|
|
|
|
+ <select id="getStudentLostNum" resultMap="IndexBaseMonthData">
|
|
|
|
|
+ SELECT sv.create_time_ month_,sv.organ_id_,COUNT(sv.id_) total_num_,sv.tenant_id_ FROM (
|
|
|
|
|
+ SELECT DATE_FORMAT(create_time_,'%Y-%m-%d') create_time_,organ_id_,id_,tenant_id_ FROM student_visit
|
|
|
|
|
+ WHERE id_ IN (SELECT MAX(id_) FROM student_visit
|
|
|
|
|
+ WHERE type_ = '小课回访' AND purpose_ = #{purpose} AND feedback_type_ = 'LOST' AND DATE_FORMAT(create_time_,'%Y-%m-%d') = #{dayStr} AND tenant_id_ = #{tenantId}
|
|
|
|
|
+ GROUP BY student_id_))sv
|
|
|
|
|
+ GROUP BY sv.create_time_
|
|
|
|
|
+ </select>
|
|
|
</mapper>
|
|
</mapper>
|