浏览代码

Merge remote-tracking branch 'origin/master'

Joburgess 5 年之前
父节点
当前提交
691289c22c

+ 12 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ClassGroupDao.java

@@ -98,13 +98,22 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
     List<ClassGroupTeachersDto> findClassGroupByMusicGroupId(@Param("musicGroupId") String musicGroupId, @Param("type") String type, @Param("classGroupId") Integer classGroupId);
     List<ClassGroupTeachersDto> findClassGroupByMusicGroupId(@Param("musicGroupId") String musicGroupId, @Param("type") String type, @Param("classGroupId") Integer classGroupId);
 
 
     /**
     /**
-     * 获取学员所在群组信息
+     * 获取学员所在乐团群组信息
      *
      *
      * @param userId
      * @param userId
      * @param search
      * @param search
      * @return
      * @return
      */
      */
-    List<ImGroupModel> queryUserGroups(@Param("userId") Integer userId, @Param("search") String search);
+    List<ImGroupModel> queryUserMusicGroups(@Param("userId") Integer userId, @Param("search") String search);
+
+    /**
+     * 获取学员所在VIP群组信息
+     *
+     * @param userId
+     * @param search
+     * @return
+     */
+    List<ImGroupModel> queryUserVipGroups(@Param("userId") Integer userId, @Param("search") String search);
 
 
     /**
     /**
      * 获取vip课的学生名称列表
      * 获取vip课的学生名称列表
@@ -428,7 +437,7 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
      * @param groupId
      * @param groupId
      * @return
      * @return
      */
      */
-    List<ImUserModel> findGroupTeacher(Integer groupId);
+    Set<Integer> findGroupTeacher(Integer groupId);
 
 
     /**
     /**
      * @param courseScheduleIds: 课程编号列表
      * @param courseScheduleIds: 课程编号列表

+ 7 - 8
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupDao.java

@@ -52,14 +52,6 @@ public interface MusicGroupDao extends BaseDAO<String, MusicGroup> {
     Integer countCourseByType(@Param("userId") Integer userId, @Param("type") ClassGroupTypeEnum type);
     Integer countCourseByType(@Param("userId") Integer userId, @Param("type") ClassGroupTypeEnum type);
 
 
     /**
     /**
-     * 根绝学员编号获取相关老师列表
-     *
-     * @param studentId
-     * @return
-     */
-    List<BasicUserDto> findTeachersByStuId(Integer studentId);
-
-    /**
      * 获取学员所在乐团
      * 获取学员所在乐团
      *
      *
      * @param userId
      * @param userId
@@ -211,4 +203,11 @@ public interface MusicGroupDao extends BaseDAO<String, MusicGroup> {
      * @return
      * @return
      */
      */
     School findUserSchool(@Param("userId") Integer userId);
     School findUserSchool(@Param("userId") Integer userId);
+
+    /**
+     * 根据班级群,获取乐团信息
+     * @param groupId
+     * @return
+     */
+    MusicGroup findByClassId(Integer groupId);
 }
 }

+ 30 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherDao.java

@@ -5,8 +5,10 @@ import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.CourseHomework;
 import com.ym.mec.biz.dal.entity.CourseHomework;
 import com.ym.mec.biz.dal.entity.Teacher;
 import com.ym.mec.biz.dal.entity.Teacher;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.entity.ImUserModel;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Param;
 import java.math.BigDecimal;
 import java.math.BigDecimal;
+import java.util.Collection;
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
 import java.util.Set;
 import java.util.Set;
