瀏覽代碼

Merge remote-tracking branch 'origin/master'

Joburgess 5 年之前
父節點
當前提交
2bb039edf4

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

@@ -1026,6 +1026,13 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
     Set<Integer> queryVipCourseScheduleIds(Map<String, Object> params);
 
     /**
+     * 获取陪练课课程编号列表
+     * @param params
+     * @return
+     */
+    Set<Integer> queryPracticeCourseScheduleIds(Map<String, Object> params);
+
+    /**
      * @describe 获取教师在指定时间段内的课程
      * @author Joburgess
      * @date 2020/2/2

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

@@ -2353,6 +2353,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         Set<Integer> courseScheduleIdSet = new HashSet<>();
         courseScheduleIdSet.addAll(courseScheduleDao.queryMusicCourseScheduleIds(params));
         courseScheduleIdSet.addAll(courseScheduleDao.queryVipCourseScheduleIds(params));
+        courseScheduleIdSet.addAll(courseScheduleDao.queryPracticeCourseScheduleIds(params));
         if(courseScheduleIdSet.size() == 0){
             return pageInfo;
         }

+ 20 - 2
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -1325,8 +1325,11 @@
     </select>
     <select id="countMusicGroupIds" resultType="int">
         SELECT COUNT(DISTINCT cgsm.music_group_id_) FROM class_group_student_mapper cgsm
-        LEFT JOIN class_group cg ON cgsm.class_group_id_ = cg.id_
-        WHERE cgsm.user_id_ = #{userId} AND cgsm.status_ != 'QUIT' AND cg.del_flag_ = 0
+        LEFT JOIN music_group mg ON mg.id_ = cgsm.music_group_id_ AND cgsm.group_type_ = 'MUSIC'
+        LEFT JOIN vip_group vg ON vg.id_ = cgsm.music_group_id_ AND cgsm.group_type_ = 'VIP'
+        LEFT JOIN practice_group pg ON pg.id_ = cgsm.music_group_id_ AND cgsm.group_type_ = 'PRACTICE'
+        WHERE cgsm.user_id_ = #{userId} AND cgsm.status_ != 'QUIT'
+        AND (mg.status_ = 'PROGRESS' OR vg.group_status_  = 2 OR vg.group_status_ = 4 OR pg.id_ IS NOT NULL)
     </select>
     <select id="queryMusicGroupIdsWithoutOverGroup" resultType="java.lang.String">
         SELECT DISTINCT spo.music_group_id_ FROM student_payment_order spo
@@ -2071,6 +2074,21 @@
             AND FIND_IN_SET(cs.actual_teacher_id_,#{teacherIdList})
         </if>
     </sql>
+    <select id="queryPracticeCourseScheduleIds" resultType="java.lang.Integer">
+        SELECT cs.id_ FROM course_schedule cs
+        LEFT JOIN practice_group pg ON cs.music_group_id_ = pg.id_
+        LEFT JOIN class_group cg ON cs.class_group_id_ = cg.id_
+        WHERE cs.group_type_ = 'PRACTICE' AND cs.del_flag_ = 0 AND cg.del_flag_ = 0
+        <if test="search != null and search != ''">
+            AND (pg.id_ = #{search} OR pg.name_ LIKE CONCAT('%',#{search},'%')
+            OR cs.id_ = #{search} OR cs.name_ LIKE CONCAT('%',#{search},'%')
+            OR cg.id_ = #{search} OR cg.name_ LIKE CONCAT('%',#{search},'%'))
+        </if>
+        <if test="organIdList != null and organIdList != ''">
+            AND FIND_IN_SET(pg.organ_id_,#{organIdList})
+        </if>
+        <include refid="queryVipCourseScheduleIds"/>
+    </select>
     <select id="queryVipCourseScheduleIds" resultType="java.lang.Integer">
         SELECT cs.id_ FROM course_schedule cs
         LEFT JOIN vip_group vg ON cs.music_group_id_ = vg.id_