瀏覽代碼

feat:被合并课程随主课一起结束

Joburgess 4 年之前
父節點
當前提交
dbac415f24

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

@@ -1832,4 +1832,13 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @return
      */
     List<CourseSchedule> getMusicGroupsHasStartCourseNum(@Param("ids") List<String> ids);
+
+    /**
+     * @describe 根据主课查询被合并的课程
+     * @author Joburgess
+     * @date 2021/5/10 0010
+     * @param courseIds:
+     * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
+     */
+    List<CourseSchedule> getBeMergeCourseWithMainCourseIds(@Param("courseIds") List<Long> courseIds);
 }

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

@@ -4274,7 +4274,13 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 
 		if (updateList.size() > 0) {
             courseScheduleDao.batchUpdate(updateList);
-        }
+			List<Long> courseIds = updateList.stream().map(CourseSchedule::getId).collect(Collectors.toList());
+			List<CourseSchedule> beMergeCourses = courseScheduleDao.getBeMergeCourseWithMainCourseIds(courseIds);
+			if(!CollectionUtils.isEmpty(beMergeCourses)){
+				beMergeCourses.forEach(c->c.setStatus(CourseStatusEnum.OVER));
+				courseScheduleDao.batchUpdate(beMergeCourses);
+			}
+		}
 
         // 更新班级已上课次
         if (classGroupIds.size() > 0) {

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

@@ -3811,4 +3811,17 @@
         LEFT JOIN course_schedule_teacher_salary csts ON csts.course_schedule_id_ = cs.id_
         <include refid="queryTeacherCourseCondition"></include>
     </select>
+
+    <select id="getBeMergeCourseWithMainCourseIds" resultMap="CourseSchedule">
+        SELECT
+        <include refid="resultSql" />
+        FROM
+        course_schedule cs
+        WHERE
+            cs.new_course_id_ != cs.id_
+            AND cs.new_course_id_ IN
+            <foreach collection="courseIds" item="courseId" open="(" close=")" separator=",">
+                #{courseId}
+            </foreach>
+    </select>
 </mapper>