@@ -308,4 +310,32 @@ public interface TeacherDao extends BaseDAO<Integer, Teacher> {
      * @return
      * @return
      */
      */
     List<BasicUserDto> queryTeacherBaseInfo(@Param("teacherId")Set<Integer> teacherId);
     List<BasicUserDto> queryTeacherBaseInfo(@Param("teacherId")Set<Integer> teacherId);
+
+    /**
+     * 获取教师immodel
+     * @param teacherIds
+     * @return
+     */
+    List<ImUserModel> queryTeacherImModel(@Param("teacherIds") Set<Integer> teacherIds);
+
+    /**
+     * 获取和学员相关的乐团老师列表
+     * @param studentId
+     * @return
+     */
+    Set<Integer> findMusicTeacherIds(Integer studentId);
+
+    /**
+     * 获取和学员相关的VIP老师列表
+     * @param studentId
+     * @return
+     */
+    Set<Integer> findVipTeacherIds(Integer studentId);
+
+    /**
+     * 获取和学员相关的陪练课老师列表
+     * @param studentId
+     * @return
+     */
+    Set<Integer> findPracticeTeacherIds(Integer studentId);
 }
 }

+ 16 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -674,7 +674,10 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 
 
     @Override
     @Override
     public List<ImGroupModel> queryUserGroups(Integer userId, String search) {
     public List<ImGroupModel> queryUserGroups(Integer userId, String search) {
-        List<ImGroupModel> imGroupModels = classGroupDao.queryUserGroups(userId, search);
+        //获取乐团群,vip群(进行中)
+        //获取学员乐团群
+        List<ImGroupModel> imGroupModels = classGroupDao.queryUserMusicGroups(userId, search);
+        imGroupModels.addAll(classGroupDao.queryUserVipGroups(userId, search));
         if (imGroupModels != null && imGroupModels.size() > 0) {
         if (imGroupModels != null && imGroupModels.size() > 0) {
             Set<String> classGroupIds = imGroupModels.stream().map(e -> e.getId()).collect(Collectors.toSet());
             Set<String> classGroupIds = imGroupModels.stream().map(e -> e.getId()).collect(Collectors.toSet());
             //获取班级老师总数map
             //获取班级老师总数map
@@ -689,12 +692,22 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 
 
     @Override
     @Override
     public List<ImUserModel> findGroupUsers(Integer groupId) {
     public List<ImUserModel> findGroupUsers(Integer groupId) {
+        //获取相关学员
         List<ImUserModel> students = classGroupDao.findGroupUsers(groupId);
         List<ImUserModel> students = classGroupDao.findGroupUsers(groupId);
         if (students == null) {
         if (students == null) {
             students = new ArrayList<>();
             students = new ArrayList<>();
         }
         }
-        List<ImUserModel> teachers = classGroupDao.findGroupTeacher(groupId);
-        students.addAll(teachers);
+        //获取当前群关联的乐团
+        MusicGroup musicGroup = musicGroupDao.findByClassId(groupId);
+        Set<Integer> teacherIds = new HashSet<>();
+        if(musicGroup != null){
+            teacherIds.add(musicGroup.getTeamTeacherId());
+            teacherIds.add(musicGroup.getEducationalTeacherId());
+            teacherIds.add(musicGroup.getDirectorUserId());
+        }
+        //获取相关老师
+        teacherIds.addAll(classGroupDao.findGroupTeacher(groupId));
+        students.addAll(teacherDao.queryTeacherImModel(teacherIds));
         return students;
         return students;
     }
     }
 
 

+ 10 - 12
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -1083,25 +1083,23 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 
 
     @Override
     @Override
     public List<BasicUserDto> findTeachersByStuId(Integer studentId) {
     public List<BasicUserDto> findTeachersByStuId(Integer studentId) {
-        List<BasicUserDto> teachersByStuId = musicGroupDao.findTeachersByStuId(studentId);
+        //获取相关乐团老师列表
+        Set<Integer> teacherIds = teacherDao.findMusicTeacherIds(studentId);
         //获取学员所在乐团列表
         //获取学员所在乐团列表
         List<String> musicGroupIds = studentRegistrationDao.queryStudentMusicGroup(studentId);
         List<String> musicGroupIds = studentRegistrationDao.queryStudentMusicGroup(studentId);
-        Set<Integer> teacherId = new HashSet<>();
         if(musicGroupIds != null && musicGroupIds.size() > 0){
         if(musicGroupIds != null && musicGroupIds.size() > 0){
             List<MusicGroup> musicGroups = musicGroupDao.queryListByIds(StringUtils.join(musicGroupIds, ","));
             List<MusicGroup> musicGroups = musicGroupDao.queryListByIds(StringUtils.join(musicGroupIds, ","));
             musicGroups.forEach(e->{
             musicGroups.forEach(e->{
-                teacherId.add(e.getDirectorUserId());
-                teacherId.add(e.getOperatorUserId());
-                teacherId.add(e.getEducationalTeacherId());
-                teacherId.add(e.getTeamTeacherId());
+                teacherIds.add(e.getDirectorUserId());
+                teacherIds.add(e.getEducationalTeacherId());
+                teacherIds.add(e.getTeamTeacherId());
             });
             });
         }
         }
-        Set<Integer> collect = teachersByStuId.stream().map(e -> e.getUserId()).collect(Collectors.toSet());
-        if(collect == null){
-            collect = new HashSet<>();
-        }
-        collect.addAll(teacherId);
-        return teacherDao.queryTeacherBaseInfo(collect);
+        //获取相关vip课老师列表
+        teacherIds.addAll(teacherDao.findVipTeacherIds(studentId));
+        //获取陪练课老师列表
+        teacherIds.addAll(teacherDao.findPracticeTeacherIds(studentId));
+        return teacherDao.queryTeacherBaseInfo(teacherIds);
     }
     }
 
 
     @Override
     @Override

+ 0 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherServiceImpl.java

@@ -161,7 +161,6 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher>  imple
 				musicGroupList.forEach(e->{
 				musicGroupList.forEach(e->{
 					teacherIds.add(e.getTeamTeacherId());
 					teacherIds.add(e.getTeamTeacherId());
 					teacherIds.add(e.getEducationalTeacherId());
 					teacherIds.add(e.getEducationalTeacherId());
-					teacherIds.add(e.getOperatorUserId());
 					teacherIds.add(e.getDirectorUserId());
 					teacherIds.add(e.getDirectorUserId());
 				});
 				});
 			}
 			}

+ 31 - 10
mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml

@@ -263,12 +263,13 @@
         <result column="teacher_ids_" property="teacherIds"/>
         <result column="teacher_ids_" property="teacherIds"/>
         <result column="group_name_" property="groupName"/>
         <result column="group_name_" property="groupName"/>
     </resultMap>
     </resultMap>
-    <select id="queryUserGroups" resultMap="imGroupModel">
-        SELECT cg.id_,cg.name_,cg.student_num_,cg.img_,mg.name_ group_name_ FROM class_group_student_mapper cgsm
+    <select id="queryUserMusicGroups" resultMap="imGroupModel">
+        SELECT cg.id_,cg.name_,cg.student_num_,cg.img_,mg.name_ group_name_
+        FROM class_group_student_mapper cgsm
         LEFT JOIN class_group cg ON cgsm.class_group_id_ = cg.id_
         LEFT JOIN class_group cg ON cgsm.class_group_id_ = cg.id_
         LEFT JOIN music_group mg ON mg.id_ = cg.music_group_id_
         LEFT JOIN music_group mg ON mg.id_ = cg.music_group_id_
         <where>
         <where>
-            cg.del_flag_ = 0 AND cgsm.status_ != 'QUIT' AND (mg.status_ = 'PROGRESS' OR mg.id_ IS NULL)
+            cg.del_flag_ = 0 AND cgsm.status_ != 'QUIT' AND mg.status_ = 'PROGRESS'
             <if test="userId != null">
             <if test="userId != null">
                 AND cgsm.user_id_ = #{userId}
                 AND cgsm.user_id_ = #{userId}
             </if>
             </if>
@@ -276,6 +277,24 @@
                 AND cg.name_ LIKE CONCAT('%',#{search},'%')
                 AND cg.name_ LIKE CONCAT('%',#{search},'%')
             </if>
             </if>
         </where>
         </where>
+        GROUP BY cg.id_
+    </select>
+
+    <select id="queryUserVipGroups" resultMap="imGroupModel">
+        SELECT cg.id_,cg.name_,cg.student_num_,cg.img_
+        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_ = cg.music_group_id_
+        <where>
+            cg.del_flag_ = 0 AND cgsm.status_ != 'QUIT' AND vg.group_status_ = 4
+            <if test="userId != null">
+                AND cgsm.user_id_ = #{userId}
+            </if>
+            <if test="search != null and search != ''">
+                AND cg.name_ LIKE CONCAT('%',#{search},'%')
+            </if>
+        </where>
+        GROUP BY cg.id_
     </select>
     </select>
     <select id="findVipStuNames" resultType="map">
     <select id="findVipStuNames" resultType="map">
         SELECT cg.music_group_id_ 'key',GROUP_CONCAT(su.username_) 'value'
         SELECT cg.music_group_id_ 'key',GROUP_CONCAT(su.username_) 'value'
@@ -290,10 +309,10 @@
         LEFT JOIN sys_user su ON cgsm.user_id_ = su.id_
         LEFT JOIN sys_user su ON cgsm.user_id_ = su.id_
         WHERE cgsm.class_group_id_ = #{classGroupId} AND cgsm.status_ != 'QUIT' GROUP BY su.id_
         WHERE cgsm.class_group_id_ = #{classGroupId} AND cgsm.status_ != 'QUIT' GROUP BY su.id_
     </select>
     </select>
-    <select id="findGroupTeacher" resultMap="com.ym.mec.biz.dal.dao.MusicGroupDao.ImUserModel">
-        SELECT su.id_,su.avatar_,su.username_ FROM class_group_teacher_mapper cgtm
-        LEFT JOIN sys_user su ON cgtm.user_id_ = su.id_
-        WHERE cgtm.class_group_id_ = #{classGroupId} GROUP BY su.id_
+    <select id="findGroupTeacher" resultType="java.lang.Integer">
+        SELECT cgtm.user_id_ FROM class_group_teacher_mapper cgtm
+        WHERE cgtm.class_group_id_ = #{classGroupId}
+        GROUP BY cgtm.user_id_
     </select>
     </select>
     <select id="countStudentPayLog" resultType="java.lang.Integer">
     <select id="countStudentPayLog" resultType="java.lang.Integer">
         SELECT COUNT(spo.id_)
         SELECT COUNT(spo.id_)
@@ -356,11 +375,13 @@
     </select>
     </select>
 
 
     <select id="queryTeacherGroups" resultMap="imGroupModel">
     <select id="queryTeacherGroups" resultMap="imGroupModel">
-        SELECT cg.id_,cg.name_,cg.student_num_,cg.img_,mg.name_ group_name_ FROM class_group_teacher_mapper cgtm
+        SELECT cg.id_,cg.name_,cg.student_num_,cg.img_,mg.name_ group_name_
+        FROM class_group_teacher_mapper cgtm
         LEFT JOIN class_group cg ON cgtm.class_group_id_ = cg.id_
         LEFT JOIN class_group cg ON cgtm.class_group_id_ = cg.id_
-        LEFT JOIN music_group mg ON mg.id_ = cg.music_group_id_
+        LEFT JOIN music_group mg ON mg.id_ = cg.music_group_id_ AND cg.group_type_ = 'MUSIC'
+        LEFT JOIN vip_group vg ON vg.id_ = cg.music_group_id_ AND cg.group_type_ = 'VIP'
         WHERE (cgtm.user_id_ = #{userId} OR mg.team_teacher_id_ = #{userId} OR mg.educational_teacher_id_ = #{userId} OR mg.director_user_id_ = #{userId})
         WHERE (cgtm.user_id_ = #{userId} OR mg.team_teacher_id_ = #{userId} OR mg.educational_teacher_id_ = #{userId} OR mg.director_user_id_ = #{userId})
-         AND cg.del_flag_ = 0 AND (mg.status_ = 'PROGRESS' OR mg.id_ IS NULL)
+        AND cg.del_flag_ = 0 AND (mg.status_ = 'PROGRESS' OR vg.group_status_ IN (2,4))
         <if test="search != null">
         <if test="search != null">
             AND cg.name_ LIKE CONCAT('%',#{search},'%')
             AND cg.name_ LIKE CONCAT('%',#{search},'%')
         </if>
         </if>

+ 6 - 33
mec-biz/src/main/resources/config/mybatis/MusicGroupMapper.xml

@@ -243,26 +243,6 @@
 		<result column="user_type_" property="userType"/>
 		<result column="user_type_" property="userType"/>
 	</resultMap>
 	</resultMap>
 
 
-	<select id="findTeachersByStuId" resultMap="BasicUserDto">
-		SELECT DISTINCT
-			su.real_name_ username_,
-			su.id_ user_id_,
-			su.avatar_ head_url_,
-			gender_,
-			GROUP_CONCAT(s.name_) subject_name_
-		  FROM
-			class_group_student_mapper cgsp
-			LEFT JOIN class_group cg ON cgsp.class_group_id_ = cg.id_
-			LEFT JOIN class_group_teacher_mapper cgtm ON cg.id_ = cgtm.class_group_id_
-			LEFT JOIN sys_user su ON cgtm.user_id_ = su.id_
-			LEFT JOIN teacher t ON su.id_ = t.id_
-			LEFT JOIN `subject` s ON FIND_IN_SET(s.id_,t.subject_id_)
-			LEFT JOIN music_group mg ON cgsp.music_group_id_ = mg.id_
-		  WHERE
-			cgsp.user_id_ = #{studentId} AND cgsp.status_ != 'QUIT' AND cg.del_flag_ = 0 AND ((cgsp.group_type_ = 'MUSIC' AND mg.status_ = 'PROGRESS') OR cgsp.group_type_ != 'MUSIC')
-		  GROUP BY su.id_
-	</select>
-
     <select id="queryUserGroups" resultMap="com.ym.mec.biz.dal.dao.ClassGroupDao.imGroupModel">
     <select id="queryUserGroups" resultMap="com.ym.mec.biz.dal.dao.ClassGroupDao.imGroupModel">
         SELECT mg.id_,mg.name_,mg.img_
         SELECT mg.id_,mg.name_,mg.img_
 		FROM student_registration sr
 		FROM student_registration sr
@@ -289,12 +269,6 @@
 		<result property="name" column="username_"/>
 		<result property="name" column="username_"/>
 		<result property="portrait" column="avatar_"/>
 		<result property="portrait" column="avatar_"/>
 	</resultMap>
 	</resultMap>
-	<!--<select id="findGroupUsers" resultMap="ImUserModel">
-		SELECT su.id_,su.avatar_,su.username_ FROM class_group cg
-		LEFT JOIN class_group_student_mapper cgsm ON cg.id_ = cgsm.class_group_id_
-		LEFT JOIN sys_user su ON cgsm.user_id_ = su.id_
-		WHERE cg.music_group_id_ = #{musicGroupId}  AND cgsm.status_ != 'QUIT' GROUP BY su.id_
-	</select>-->
 	<select id="queryTeacherGroups" resultMap="com.ym.mec.biz.dal.dao.ClassGroupDao.imGroupModel">
 	<select id="queryTeacherGroups" resultMap="com.ym.mec.biz.dal.dao.ClassGroupDao.imGroupModel">
 		SELECT mg.id_,mg.name_,mg.img_,GROUP_CONCAT(DISTINCT cgtm.user_id_) teacher_ids_
 		SELECT mg.id_,mg.name_,mg.img_,GROUP_CONCAT(DISTINCT cgtm.user_id_) teacher_ids_
 		FROM music_group mg
 		FROM music_group mg
@@ -307,13 +281,6 @@
 		</if>
 		</if>
 		GROUP BY mg.id_
 		GROUP BY mg.id_
 	</select>
 	</select>
-
-	<!--<select id="queryTeacherIds" resultType="java.lang.Integer">
-		SELECT DISTINCT cgtm.user_id_ FROM class_group cg
-		LEFT JOIN class_group_teacher_mapper cgtm ON cg.id_ = cgtm.class_group_id_
-		WHERE cg.music_group_id_ = #{musicGroupId}
-	</select>-->
-
     <select id="countPayNum" resultType="java.util.Map" parameterType="list">
     <select id="countPayNum" resultType="java.util.Map" parameterType="list">
 		SELECT cg.music_group_id_ `key`,COUNT(cgsm.id_) `value` FROM class_group cg
 		SELECT cg.music_group_id_ `key`,COUNT(cgsm.id_) `value` FROM class_group cg
 		LEFT JOIN class_group_student_mapper cgsm ON cg.id_ = cgsm.class_group_id_
 		LEFT JOIN class_group_student_mapper cgsm ON cg.id_ = cgsm.class_group_id_
@@ -418,4 +385,10 @@
 		LEFT JOIN school s on mg.school_id_ = s.id_
 		LEFT JOIN school s on mg.school_id_ = s.id_
 		WHERE sr.user_id_ = #{userId} ORDER BY sr.id_ DESC LIMIT 1
 		WHERE sr.user_id_ = #{userId} ORDER BY sr.id_ DESC LIMIT 1
 	</select>
 	</select>
+	<select id="findByClassId" resultMap="MusicGroup">
+		SELECT mg.* FROM class_group cg
+		LEFT JOIN music_group mg ON cg.music_group_id_ = mg.id_
+		WHERE cg.id_ = #{groupId} AND cg.group_type_ = 'MUSIC'
+		AND mg.status_ = 'PROGRESS' AND cg.del_flag_ = 0
+	</select>
 </mapper>
 </mapper>

+ 30 - 4
mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml

@@ -261,12 +261,13 @@
         FROM class_group_teacher_mapper cgtm
         FROM class_group_teacher_mapper cgtm
         LEFT JOIN class_group_student_mapper cgsm ON cgtm.class_group_id_ = cgsm.class_group_id_
         LEFT JOIN class_group_student_mapper cgsm ON cgtm.class_group_id_ = cgsm.class_group_id_
         LEFT JOIN sys_user su ON cgsm.user_id_ = su.id_
         LEFT JOIN sys_user su ON cgsm.user_id_ = su.id_
-        LEFT JOIN student_registration sr ON sr.user_id_ = su.id_
+        LEFT JOIN student_registration sr ON sr.user_id_ = cgsm.id_ AND cgsm.music_group_id_ = sr.music_group_id_
         LEFT JOIN `subject` s ON s.id_ = sr.actual_subject_id_
         LEFT JOIN `subject` s ON s.id_ = sr.actual_subject_id_
-        LEFT JOIN music_group mg ON mg.id_ = cgtm.music_group_id_
+        LEFT JOIN music_group mg ON mg.id_ = cgsm.music_group_id_ AND cgsm.group_type_ = 'MUSIC'
+        LEFT JOIN vip_group vg ON vg.id_ = cgsm.music_group_id_ AND cgsm.group_type_ = 'VIP'
         WHERE (cgtm.user_id_ = #{teacherId} OR mg.team_teacher_id_ = #{teacherId} OR mg.educational_teacher_id_ = #{teacherId}
         WHERE (cgtm.user_id_ = #{teacherId} OR mg.team_teacher_id_ = #{teacherId} OR mg.educational_teacher_id_ = #{teacherId}
-        OR director_user_id_ = #{teacherId}) AND su.id_ IS NOT NULL AND cgtm.music_group_id_ = sr.music_group_id_
-        AND (mg.status_ = 'PROGRESS' OR mg.status_ IS NULL)
+        OR director_user_id_ = #{teacherId}) AND su.id_ IS NOT NULL
+        AND (mg.status_ = 'PROGRESS' OR vg.group_status_ IN (2,4) OR cgsm.group_type_ = 'PRACTICE')
         <if test="search != null">
         <if test="search != null">
             AND su.username_ LIKE CONCAT('%',#{search},'%')
             AND su.username_ LIKE CONCAT('%',#{search},'%')
         </if>
         </if>
@@ -796,4 +797,29 @@
         </foreach>
         </foreach>
         GROUP BY su.id_
         GROUP BY su.id_
     </select>
     </select>
+    <select id="queryTeacherImModel" resultMap="com.ym.mec.biz.dal.dao.MusicGroupDao.ImUserModel">
+        SELECT su.id_,su.avatar_,su.username_ FROM sys_user su
+        WHERE su.id_ IN
+        <foreach collection="teacherIds" item="userId" open="(" close=")" separator=",">
+            #{userId}
+        </foreach>
+    </select>
+    <select id="findMusicTeacherIds" resultType="java.lang.Integer">
+        SELECT DISTINCT cgtm.user_id_ FROM class_group_student_mapper cgsm
+        LEFT JOIN class_group_teacher_mapper cgtm ON cgsm.course_schedule_id_ = cgtm.course_schedule_id_
+        LEFT JOIN music_group mg ON cgsm.music_group_id_ = mg.id_
+        WHERE mg.status_ = 'PROGRESS' AND cgsm.user_id_ = #{studentId}
+    </select>
+    <select id="findVipTeacherIds" resultType="java.lang.Integer">
+        SELECT DISTINCT cgtm.user_id_ FROM class_group_student_mapper cgsm
+        LEFT JOIN class_group_teacher_mapper cgtm ON cgsm.course_schedule_id_ = cgtm.course_schedule_id_
+        LEFT JOIN vip_group vg ON vg.id_ = cgsm.music_group_id_
+        WHERE vg.group_status_ IN (2,4) AND cgsm.user_id_ = #{studentId}
+    </select>
+    <select id="findPracticeTeacherIds" resultType="java.lang.Integer">
+        SELECT DISTINCT cgtm.user_id_ FROM class_group_student_mapper cgsm
+        LEFT JOIN class_group_teacher_mapper cgtm ON cgsm.course_schedule_id_ = cgtm.course_schedule_id_
+        LEFT JOIN practice_group pg ON pg.id_ = cgsm.music_group_id_
+        WHERE cgsm.group_type_ = 'PRACTICE' AND cgsm.user_id_ = #{studentId}
+    </select>
 </mapper>
 </mapper>

+ 2 - 0
mec-common/common-core/src/main/java/com/ym/mec/common/entity/ImUserModel.java

@@ -65,4 +65,6 @@ public class ImUserModel {
     public void setBlacklist(ImUserModel[] blacklist) {
     public void setBlacklist(ImUserModel[] blacklist) {
         this.blacklist = blacklist;
         this.blacklist = blacklist;
     }
     }
+
+
 }
 }

+ 1 - 0
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherManageController.java

@@ -5,6 +5,7 @@ import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dto.CashAccountDetail;
 import com.ym.mec.biz.dal.dto.CashAccountDetail;
 import com.ym.mec.biz.dal.entity.SysSuggestion;
 import com.ym.mec.biz.dal.entity.SysSuggestion;
 import com.ym.mec.biz.dal.entity.SysUserBankCard;
 import com.ym.mec.biz.dal.entity.SysUserBankCard;
+import com.ym.mec.biz.dal.entity.VipGroup;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.UploadReturnBean;
 import com.ym.mec.common.entity.UploadReturnBean;