SELECT * FROM class_group_student_mapper WHERE id_ = #{id} 
	 
    
    
		SELECT * FROM class_group_student_mapper where tenant_id_ = #{tenantId} ORDER BY id_
	 
    
    
        INSERT INTO class_group_student_mapper (id_,group_type_,music_group_id_,class_group_id_,user_id_,status_,create_time_,update_time_,tenant_id_)
        VALUES(#{id},#{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{musicGroupId},#{classGroupId},#{userId},#{status},now(),now(),#{tenantId})
     
    
    
        UPDATE class_group_student_mapper
        
            
                user_id_ = #{userId},
             
            
                class_group_id_ = #{classGroupId},
             
            
                status_ = #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             
            
                group_type_ = #{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             
            update_time_ = now(),
         
        WHERE id_ = #{id}
     
    
        
            UPDATE class_group_student_mapper
            
                
                    status_ = #{classGroupStudentMapper.status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
                 
                
                    group_type_ = #{classGroupStudentMapper.groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
                 
                update_time_ = now(),
             
            WHERE id_ = #{classGroupStudentMapper.id}
         
     
    
    
		DELETE FROM class_group_student_mapper WHERE id_ = #{id} 
	 
    
        UPDATE class_group_student_mapper SET status_='QUIT' WHERE class_group_id_ = #{classGroupId} AND status_='NORMAL'
     
    
        DELETE FROM class_group_student_mapper WHERE music_group_id_=#{groupId} AND group_type_=#{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
     
    
        DELETE FROM class_group_student_mapper WHERE class_group_id_=#{classGroupId} AND user_id_=#{userId}
     
    
        UPDATE class_group_student_mapper SET status_='QUIT',update_time_=NOW() WHERE music_group_id_=#{groupId} AND group_type_=#{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
     
    
    
        SELECT * FROM class_group_student_mapper where tenant_id_ = #{tenantId} ORDER BY id_
         
     
    
    
		SELECT COUNT(*) FROM class_group_student_mapper where tenant_id_ = #{tenantId}
	 
    
    
        INSERT INTO class_group_student_mapper (group_type_,music_group_id_,class_group_id_,user_id_,status_,create_time_,update_time_,tenant_id_)
        VALUE
        
            (#{item.groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{item.musicGroupId},#{item.classGroupId},
            #{item.userId},#{item.status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},now(),now(),#{item.tenantId})
         
     
    
    
		SELECT * FROM class_group_student_mapper
		where class_group_id_ = #{classGroupId} and user_id_ = #{userId}  AND status_ != 'QUIT'
	 
    
		SELECT * FROM class_group_student_mapper
		where class_group_id_ = #{classGroupId} and user_id_ = #{userId}
	 
    
        SELECT
            su.username_
        FROM
            class_group_student_mapper cgsm
            LEFT JOIN sys_user su ON cgsm.user_id_=su.id_
            WHERE cgsm.class_group_id_=#{classGroupId} AND cgsm.status_!='QUIT'
     
    
        SELECT
            su.username_
        FROM
            course_schedule_student_payment cssp
            LEFT JOIN sys_user su ON cssp.user_id_ = su.id_
        WHERE
            cssp.course_schedule_id_ = #{courseScheduleId}
     
    
        SELECT
            su.id_ userId,
            su.username_ userName,
            su.phone_ phone,
            su.avatar_ avatar
        FROM
            course_schedule_student_payment cssp
            LEFT JOIN sys_user su ON cssp.user_id_ = su.id_
        WHERE
            cssp.course_schedule_id_ = #{courseScheduleId}
     
    
         
         
         
         
         
     
    
        SELECT
            su.id_ user_id_,
            su.username_,
            su.avatar_,
            su.phone_,
            mgsf.continuous_absenteeism_times_
        FROM
            class_group_student_mapper cgsm
            LEFT JOIN class_group cg ON cgsm.class_group_id_ = cg.id_
            LEFT JOIN sys_user su ON cgsm.user_id_ = su.id_
            LEFT JOIN music_group_student_fee_ mgsf ON cg.music_group_id_=mgsf.music_group_id_ AND su.id_ = mgsf.user_id_
        WHERE
            cgsm.class_group_id_ = #{classGroupId} AND cgsm.status_ != 'QUIT'
        ORDER BY su.id_
         
     
    
        SELECT
            COUNT(*)
        FROM
            class_group_student_mapper cgsm
        WHERE
            cgsm.class_group_id_ = #{classGroupId} AND cgsm.status_ != 'QUIT'
     
    
        SELECT
            cssp.group_type_,
            cssp.music_group_id_,
            cssp.user_id_ student_id_,
            su.username_,
            su.avatar_,
            cssp.be_merged_,
            st.current_grade_num_,
            st.current_class_,
            IF(sa.status_ IS NULL,'TRUANT',sa.status_) status_
        FROM
            course_schedule_student_payment cssp
            LEFT JOIN sys_user su ON cssp.user_id_ = su.id_
            LEFT JOIN student st ON st.user_id_ = su.id_
            LEFT JOIN student_attendance sa ON cssp.course_schedule_id_ = sa.course_schedule_id_ AND cssp.user_id_ = sa.user_id_
        WHERE
            cssp.course_schedule_id_ =#{courseScheduleId}
            AND su.id_ IS NOT NULL
     
    
        SELECT
            cssp.group_type_,
            cssp.music_group_id_,
            cssp.user_id_ student_id_,
            su.username_,
            su.phone_,
            su.avatar_,
            s.name_ subject_name_,
            IF(sa.status_ IS NULL,'TRUANT',sa.status_) status_
        FROM
            course_schedule_student_payment cssp
            LEFT JOIN sys_user su ON cssp.user_id_ = su.id_
            LEFT JOIN student_attendance sa ON cssp.course_schedule_id_ = sa.course_schedule_id_ AND cssp.user_id_ = sa.user_id_
            LEFT JOIN student_registration sr ON sr.user_id_=cssp.user_id_ AND cssp.music_group_id_=sr.music_group_id_
            LEFT JOIN `subject` s ON sr.subject_id_=s.id_
        WHERE
            cssp.course_schedule_id_ =#{courseScheduleId}
            AND su.id_ IS NOT NULL
        ORDER BY cssp.user_id_
         
     
    
        SELECT
            COUNT(cssp.user_id_)
        FROM
            course_schedule_student_payment cssp
            LEFT JOIN sys_user su ON cssp.user_id_ = su.id_
            LEFT JOIN student_attendance sa ON cssp.course_schedule_id_ = sa.course_schedule_id_ AND cssp.user_id_ = sa.user_id_
        WHERE
            cssp.course_schedule_id_ =#{courseScheduleId}
            AND su.id_ IS NOT NULL
     
    
        update class_group_student_mapper set status_ = 'QUIT',update_time_ = NOW()
        WHERE class_group_id_=#{classGroupId} AND FIND_IN_SET(user_id_,#{userIds})
     
    
        update class_group_student_mapper set status_ = #{status},update_time_ = NOW()
        where music_group_id_=#{groupId} and group_type_=#{groupType}
     
    
        SELECT * FROM class_group_student_mapper
        WHERE user_id_=#{userId} AND class_group_id_=#{classGroupId}
        
            AND status_ = #{status}
         
        LIMIT 1
     
    
        SELECT * FROM class_group_student_mapper
        WHERE class_group_id_ IN
        
            #{classGroupId}
         
        AND status_ = 'NORMAL'
     
    
        SELECT
          cgsm.*
        FROM class_group_student_mapper cgsm
        WHERE class_group_id_ = #{classGroupId}
     
    
        SELECT
          cgsm.*,
	      su.username_
        FROM class_group_student_mapper cgsm
            LEFT JOIN sys_user su ON cgsm.user_id_ = su.id_
        WHERE class_group_id_ = #{classGroupId}
          AND status_ = 'NORMAL'
     
    
    
        SELECT sr.*,s.name_ subject_name_,su.username_,su.gender_  FROM class_group_student_mapper cgsm
        LEFT JOIN student_registration sr ON (sr.user_id_ = cgsm.user_id_ AND sr.music_group_id_ = cgsm.music_group_id_)
        LEFT JOIN sys_user su on sr.user_id_ = su.id_
        LEFT JOIN subject s ON sr.actual_subject_id_ = s.id_
        WHERE cgsm.class_group_id_ = #{classGroupId} AND sr.music_group_status_ != 'QUIT'
        AND cgsm.status_ = #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
     
    
        SELECT cgsm.* FROM class_group_student_mapper cgsm
        LEFT JOIN class_group cg ON cgsm.class_group_id_ = cg.id_
        WHERE cgsm.music_group_id_ = #{musicGroupId}
        AND cgsm.user_id_=#{userId}
        AND cg.type_ = #{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
        AND FIND_IN_SET(cgsm.status_,'NORMAL,LEAVE')
        AND cg.del_flag_='0'
     
    
        SELECT
            cgsm.class_group_id_
        FROM
            class_group_student_mapper cgsm
            LEFT JOIN course_schedule cs ON cgsm.class_group_id_=cs.class_group_id_
            WHERE cgsm.user_id_=#{userId} AND cs.del_flag_ = 0
            AND cs.class_date_ = DATE_FORMAT(#{data},'%Y-%m-%d')
            AND cgsm.status_=#{status}
     
    
        SELECT
            class_group_id_ AS 'key',
            COUNT( user_id_ ) AS 'value'
        FROM
            class_group_student_mapper
        WHERE
            class_group_id_ IN
            
                #{classGroupId}
             
            AND status_!='QUIT'
            
                AND status_=#{status, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
             
        GROUP BY
            class_group_id_
     
    
        SELECT
            music_group_id_ AS 'key',
            COUNT( user_id_ ) AS 'value'
        FROM
          class_group_student_mapper
        WHERE
            music_group_id_ IN
            
                #{groupId}
             
            AND group_type_=#{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
        GROUP BY
        music_group_id_
     
    
        SELECT
            COUNT( user_id_ )
        FROM
          class_group_student_mapper
        WHERE
            class_group_id_ = #{classGroupId}
            AND status_!='QUIT'
     
    
        SELECT
            COUNT( user_id_ )
        FROM
          class_group_student_mapper
        WHERE
            class_group_id_ = #{classGroupId}
            AND status_!='QUIT' AND status_!='QUIT_SCHOOL'
     
    
        SELECT
            COUNT( user_id_ )
        FROM
          class_group_student_mapper
        WHERE
            group_type_ = #{groupType}
	        AND music_group_id_= #{groupId}
            AND status_='NORMAL'
     
    
        SELECT
            COUNT( user_id_ )
        FROM
          class_group_student_mapper
        WHERE
            group_type_ = #{groupType}
            AND music_group_id_ = #{groupId}
            AND status_!='QUIT' AND status_!='QUIT_SCHOOL'
     
    
        SELECT
            COUNT( user_id_ )
        FROM
          class_group_student_mapper
        WHERE
            class_group_id_ = #{classGroupId}
            AND user_id_ IN
            
                #{userId}
             
            AND status_!='QUIT'
     
    
      SELECT COUNT(DISTINCT cgsm.music_group_id_)
      FROM class_group_student_mapper cgsm
      LEFT JOIN class_group cg ON cgsm.class_group_id_=cg.id_
      WHERE cgsm.user_id_=#{userId} AND cgsm.group_type_=#{groupType} AND cgsm.status_!='QUIT' AND cg.del_flag_!=1
     
    
    
      SELECT distinct class_group_id_ FROM class_group_student_mapper WHERE user_id_=#{userId}
        AND group_type_=#{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
        AND music_group_id_ = #{musicGroupId}
        AND status_ != 'QUIT'
     
    
        SELECT  cgsm.* FROM  class_group_student_mapper cgsm
        LEFT JOIN class_group cg on cgsm.class_group_id_ = cg.id_
        WHERE cgsm.music_group_id_ = #{musicGroupId} AND cg.group_type_ ='MUSIC' AND cg.type_=#{classGroupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler} AND cg.del_flag_='0' AND FIND_IN_SET(cgsm.status_,'NORMAL,LEAVE')
     
    
        SELECT cgsm.user_id_ 'key',cgsm.user_id_ 'value' FROM class_group_student_mapper cgsm
        WHERE cgsm.music_group_id_ = #{vipGroupId} AND cgsm.group_type_ = 'VIP' AND cgsm.status_ != 'QUIT'
     
    
        SELECT cgtm.user_id_ 'key',cgtm.user_id_ 'value' FROM class_group_teacher_mapper cgtm
        WHERE cgtm.music_group_id_ = #{vipGroupId} AND cgtm.group_type_ = 'VIP'
     
    
        SELECT
            *
        FROM
            class_group_student_mapper
        WHERE
            class_group_id_ = #{classGroupId}
            AND user_id_ IN
            
                #{userId}
             
        ORDER BY create_time_ DESC
     
    
    
      	SELECT cgsm.* FROM class_group_student_mapper cgsm LEFT JOIN course_schedule cs ON cgsm.class_group_id_= cs.class_group_id_
		LEFT JOIN course_schedule_student_payment cssp on cssp.course_schedule_id_ = cs.id_ and cssp.user_id_ = cgsm.user_id_
		WHERE cssp.id_ IS NULL AND cgsm.status_ != 'QUIT' and cs.id_ = #{courseScheduleId} AND cs.del_flag_ = 0
     
    
      SELECT
          cgsm.*,
	      su.username_
        FROM class_group_student_mapper cgsm
            LEFT JOIN sys_user su ON cgsm.user_id_ = su.id_
        WHERE
          cgsm.group_type_=#{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
          AND cgsm.music_group_id_ IN
          
              #{groupId}
           
     
    
        SELECT
            cgsm.*,
            su.username_,
            su.avatar_,
            su.phone_
        FROM class_group_student_mapper cgsm
          LEFT JOIN sys_user su ON cgsm.user_id_ = su.id_
        
            
                AND cgsm.group_type_=#{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
             
            
                AND cgsm.music_group_id_ = #{groupId}
             
            
                AND cgsm.class_group_id_=#{classGroupId}
             
            
                AND cgsm.tenant_id_=#{tenantId}
             
         
     
    
        SELECT * FROM class_group_student_mapper cgsm
        
            
                AND cgsm.group_type_=#{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
             
            
                AND cgsm.music_group_id_ = #{groupId}
             
            
                AND user_id_=#{userId}
             
            
                AND status_=#{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
             
         
     
    
        SELECT
        t.user_id_ studentId,
        t.educational_teacher_id_ educationalTeacherId,
        su.real_name_ educationalTeacherName,
        t.group_type_ groupType
        FROM
        (
        SELECT
        mgsf.user_id_,
        g.educational_teacher_id_,
        'MUSIC' group_type_
        FROM
        music_group_student_fee_ mgsf
        LEFT JOIN music_group g ON mgsf.music_group_id_ = g.id_
        WHERE
        mgsf.user_id_ IN
        
            #{studentId}
         
        UNION ALL
        SELECT
        cgsm.user_id_,
        g.educational_teacher_id_,
        'VIP' group_type_
        FROM
        class_group_student_mapper cgsm
        LEFT JOIN vip_group g ON cgsm.music_group_id_ = g.id_
        WHERE
        cgsm.group_type_ = 'VIP'
        AND cgsm.user_id_ IN
        
            #{studentId}
         
        UNION ALL
        SELECT
        cgsm.user_id_,
        g.educational_teacher_id_,
        'PRACTICE' group_type_
        FROM
        class_group_student_mapper cgsm
        LEFT JOIN practice_group g ON cgsm.music_group_id_ = g.id_
        WHERE
        cgsm.group_type_ = 'PRACTICE'
        AND cgsm.user_id_ IN
        
            #{studentId}
         
        ) t
        LEFT JOIN sys_user su ON t.educational_teacher_id_=su.id_
     
    
        SELECT COUNT(0) FROM class_group_student_mapper
        WHERE FIND_IN_SET(class_group_id_,#{classGroupIdListStr}) AND user_id_ = #{studentId} AND status_ = 'NORMAL'
     
    
         
         
         
         
         
         
     
    
        SELECT cssp.user_id_,su.username_,su.phone_,su.avatar_,GROUP_CONCAT(DISTINCT s.name_) subject_name_,su.gender_
        FROM course_schedule_student_payment cssp
        LEFT JOIN student_registration sr ON cssp.music_group_id_ = sr.music_group_id_ AND cssp.user_id_ = sr.user_id_
        LEFT JOIN `subject` s ON s.id_ = sr.subject_id_
        LEFT JOIN sys_user su ON su.id_ = cssp.user_id_
        WHERE cssp.class_group_id_ = #{classGroupId} AND sr.music_group_status_ != 'QUIT'
        GROUP BY cssp.user_id_
     
    
        SELECT COUNT(DISTINCT class_group_id_) FROM class_group_student_mapper
        WHERE class_group_id_ = #{masterClassGroupId} AND status_ != 'QUIT' AND user_id_ IN
        
            #{item}
         
     
    
        SELECT DISTINCT user_id_ FROM class_group_student_mapper
         
        AND status_ != 'QUIT'
        UNION ALL
        SELECT DISTINCT user_id_ FROM course_schedule_student_payment csts
         
     
    
        
            class_group_id_ = #{classGroupId}
            
                AND group_type_ = #{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
             
            
                AND music_group_id_ = #{musicGroupId}
             
         
     
    
        SELECT
        cgsm.user_id_ 'key',
        cgtm.user_id_ 'value'
        FROM
            class_group_student_mapper cgsm
            LEFT JOIN class_group cg ON cgsm.class_group_id_ = cg.id_
            LEFT JOIN class_group_teacher_mapper cgtm ON cgsm.class_group_id_ = cgtm.class_group_id_
        WHERE
        ( cg.del_flag_ IS NULL OR cg.del_flag_ = 0 )
        AND cg.type_ IN ( 'NORMAL')
        AND cgtm.teacher_role_ = 'BISHOP'
        AND cgsm.status_='NORMAL'
        
            AND cgsm.music_group_id_ = #{musicGroupId}
         
        
            AND cgsm.user_id_ IN
            
                #{studentId}
             
         
     
    
        SELECT DISTINCT cg.id_ FROM
        class_group cg
        LEFT JOIN class_group_student_mapper cgsm ON cg.id_ = cgsm.class_group_id_
        LEFT JOIN music_group mg ON cg.music_group_id_=mg.id_
        LEFT JOIN course_schedule cs ON cs.class_group_id_=cg.id_
        WHERE
        cg.type_ IN ('HIGH', 'HIGH_ONLINE')
        AND mg.status_ = 'PROGRESS' AND cg.del_flag_ = 0
        AND cs.del_flag_=0
        AND cs.status_='NOT_START'
        AND ( cs.new_course_id_ IS NULL OR cs.new_course_id_ = cs.id_ )
        
            AND cg.desc_ IS NOT NULL
         
        
            AND cg.desc_ IS NULL
         
        
            AND FIND_IN_SET(mg.organ_id_, #{organIds})
         
        
            AND cg.id_ IN
            
                #{classGroupId}
             
         
        GROUP BY cg.id_
        HAVING
        COUNT(DISTINCT CASE WHEN cgsm.status_ = 'NORMAL' THEN cgsm.user_id_ ELSE NULL END) < 3
     
    
        SELECT
            DISTINCT cg.*
        FROM
            class_group_student_mapper cgsm
            LEFT JOIN class_group_teacher_mapper cgtm ON cgsm.class_group_id_ = cgtm.class_group_id_
            LEFT JOIN class_group cg ON cg.id_ = cgsm.class_group_id_
        WHERE
            cg.del_flag_ = 0
            AND cg.lock_flag_ =0
            AND cgsm.status_='NORMAL' and cg.group_type_ = 'MUSIC'
            AND cgsm.user_id_ IN
            
                #{studentId}
             
            
                AND cgtm.user_id_ = #{teacherId}
             
            
                AND cg.music_group_id_ = #{musicGroupId}
             
            AND cg.id_ IS NOT NULL
        ORDER BY cg.id_ DESC
     
    
    
    	SELECT cgsm.*,cgtm.user_id_ teacher_id_ from class_group_student_mapper cgsm LEFT JOIN class_group cg on cgsm.class_group_id_ = cg.id_
		LEFT JOIN class_group_teacher_mapper cgtm on cgsm.class_group_id_ = cgtm.class_group_id_
		WHERE cgtm.music_group_id_ = #{musicGroupId} and cg.type_ = #{classGroupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler} 
        and cgtm.teacher_role_ = #{teacherRole,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler} and cg.del_flag_ = 0 and cgsm.status_ = 'NORMAL'
		and cgsm.user_id_ IN
                
                    #{studentId}
                 
        group by cgsm.user_id_
     
    
        select COUNT(cgsm.id_) from class_group_student_mapper cgsm
        where FIND_IN_SET(cgsm.user_id_,#{studentIds}) AND cgsm.class_group_id_ = #{oldClassId}
     
    
    
        SELECT a.id_ 'id',a.class_group_id_ classGroupId from 
		(
		select vg.id_,cgsm.class_group_id_,count(cgsm.user_id_) total_student_num_,sum(case when cgsm.status_ = 'QUIT' then 1 else 0 end ) quit_student_num_ 
		from class_group_student_mapper cgsm LEFT JOIN class_group cg on cgsm.class_group_id_ = cg.id_
		LEFT JOIN vip_group vg on vg.id_ = cgsm.music_group_id_
		WHERE vg.group_status_ in (2,6) and cg.del_flag_ != 1 GROUP BY cgsm.class_group_id_
		) a WHERE a.total_student_num_ = a.quit_student_num_
     
    
        select * from class_group_student_mapper
        where music_group_id_ IN
        
            #{groupId}
         
        and group_type_ IN ('VIP','LIVE') and status_ = 'QUIT'
     
    
        SELECT
        cssp.group_type_,
        cssp.music_group_id_,
        cssp.user_id_ student_id_,
        su.username_,
        su.avatar_,
        cssp.be_merged_,
        st.current_grade_num_,
        st.current_class_,
        cssp.join_course_type_ as joinCourseType,
        IF(sa.status_ IS NULL,'TRUANT',sa.status_) status_
        FROM
        course_schedule_student_payment cssp
        LEFT JOIN sys_user su ON cssp.user_id_ = su.id_
        LEFT JOIN student st ON st.user_id_ = su.id_
        LEFT JOIN student_attendance sa ON cssp.course_schedule_id_ = sa.course_schedule_id_ AND cssp.user_id_ = sa.user_id_
        WHERE
        cssp.course_schedule_id_ =#{param.courseScheduleId}
        
            and (su.username_ like CONCAT('%',#{param.search},'%') )
         
        
           and cssp.join_course_type_ = #{param.status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
         
        AND su.id_ IS NOT NULL