zouxuan hace 4 años
padre
commit
4015b60a83

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ClassGroupStudentMapperDao.java

@@ -414,4 +414,11 @@ public interface ClassGroupStudentMapperDao extends BaseDAO<Long, ClassGroupStud
      * @return
      */
     Boolean existByClassGroupIds(@Param("classGroupIdListStr") String classGroupIdListStr, @Param("studentId") Integer studentId);
+
+    /**
+     * 获取班级里学员列表
+     * @author zouxuan
+     * @param classGroupId
+     */
+    List<StudentNameAndPhoneDto> findCourseStudentNameAndPhoneByClassGroupId(Integer classGroupId);
 }

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java

@@ -1613,4 +1613,12 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @return int
      */
     int countCourseMergeTime(@Param("courseId") Long courseId);
+
+    /**
+     * 获取班级剩余的课程类型和课程数量
+     * @author zouxuan
+     * @param classGroupId
+     * @return
+     */
+    List<Map<String, Integer>> querySubCourseNumMap(@Param("classGroupId") Integer classGroupId);
 }

+ 20 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentNameAndPhoneDto.java

@@ -8,12 +8,32 @@ public class StudentNameAndPhoneDto {
 
     private Integer userId;
 
+    private Integer gender;
+
     private String userName;
 
+    private String subjectName;
+
     private String phone;
 
     private String avatar;
 
+    public Integer getGender() {
+        return gender;
+    }
+
+    public void setGender(Integer gender) {
+        this.gender = gender;
+    }
+
+    public String getSubjectName() {
+        return subjectName;
+    }
+
+    public void setSubjectName(String subjectName) {
+        this.subjectName = subjectName;
+    }
+
     public String getAvatar() {
         return avatar;
     }

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

@@ -3268,18 +3268,19 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
     @Override
     public Map<String, Object> studentClassAuditDetail(String musicGroupId) {
         List<Map<String,Object>> result = new ArrayList<>();
-        Map<String,Object> resultMap = new HashMap();
+
         //获取班级列表
         List<ClassGroup> classGroups = classGroupDao.queryClassGroups(musicGroupId, null);
         for (ClassGroup classGroup : classGroups) {
+            Map<String,Object> resultMap = new HashMap();
             resultMap.put("classGroup",classGroup);
             //获取班级剩余的课程类型和课程数量
-//            List<Map<String,Integer>> courseTypeNumMap = courseScheduleDao.querySubCourseNumMap(classGroup.getId());
-//            resultMap.put("courseTypeNumMap",courseTypeNumMap);
+            List<Map<String,Integer>> courseTypeNumMap = courseScheduleDao.querySubCourseNumMap(classGroup.getId());
+            resultMap.put("courseTypeNumMap",courseTypeNumMap);
             //获取班级里学员列表
-//            classGroupStudentMapperDao.findCourseStudentNameAndPhone()
+            resultMap.put("students",classGroupStudentMapperDao.findCourseStudentNameAndPhoneByClassGroupId(classGroup.getId()));
+            result.add(resultMap);
         }
-
         return null;
     }
 }

+ 17 - 0
mec-biz/src/main/resources/config/mybatis/ClassGroupStudentMapperMapper.xml

@@ -558,4 +558,21 @@
         SELECT COUNT(0) FROM class_group_student_mapper
         WHERE FIND_IN_SET(class_group_id_,#{classGroupIdListStr}) AND user_id_ = #{studentId} AND status_ = 'NORMAL'
     </select>
+    <resultMap id="StudentNameAndPhoneDtoMap" type="com.ym.mec.biz.dal.dto.StudentNameAndPhoneDto">
+        <result property="userId" column="user_id_"/>
+        <result property="avatar" column="avatar"/>
+        <result property="gender" column="gender_"/>
+        <result property="phone" column="phone_"/>
+        <result property="subjectName" column="subject_name_"/>
+        <result property="userName" column="username_"/>
+    </resultMap>
+    <select id="findCourseStudentNameAndPhoneByClassGroupId" resultMap="StudentNameAndPhoneDtoMap">
+        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>
 </mapper>

+ 5 - 0
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -3330,5 +3330,10 @@
     <select id="countCourseMergeTime" resultType="int">
         SELECT COUNT(id_) FROM course_schedule WHERE new_course_id_=#{courseId}
     </select>
+    <select id="querySubCourseNumMap" resultType="java.util.Map">
+        SELECT cs.group_type_ 'key',COUNT(cs.id_) 'value' FROM course_schedule cs
+        WHERE cs.class_group_id_ = #{classGroupId} AND CONCAT(cs.class_date_," ",cs.start_class_time_) > NOW()
+        GROUP BY cs.group_type_
+    </select>
 
 </mapper>