Joburgess пре 5 година
родитељ
комит
788c4b468c

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

@@ -7,8 +7,8 @@ import com.ym.mec.biz.dal.entity.Teacher;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.entity.ImUserModel;
 import org.apache.ibatis.annotations.Param;
+
 import java.math.BigDecimal;
-import java.util.Collection;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -54,6 +54,8 @@ public interface TeacherDao extends BaseDAO<Integer, Teacher> {
      */
     List<Map<Integer, String>> queryNameByIds(@Param("userIds") String userIds);
 
+    List<Map<Integer, String>> queryNameByIdList(@Param("userIds") List<Integer> userIds);
+
     /**
      * 根据用户编号列表获取手机号
      *

+ 3 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -3611,11 +3611,9 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
             Map<Long, List<TeacherAttendance>> courseTeacherAttendanceMap = teacherAttendances.stream().collect(Collectors.groupingBy(TeacherAttendance::getCourseScheduleId));
             Map<Integer, Long> studentNumCourseMap = MapUtil.convertIntegerMap(studentAttendanceDao.countStudentAttendancesByCourses(courseScheduleIds));
             Map<Long, String> studentIdMap = MapUtil.convertIntegerMap(courseScheduleStudentPaymentDao.getStudentIdMap(courseScheduleIds));
-            List<Integer> teacherIds=new ArrayList<>();
-            for (CourseScheduleEndDto courseScheduleEndDto : results) {
-                teacherIds.add(courseScheduleEndDto.getActualTeacherId());
-            }
-            List<Map<Integer, String>> nameIdMaps = teacherDao.queryNameByIds(StringUtils.join(teacherIds,","));
+            List<Integer> teacherIds=results.stream().filter(t->Objects.nonNull(t.getActualTeacherId())).map(CourseSchedule::getActualTeacherId).collect(Collectors.toList());
+
+            List<Map<Integer, String>> nameIdMaps = teacherDao.queryNameByIdList(teacherIds);
             Map<Integer, String> nameIdMap=MapUtil.convertIntegerMap(nameIdMaps);
 
 			Map<Integer, Group> classGroupIdGroupMap = groups.stream().collect(Collectors.toMap(Group::getClassGroupId, e -> e));

+ 1 - 1
mec-biz/src/main/resources/config/mybatis/GroupMapper.xml

@@ -110,7 +110,7 @@
         FROM courses_group g
         LEFT JOIN class_group cg ON cg.music_group_id_=g.id_
         LEFT JOIN organization o ON o.id_=g.organ_id_
-        WHERE cg.group_type_='PRACTICE'
+        WHERE cg.group_type_='COMM'
         <if test="search!=null">
             AND (g.name_ LIKE CONCAT( '%', #{search}, '%' ) OR g.id_ LIKE CONCAT( '%', #{search}, '%' ))
         </if>

+ 6 - 0
mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml

@@ -294,6 +294,12 @@
     <select id="queryNameByIds" resultType="java.util.Map" parameterType="list">
         select id_ `key`,IF(real_name_ IS NUll,'',real_name_) `value` FROM sys_user s WHERE FIND_IN_SET(id_,#{userIds})
     </select>
+    <select id="queryNameByIdList" resultType="java.util.Map">
+        select id_ `key`,IF(real_name_ IS NUll,'',real_name_) `value` FROM sys_user s WHERE id_ IN
+        <foreach collection="userIds" item="userId" separator="," open="(" close=")">
+            #{userId}
+        </foreach>
+    </select>
 
     <select id="queryPhoneByIds" resultType="java.util.Map" parameterType="list">
         select id_ `key`,phone_ `value` FROM sys_user s WHERE FIND_IN_SET(id_,#{userIds}) AND s.phone_ IS NOT NULL