Просмотр исходного кода

Merge branch 'master' of http://git.dayaedu.com/yonge/mec

zouxuan 5 лет назад
Родитель
Сommit
25c48d37af

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

@@ -44,7 +44,7 @@ public interface StudentDao extends com.ym.mec.common.dal.BaseDAO<Integer, Stude
      * @param teacherIds
      * @return
      */
-    List<Student4operating> getTeacherOperatingStudentsNum(@Param("teacherIds") String teacherIds);
+    List<Map<Integer,Integer>> getTeacherOperatingStudentsNum(@Param("teacherIds") String teacherIds);
 
     /**
      * 根据类型批量获取老师转化

+ 11 - 11
mec-biz/src/main/resources/config/mybatis/CourseScheduleEvaluateMapper.xml

@@ -368,18 +368,16 @@
     </select>
 
     <select id="getVipBuyNums" resultMap="practice4Organ">
-        SELECT vg.organ_id_, COUNT(DISTINCT cssp.user_id_) vip_num_
+        SELECT su.organ_id_,COUNT(DISTINCT cssp.user_id_) vip_num_
         FROM course_schedule_student_payment cssp
-        LEFT JOIN vip_group vg ON cssp.music_group_id_ = vg.id_ AND cssp.group_type_ = 'VIP'
-        LEFT JOIN course_schedule cs ON cs.id_ = cssp.course_schedule_id_ AND cs.teach_mode_ = 'ONLINE'
-        WHERE vg.id_ >= 1
-        AND cs.id_ >=1
-        AND CONCAT(cs.class_date_, ' ', cs.end_class_time_) >= #{classDate}
+        LEFT JOIN course_schedule cs ON cs.id_ = cssp.course_schedule_id_ AND cssp.group_type_='VIP'
+        left JOIN sys_user su ON su.id_=cssp.user_id_
+        WHERE CONCAT(cs.class_date_, ' ', cs.end_class_time_) >= #{classDate}
         <if test="endDate != null">
             <![CDATA[AND CONCAT(cs.class_date_, ' ', cs.end_class_time_) < #{endDate}]]>
         </if>
-        AND (cs.is_lock_ IS NULL OR cs.is_lock_=0)
-        GROUP BY vg.organ_id_
+        AND cs.teach_mode_ = 'ONLINE'
+        GROUP BY su.organ_id_
     </select>
 
     <select id="getPracticeBuyNums" resultMap="practice4Organ">
@@ -424,9 +422,11 @@
 
     <!-- 获取所有体验人数 -->
     <select id="getAllTryNums" resultMap="practice4Organ">
-        SELECT su.organ_id_, COUNT(s.user_id_) try_num_ FROM student s
-        LEFT JOIN sys_user su ON  su.id_ = s.user_id_
-            WHERE s.operating_tag_ =1 AND su.organ_id_ >0
+        SELECT su.organ_id_, COUNT(s.user_id_) try_num_
+        FROM student s
+                 LEFT JOIN sys_user su ON su.id_ = s.user_id_
+        WHERE s.operating_tag_ = 1
+          AND su.organ_id_ > 0
         GROUP BY su.organ_id_
     </select>
 </mapper>

+ 8 - 10
mec-biz/src/main/resources/config/mybatis/StudentMapper.xml

@@ -174,15 +174,14 @@
         LEFT JOIN sys_user tsu ON tsu.id_ = s.teacher_id_
         LEFT JOIN organization o ON o.id_ = su.organ_id_
         LEFT JOIN (
-        SELECT s.user_id_,
+        SELECT cssp.user_id_,
         SUM(case when (cs.group_type_ = 'VIP' AND cs.teach_mode_='ONLINE') then 1 ELSE 0 END) vip_times_,
         SUM(case when (pg.buy_months_ > 0) then 1 ELSE 0 END) buy_practice_times_
-        FROM student s
-        LEFT JOIN course_schedule_student_payment cssp ON cssp.user_id_ = s.user_id_
+        FROM course_schedule_student_payment cssp
         LEFT JOIN course_schedule cs ON cs.id_ = cssp.course_schedule_id_
         LEFT JOIN practice_group pg ON pg.`id_` = cs.`music_group_id_` AND cs.`group_type_` = 'PRACTICE'
         WHERE cs.status_ IN ('NOT_START','UNDERWAY') AND (cs.is_lock_ IS NULL OR cs.is_lock_=0)
-        GROUP BY s.user_id_
+        GROUP BY cssp.user_id_
         ) a on a.user_id_ = s.user_id_
         LEFT JOIN (
         SELECT student_id_, count(id_) free_practice_times_
@@ -200,15 +199,14 @@
         LEFT JOIN sys_user su ON s.user_id_ = su.id_
         LEFT JOIN sys_user tsu ON tsu.id_ = s.teacher_id_
         LEFT JOIN (
-        SELECT s.user_id_,
+        SELECT cssp.user_id_,
         SUM(case when (cs.group_type_ = 'VIP' AND cs.teach_mode_='ONLINE') then 1 ELSE 0 END) vip_times_,
         SUM(case when (pg.buy_months_ > 0) then 1 ELSE 0 END) buy_practice_times_
-        FROM student s
-        LEFT JOIN course_schedule_student_payment cssp ON cssp.user_id_ = s.user_id_
+        FROM course_schedule_student_payment cssp
         LEFT JOIN course_schedule cs ON cs.id_ = cssp.course_schedule_id_
         LEFT JOIN practice_group pg ON pg.`id_` = cs.`music_group_id_` AND cs.`group_type_` = 'PRACTICE'
         WHERE cs.status_ IN ('NOT_START','UNDERWAY') AND (cs.is_lock_ IS NULL OR cs.is_lock_=0)
-        GROUP BY s.user_id_
+        GROUP BY cssp.user_id_
         ) a on a.user_id_ = s.user_id_
         LEFT JOIN (
         SELECT student_id_, count(id_) free_practice_times_
@@ -256,8 +254,8 @@
         </where>
     </sql>
 
-    <select id="getTeacherOperatingStudentsNum" resultMap="student4operating">
-        select teacher_id_, count(*) student_num_
+    <select id="getTeacherOperatingStudentsNum" resultType="java.util.Map">
+        select teacher_id_ 'key', count(*) 'value'
         FROM student
         WHERE FIND_IN_SET(teacher_id_, #{teacherIds})
         GROUP BY teacher_id_