|  | @@ -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>
 |