Browse Source

Merge remote-tracking branch 'origin/master'

Joburgess 5 years ago
parent
commit
f18aea60db

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SubjectDao.java

@@ -127,6 +127,15 @@ public interface SubjectDao extends BaseDAO<Integer, Subject> {
     /**
      * @describe
      * @author Joburgess
+     * @date 2019/11/13
+     * @param courseScheuleIds:
+     * @return java.util.List<java.util.Map<java.lang.Integer,java.lang.String>>
+     */
+    List<Map<Integer,String>> findClassGroupSubjectId(@Param("courseScheduleIds") List<Long> courseScheuleIds);
+
+    /**
+     * @describe
+     * @author Joburgess
      * @date 2019/12/19
      * @param studentInfos:
      * @return java.util.List<java.util.Map<java.lang.Integer,java.lang.String>>

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CourseScheduleDto.java

@@ -47,6 +47,8 @@ public class CourseScheduleDto extends CourseSchedule {
 
     private String subjectName;
 
+    private String subjectId;
+
     private String groupName;
 
     @ApiModelProperty(value = "是否是第一次进行学生点名")
@@ -55,6 +57,14 @@ public class CourseScheduleDto extends CourseSchedule {
     @ApiModelProperty(value = "能否进行调整")
     private int enableAdjustInToday;
 
+    public String getSubjectId() {
+        return subjectId;
+    }
+
+    public void setSubjectId(String subjectId) {
+        this.subjectId = subjectId;
+    }
+
     public String getGroupName() {
         return groupName;
     }

+ 5 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -879,6 +879,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                 break;
             case "PRACTICE":
                 teacherMusicClassGroup = classGroupDao.findTeacherPracticeClassGroup(user.getId().longValue());
+                //获取陪练课学生名称
                 break;
             default:
                 throw new BizException("课程类型错误");
@@ -909,7 +910,10 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         Map<Integer, Long> classGroupStudentNumMap = MapUtil.convertIntegerMap(classGroupStudentNumMaps);
         Map<Integer, Long> currentClassTimes = MapUtil.convertIntegerMap(courseScheduleDao.countCurrentNumByClassGroupId(classGroupIds,user.getId()));
         teacherMusicClassGroup.forEach(teacherClassGroupDto -> {
-
+            if(teacherClassGroupDto.getType() == ClassGroupTypeEnum.PRACTICE){
+                String[] studentNums = classGroupStudentMapperDao.findStudentNumByClassGroupId(teacherClassGroupDto.getClassGroupId());
+                teacherClassGroupDto.setStudentNames(StringUtils.join(studentNums, ","));
+            }
             if (teacherClassGroupDto.getType() == ClassGroupTypeEnum.VIP) {
                 String[] studentNums = classGroupStudentMapperDao.findStudentNumByClassGroupId(teacherClassGroupDto.getClassGroupId());
                 teacherClassGroupDto.setStudentNames(StringUtils.join(studentNums, ","));

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -399,9 +399,12 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
                 .map(CourseScheduleDto::getId).collect(Collectors.toList());
 
         Map<Integer, String> subjectNameCourseMap = new HashMap<>();
+        Map<Integer, String> subjectIdCourseMap = new HashMap<>();
         if (!CollectionUtils.isEmpty(courseScheduleIds)) {
             List<Map<Integer, String>> subjectNameCourseMaps = subjectDao.findSubjectNameCourseMaps(courseScheduleIds);
+            List<Map<Integer, String>> subjectIdCourseMaps = subjectDao.findClassGroupSubjectId(courseScheduleIds);
             subjectNameCourseMap = MapUtil.convertMybatisMap(subjectNameCourseMaps);
+            subjectIdCourseMap = MapUtil.convertMybatisMap(subjectIdCourseMaps);
         }
 
         for (CourseScheduleDto courseScheduleDto : studentCourseSchedulesWithDate) {
@@ -413,6 +416,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
                 courseScheduleDto.setStatus(CourseStatusEnum.UNDERWAY);
             }
             courseScheduleDto.setSubjectName(subjectNameCourseMap.get(courseScheduleDto.getId()));
+            courseScheduleDto.setSubjectId(subjectIdCourseMap.get(courseScheduleDto.getId()));
         }
         result.put("list", studentCourseSchedulesWithDate);
         return result;
@@ -489,9 +493,12 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
                 .map(CourseScheduleDto::getId).collect(Collectors.toList());
 
         Map<Integer, String> subjectNameCourseMap = new HashMap<>();
+        Map<Integer, String> subjectIdCourseMap = new HashMap<>();
         if (!CollectionUtils.isEmpty(courseScheduleIds)) {
             List<Map<Integer, String>> subjectNameCourseMaps = subjectDao.findSubjectNameCourseMaps(courseScheduleIds);
+            List<Map<Integer, String>> subjectIdCourseMaps = subjectDao.findClassGroupSubjectId(courseScheduleIds);
             subjectNameCourseMap = MapUtil.convertMybatisMap(subjectNameCourseMaps);
+            subjectIdCourseMap = MapUtil.convertMybatisMap(subjectIdCourseMaps);
         }
         List<Map<Integer, Integer>> studentNumCourseMaps = null;
         if (!CollectionUtils.isEmpty(allCourseScheduleIds)) {
@@ -535,6 +542,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
                 courseScheduleDto.setStudentNames(org.apache.commons.lang3.StringUtils.join(studentNames, ","));
             }
             courseScheduleDto.setSubjectName(subjectNameCourseMap.get(courseScheduleDto.getId()));
+            courseScheduleDto.setSubjectId(subjectIdCourseMap.get(courseScheduleDto.getId()));
             Long leaveStudentNum = courseLeaveStudentNumMap.get(courseScheduleDto.getId());
             Long normalStudentNum = classGroupStudentNumMap.get(courseScheduleDto.getClassGroupId());
             if(Objects.nonNull(leaveStudentNum)&&Objects.nonNull(normalStudentNum)&&leaveStudentNum.intValue()==normalStudentNum.intValue()){

+ 17 - 7
mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml

@@ -454,13 +454,23 @@
     </select>
     <select id="findTeacherPracticeClassGroup" resultMap="TeacherClassGroupDto">
         SELECT
-        MIN(pg.name_) music_group_name_,COUNT(csts.id_) online_classes_num_,0 offline_classes_num_,
-        pg.id_ music_group_id_,MAX(pg.single_class_minutes_) single_class_minutes_,MIN(csts.class_group_id_) class_group_id_,'PRACTICE' type_,1 class_mode_,MAX(su.username_) student_names_
-        FROM practice_group pg
-        LEFT JOIN course_schedule_teacher_salary csts ON pg.id_ = csts.music_group_id_ AND csts.group_type_ = 'PRACTICE'
-        LEFT JOIN sys_user su ON  su.id_ = csts.user_id_
-        WHERE csts.user_id_ = #{teacherId}
-        GROUP BY pg.id_
+            cg.id_ class_group_id_,
+            cg.name_ class_group_name_,
+            cg.type_,
+            cg.subject_id_list_,
+            pg.courses_expire_date_,
+            pg.single_class_minutes_,
+            cg.total_class_times_ online_classes_num_,
+						0 offline_classes_num_,
+            cg.total_class_times_,
+            pg.id_ music_group_id_,
+            pg.name_ music_group_name_,
+						1 class_mode_
+        FROM
+            practice_group pg
+            LEFT JOIN class_group cg ON pg.id_=cg.music_group_id_ AND cg.group_type_='PRACTICE'
+        WHERE
+            pg.user_id_ = #{teacherId} AND cg.del_flag_ = 0
     </select>
     <select id="findTeacherVipClassGroup" resultMap="TeacherClassGroupDto">
         SELECT

+ 14 - 0
mec-biz/src/main/resources/config/mybatis/SubjectMapper.xml

@@ -182,6 +182,20 @@
             AND cg.subject_id_list_ IS NOT NULL
         GROUP BY cs.id_
     </select>
+    <select id="findClassGroupSubjectId" resultType="java.util.Map">
+        SELECT
+            cs.id_ AS 'key',
+            cg.subject_id_list_ AS 'value'
+        FROM
+            course_schedule cs
+            LEFT JOIN class_group cg ON cs.class_group_id_=cg.id_
+            WHERE cs.id_ IN
+            <foreach collection="courseScheduleIds" item="courseScheduleId" open="(" close=")" separator=",">
+                #{courseScheduleId}
+            </foreach>
+            AND cg.subject_id_list_ IS NOT NULL
+        GROUP BY cs.id_
+    </select>
     <select id="findNames" resultType="java.lang.String">
         SELECT GROUP_CONCAT(DISTINCT s.name_) FROM `subject` s WHERE FIND_IN_SET(s.id_,#{subjectIdList})
     </select>