zouxuan %!s(int64=5) %!d(string=hai) anos
pai
achega
78e53fe645

+ 1 - 1
mec-auth/mec-auth-server/src/main/resources/config/mybatis/SysUserMapper.xml

@@ -182,7 +182,7 @@
         <result property="portrait" column="avatar_"/>
     </resultMap>
     <select id="getBasic" resultMap="ImUserModel">
-        select CASE WHEN real_name_ IS NULL OR real_name_ = '' THEN username_ ELSE real_name_ END username_,id_,avatar_
+        select CASE WHEN user_type_ LIKE '%STUDENT%' THEN username_ ELSE real_name_ END username_,id_,avatar_
         from sys_user where id_ = #{userId} LIMIT 1
     </select>
     

+ 15 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherDao.java

@@ -328,7 +328,7 @@ public interface TeacherDao extends BaseDAO<Integer, Teacher> {
      * @param teacherId
      * @return
      */
-    List<BasicUserDto> queryTeacherBaseInfo(@Param("teacherId") Set<Integer> teacherId);
+    List<BasicUserDto> queryTeacherBaseInfo(@Param("teacherId") Set<Integer> teacherId,@Param("search") String search);
 
     /**
      * 获取教师immodel
@@ -376,4 +376,18 @@ public interface TeacherDao extends BaseDAO<Integer, Teacher> {
      * @return
      */
     List<BasicUserDto> queryEducationIpa(@Param("userId") Integer userId, @Param("search") String search);
+
+    /**
+     * 获取当前学员关联的课程上的老师(已结束的vip和陪练)
+     * @param studentId
+     * @return
+     */
+    Set<Integer> findCloseCourseTeacherIds(Integer studentId);
+
+    /**
+     * 获取已结束课程老师关联的学生列表
+     * @param teacherId
+     * @return
+     */
+    List<BasicUserDto> findCloseCourseStudentIds(@Param("teacherId") Integer teacherId,@Param("search") String search);
 }

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupService.java

@@ -69,7 +69,7 @@ public interface MusicGroupService extends BaseService<String, MusicGroup> {
 	 * @param studentId
 	 * @return
 	 */
-	List<BasicUserDto> findTeachersByStuId(Integer studentId);
+	List<BasicUserDto> findTeachersByStuId(Integer studentId,String search);
 
 	/**
 	 * 取消乐团

+ 4 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -1086,7 +1086,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
     }
 
     @Override
-    public List<BasicUserDto> findTeachersByStuId(Integer studentId) {
+    public List<BasicUserDto> findTeachersByStuId(Integer studentId,String search) {
         //获取相关乐团老师列表
         Set<Integer> teacherIds = teacherDao.findMusicTeacherIds(studentId);
         //获取学员所在乐团列表
@@ -1103,8 +1103,10 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         teacherIds.addAll(teacherDao.findVipTeacherIds(studentId));
         //获取陪练课老师列表
         teacherIds.addAll(teacherDao.findPracticeTeacherIds(studentId));
+        //获取陪练课,vip课代课老师关联
+        teacherIds.addAll(teacherDao.findCloseCourseTeacherIds(studentId));
         if(teacherIds.size() > 0){
-        	return teacherDao.queryTeacherBaseInfo(teacherIds);
+        	return teacherDao.queryTeacherBaseInfo(teacherIds,search);
         }
         return new ArrayList<BasicUserDto>();
     }

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

@@ -185,7 +185,9 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher>  imple
 				});
 			}
 		}
-		return teachers;
+		//获取课程关联的学生列表
+		teachers.addAll(teacherDao.findCloseCourseStudentIds(teacherId, search));
+		return teachers.stream().distinct().collect(Collectors.toList());
 	}
 
     @Override

+ 22 - 2
mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml

@@ -795,11 +795,13 @@
         <foreach collection="teacherId" item="userId" open="(" close=")" separator=",">
             #{userId}
         </foreach>
+        <if test="search != null and search != ''">
+            AND su.real_name_ LIKE CONCAT('%',#{search},'%')
+        </if>
         GROUP BY su.id_
     </select>
     <select id="queryTeacherImModel" resultMap="com.ym.mec.biz.dal.dao.MusicGroupDao.ImUserModel">
-        SELECT su.id_,su.avatar_,
-        CASE WHEN su.username_ IS NULL THEN su.real_name_ ELSE su.real_name_ END username_
+        SELECT su.id_,su.avatar_,su.real_name_ username_
         FROM sys_user su
         WHERE su.id_ IN
         <foreach collection="teacherIds" item="userId" open="(" close=")" separator=",">
@@ -860,4 +862,22 @@
         </if>
         GROUP BY su.id_
     </select>
+    <select id="findCloseCourseTeacherIds" resultType="java.lang.Integer">
+        SELECT DISTINCT csts.user_id_ FROM course_schedule_student_payment cssp
+        LEFT JOIN course_schedule cs ON cs.id_ = cssp.course_schedule_id_
+        LEFT JOIN course_schedule_teacher_salary csts ON csts.course_schedule_id_ = cs.id_
+        WHERE cssp.group_type_ IN ('VIP','PRACTICE') AND cs.status_ = 'OVER' AND cssp.user_id_ = #{studentId}
+    </select>
+    <select id="findCloseCourseStudentIds" resultMap="com.ym.mec.biz.dal.dao.MusicGroupDao.BasicUserDto">
+        SELECT su.username_,su.id_ user_id_,su.avatar_ head_url_,su.gender_,NULL subject_name_,su.user_type_
+        FROM course_schedule_teacher_salary csts
+        LEFT JOIN course_schedule cs ON csts.course_schedule_id_ = cs.id_
+        LEFT JOIN course_schedule_student_payment cssp ON cs.id_ = cssp.course_schedule_id_
+        LEFT JOIN sys_user su ON su.id_ = cssp.user_id_
+        WHERE csts.group_type_ IN ('VIP','PRACTICE') AND cs.status_ = 'OVER' AND csts.user_id_ = #{teacherId} AND su.id_ IS NOT NULL
+        <if test="search != null and search != ''">
+            AND su.username_ LIKE CONCAT('%',#{search},'%')
+        </if>
+        GROUP BY su.id_
+    </select>
 </mapper>

+ 2 - 2
mec-student/src/main/java/com/ym/mec/student/controller/MusicGroupController.java

@@ -73,12 +73,12 @@ public class MusicGroupController extends BaseController {
 
     @ApiOperation(value = "根据学员编号,获取有关联的老师列表")
     @GetMapping("/findTeachersByStuId")
-    public Object findTeachersByStuId() {
+    public Object findTeachersByStuId(String search) {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if (sysUser == null) {
             return failed(HttpStatus.FORBIDDEN, "请登录");
         }
-        return succeed(musicGroupService.findTeachersByStuId(sysUser.getId()));
+        return succeed(musicGroupService.findTeachersByStuId(sysUser.getId(),search));
     }