فهرست منبع

1、陪练课调整
2、付费陪练课

Joburgess 5 سال پیش
والد
کامیت
57045f6897

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

@@ -1150,6 +1150,16 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
                                          @Param("teacherIds") List<Integer> teacherIds);
 
     /**
+     * @describe 获取学生相关的课程
+     * @author Joburgess
+     * @date 2020/2/10
+     * @param userId:
+     * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
+     */
+    List<CourseSchedule> findUserCoursesWithPay(@Param("userId") Integer userId,
+                                         @Param("teacherIds") List<Integer> teacherIds);
+
+    /**
      * 获取课程实际上课老师
      * @param courseScheduleIds
      * @return

+ 11 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PracticeGroupServiceImpl.java

@@ -2147,6 +2147,15 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
 
         if (!CollectionUtils.isEmpty(userCourses)) {
             Map<CourseSchedule.CourseScheduleType, List<CourseSchedule>> courseTypeCourseMap = userCourses.stream().collect(Collectors.groupingBy(CourseSchedule::getType));
+
+            List<CourseSchedule> practiceCourses = courseTypeCourseMap.get(CourseSchedule.CourseScheduleType.PRACTICE);
+            if (!CollectionUtils.isEmpty(practiceCourses)) {
+                for (CourseSchedule practiceCourse : practiceCourses) {
+                    if (!includeTeacherIds.contains(practiceCourse.getTeacherId())) {
+                        includeTeacherIds.add(practiceCourse.getTeacherId());
+                    }
+                }
+            }
             List<CourseSchedule> vipCourses = courseTypeCourseMap.get(CourseSchedule.CourseScheduleType.VIP);
             if (!CollectionUtils.isEmpty(vipCourses)) {
                 for (CourseSchedule vipCourse : vipCourses) {
@@ -2526,7 +2535,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
         practiceGroupBuyParams.setCoursesStartDate(courseStartDate);
         LocalDate currentExpiredDay = courseStartDay.plusMonths(practiceGroupBuyParams.getBuyMonths());
         Date courseExpiredDate=Date.from(currentExpiredDay.atStartOfDay(DateUtil.zoneId).toInstant());
-        practiceGroupBuyParams.setCoursesStartDate(courseExpiredDate);
+        practiceGroupBuyParams.setCoursesExpireDate(courseExpiredDate);
 
         LocalDate courseStartMonday=courseStartDay.with(DateUtil.weekFields.dayOfWeek(), DayOfWeek.MONDAY.getValue());
         LocalDate courseExpiredSunday=currentExpiredDay.with(DateUtil.weekFields.dayOfWeek(), DayOfWeek.SUNDAY.getValue());
@@ -2809,6 +2818,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
                     courseSchedules.add(courseSchedule);
                 }
             }
+            courseStartDay=courseStartDay.plusDays(1);
         }
         return courseSchedules;
     }

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

@@ -151,7 +151,7 @@
         (group_type_,music_group_id_,class_group_id_,status_,subsidy_,class_date_,start_class_time_,end_class_time_,teacher_id_,actual_teacher_id_,create_time_,update_time_,type_,name_,teach_mode_,student_num_,leave_student_num_,schoole_id_,is_lock_)
         VALUE
         <foreach collection="list" item="course" separator=",">
-            (#{course.groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{course.musicGroupId},#{course.classGroupId},#{course.status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{course.subsidy},#{course.classDate},#{course.startClassTime},#{course.endClassTime},#{course.teacherId},#{course.teacherId},now(),now(),#{course.type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{course.name},#{course.teachMode,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{course.studentNum},#{course.leaveStudentNum},#{course.schoolId},#{isLock})
+            (#{course.groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{course.musicGroupId},#{course.classGroupId},#{course.status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{course.subsidy},#{course.classDate},#{course.startClassTime},#{course.endClassTime},#{course.teacherId},#{course.teacherId},now(),now(),#{course.type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{course.name},#{course.teachMode,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{course.studentNum},#{course.leaveStudentNum},#{course.schoolId},#{course.isLock})
         </foreach>
     </insert>
 
@@ -2314,6 +2314,29 @@
             </foreach>
             AND ( cs.del_flag_ != 1 OR cs.del_flag_ IS NULL )
     </select>
+    <select id="findUserCoursesWithPay" resultMap="CourseSchedule">
+        SELECT
+        cs.id_,
+        cs.`type_`,
+        cgtm.`user_id_` teacher_id_
+        FROM
+        `class_group_student_mapper` cgsm
+        LEFT JOIN `class_group` cg ON cgsm.`class_group_id_` = cg.`id_`
+        LEFT JOIN `class_group_teacher_mapper` cgtm ON cgtm.`class_group_id_` = cg.`id_`
+        AND cgtm.`teacher_role_` = 'BISHOP'
+        LEFT JOIN `course_schedule` cs ON cs.`class_group_id_` = cg.`id_`
+        WHERE
+        cgsm.user_id_=#{userId}
+        AND cgtm.teacher_role_='BISHOP'
+        AND cgsm.status_ = 'NORMAL'
+        AND cg.`type_` IN ( 'NORMAL', 'HIGH', 'VIP', 'PRACTICE')
+        AND cs.`id_` IS NOT NULL
+        AND cgtm.user_id_ IN
+        <foreach collection="teacherIds" item="teacherId" open="(" close=")" separator=",">
+            #{teacherId}
+        </foreach>
+        AND ( cs.del_flag_ != 1 OR cs.del_flag_ IS NULL )
+    </select>
 
     <select id="queryTeacherName" resultType="java.util.Map">
         SELECT cs.id_ 'key',su.real_name_ 'value' FROM course_schedule cs