浏览代码

feat: 课程合并

Joburgess 4 年之前
父节点
当前提交
7d4c2122d7

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

@@ -5244,7 +5244,11 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		allCourseIds.add(courseMergeInfo.getId());
 		allCourseIds.addAll(courseMergeInfo.getMergeCourseIds());
 		List<CourseSchedule> allCourses = courseScheduleDao.findByCourseScheduleIds(allCourseIds);
+		Date now = new Date();
 		for (CourseSchedule courseSchedule : allCourses) {
+			if(courseSchedule.getStartClassTime().compareTo(now)<=0){
+				throw new BizException("课程合并仅支持未开始的课程");
+			}
 			if(VIP.equals(courseSchedule.getGroupType())||PRACTICE.equals(courseSchedule.getGroupType())){
 				throw new BizException("VIP课、网管课暂不支持课程合并");
 			}
@@ -5272,5 +5276,9 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 			courseSchedule.setNewCourseId(courseMergeInfo.getId());
 		}
 		courseScheduleDao.batchUpdate(mergeCourses);
+		for (CourseScheduleStudentPayment courseScheduleStudentPayment : courseScheduleStudentPayments) {
+			courseScheduleStudentPayment.setCourseScheduleId(courseMergeInfo.getId());
+		}
+		courseScheduleStudentPaymentDao.batchUpdate(courseScheduleStudentPayments);
 	}
 }

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

@@ -8,6 +8,7 @@
 
     <resultMap type="com.ym.mec.biz.dal.entity.CourseSchedule" id="CourseSchedule">
         <result column="id_" property="id"/>
+        <result column="new_course_id_" property="newCourseId"/>
         <result column="group_type_" property="groupType" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="music_group_id_" property="musicGroupId"/>
         <result column="class_group_id_" property="classGroupId"/>
@@ -123,6 +124,7 @@
     </resultMap>
     <sql id="resultSql">
         cs.id_,
+        cs.new_course_id_,
         cs.music_group_id_,
         cs.group_type_,
         cs.class_group_id_,
@@ -1201,6 +1203,9 @@
         <foreach collection="list" item="item" index="index" open="" close="" separator=";">
             UPDATE course_schedule
             <set>
+                <if test="item.newCourseId != null">
+                    new_course_id_ = #{item.newCourseId},
+                </if>
                 <if test="item.classDate != null">
                     class_date_ = #{item.classDate},
                 </if>