|
@@ -826,15 +826,15 @@
|
|
|
SELECT COUNT(c.user_id_) FROM
|
|
|
(SELECT sr.user_id_ FROM student_registration sr
|
|
|
LEFT JOIN music_group mg ON mg.id_ = sr.music_group_id_
|
|
|
- LEFT JOIN cloud_teacher_order cto ON cto.student_id_ = sr.user_id_
|
|
|
+ LEFT JOIN cloud_teacher_order cto ON cto.student_id_ = sr.user_id_ AND cto.status_ IN (1,2)
|
|
|
LEFT JOIN sys_user su ON su.id_ = sr.user_id_
|
|
|
LEFT JOIN organization o ON o.id_ = mg.organ_id_
|
|
|
LEFT JOIN student_visit sv ON sv.student_id_ = sr.user_id_ AND sv.purpose_ = '会员续费'
|
|
|
<include refid="queryMusicMemberListSql"/>
|
|
|
- GROUP BY cto.student_id_ HAVING MIN(cto.status_) != 1
|
|
|
+ GROUP BY sr.user_id_ HAVING (MAX(cto.id_) IS NULL OR MIN(cto.status_) != 1)
|
|
|
<if test="hasMember != null">
|
|
|
<if test="hasMember == 0">
|
|
|
- AND DATEDIFF(MAX(cto.end_time_),NOW()) < 0
|
|
|
+ AND (MAX(cto.id_) IS NULL OR DATEDIFF(MAX(cto.end_time_),NOW()) < 0)
|
|
|
</if>
|
|
|
<if test="hasMember == 1">
|
|
|
AND DATEDIFF(MAX(cto.end_time_),NOW()) <= #{memberEndAutoQuitMusic} AND DATEDIFF(MAX(cto.end_time_),NOW()) >= 0
|
|
@@ -852,20 +852,21 @@
|
|
|
<result property="username" column="username_"/>
|
|
|
<result property="memberDay" column="member_day_"/>
|
|
|
<result property="visitTime" column="visit_time_"/>
|
|
|
+ <result property="phone" column="phone_"/>
|
|
|
</resultMap>
|
|
|
<select id="queryMusicMemberList" resultMap="MusicMemberDto">
|
|
|
- SELECT sr.user_id_,su.username_,o.name_ organ_name_,mg.name_ music_group_name_,
|
|
|
+ SELECT sr.user_id_,su.username_,su.phone_,o.name_ organ_name_,mg.name_ music_group_name_,
|
|
|
DATEDIFF(MAX(cto.end_time_),NOW()) + 1 member_day_,sr.music_group_id_,MAX(sv.visit_time_) visit_time_ FROM student_registration sr
|
|
|
LEFT JOIN music_group mg ON mg.id_ = sr.music_group_id_
|
|
|
- LEFT JOIN cloud_teacher_order cto ON cto.student_id_ = sr.user_id_
|
|
|
+ LEFT JOIN cloud_teacher_order cto ON cto.student_id_ = sr.user_id_ AND cto.status_ IN (1,2)
|
|
|
LEFT JOIN sys_user su ON su.id_ = sr.user_id_
|
|
|
LEFT JOIN organization o ON o.id_ = mg.organ_id_
|
|
|
LEFT JOIN student_visit sv ON sv.student_id_ = sr.user_id_ AND sv.purpose_ = '会员续费'
|
|
|
<include refid="queryMusicMemberListSql"/>
|
|
|
- GROUP BY cto.student_id_ HAVING MIN(cto.status_) != 1
|
|
|
+ GROUP BY sr.user_id_ HAVING (MAX(cto.id_) IS NULL OR MIN(cto.status_) != 1)
|
|
|
<if test="hasMember != null">
|
|
|
<if test="hasMember == 0">
|
|
|
- AND DATEDIFF(MAX(cto.end_time_),NOW()) < 0
|
|
|
+ AND (MAX(cto.id_) IS NULL OR DATEDIFF(MAX(cto.end_time_),NOW()) < 0)
|
|
|
</if>
|
|
|
<if test="hasMember == 1">
|
|
|
AND DATEDIFF(MAX(cto.end_time_),NOW()) <= #{memberEndAutoQuitMusic} AND DATEDIFF(MAX(cto.end_time_),NOW()) >= 0
|
|
@@ -879,7 +880,7 @@
|
|
|
<sql id="queryMusicMemberListSql">
|
|
|
<where>
|
|
|
sr.music_group_status_ != 'QUIT' AND mg.course_view_type_ = 1
|
|
|
- AND mg.status_ = 'PROGRESS' AND cto.status_ IN (1,2)
|
|
|
+ AND mg.status_ = 'PROGRESS'
|
|
|
<if test="search != null and search != ''">
|
|
|
AND (mg.name_ LIKE CONCAT('%',#{search},'%') OR mg.id_ LIKE CONCAT('%',#{search},'%') OR su.username_ LIKE CONCAT('%',#{search},'%') OR su.id_ = #{search})
|
|
|
</if>
|