|  | @@ -5357,7 +5357,9 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  		courseScheduleDao.batchUpdate(mergeCourses);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -		courseScheduleStudentPaymentDao.batchUpdate(updatePayments);
 | 
	
		
			
				|  |  | +		if(!CollectionUtils.isEmpty(updatePayments)){
 | 
	
		
			
				|  |  | +			courseScheduleStudentPaymentDao.batchUpdate(updatePayments);
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  |  		if(!CollectionUtils.isEmpty(newPayments))
 | 
	
		
			
				|  |  |  			courseScheduleStudentPaymentDao.batchInsert(newPayments);
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -5370,7 +5372,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	@Override
 | 
	
		
			
				|  |  |  	@Transactional(rollbackFor = Exception.class)
 | 
	
		
			
				|  |  | -	public void mergeCourseSplit(Long mainCourseId) {
 | 
	
		
			
				|  |  | +	public void mergeCourseSplit(Long mainCourseId, Integer operatorId) {
 | 
	
		
			
				|  |  |  		List<CourseSchedule> courseSchedules = courseScheduleDao.findByMainMergeCourse(mainCourseId);
 | 
	
		
			
				|  |  |  		if(CollectionUtils.isEmpty(courseSchedules)){
 | 
	
		
			
				|  |  |  			throw new BizException("未找到相关合并课程信息");
 | 
	
	
		
			
				|  | @@ -5382,8 +5384,6 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 | 
	
		
			
				|  |  |  			throw new BizException("已结束的主课暂不支持此操作");
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -		courseScheduleDao.cleanCoursMergeId(courseIds);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  		List<CourseScheduleStudentPayment> courseScheduleStudentPayments = courseScheduleStudentPaymentDao.findByMainMergedCourse(mainCourseId);
 | 
	
		
			
				|  |  |  		Map<Integer, CourseScheduleStudentPayment> studentMainCoursePaymentMap = courseScheduleStudentPayments.stream().filter(c -> c.getCourseScheduleId().equals(mainCourseId)).collect(Collectors.toMap(CourseScheduleStudentPayment::getUserId, c -> c, (c1, c2) -> c1));
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -5392,9 +5392,13 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 | 
	
		
			
				|  |  |  		List<Integer> deletePaymentIds = new ArrayList<>();
 | 
	
		
			
				|  |  |  		List<CourseScheduleStudentPayment> updatePayments = new ArrayList<>();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +		otherCoursePayments.sort(Comparator.comparing(CourseScheduleStudentPayment::getCreateTime).reversed());
 | 
	
		
			
				|  |  |  		for (CourseScheduleStudentPayment otherCoursePayment : otherCoursePayments) {
 | 
	
		
			
				|  |  |  			CourseScheduleStudentPayment mainCoursePayment = studentMainCoursePaymentMap.get(otherCoursePayment.getUserId());
 | 
	
		
			
				|  |  | -			if(Objects.nonNull(mainCoursePayment.getBeMerged())&&mainCoursePayment.getBeMerged()){
 | 
	
		
			
				|  |  | +			if(Objects.isNull(mainCoursePayment.getBeMerged())){
 | 
	
		
			
				|  |  | +				throw new BizException("当前课程暂不支持此操作");
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +			if(mainCoursePayment.getBeMerged()){
 | 
	
		
			
				|  |  |  				deletePaymentIds.add(mainCoursePayment.getId().intValue());
 | 
	
		
			
				|  |  |  				continue;
 | 
	
		
			
				|  |  |  			}
 | 
	
	
		
			
				|  | @@ -5413,11 +5417,16 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 | 
	
		
			
				|  |  |  			courseScheduleModifyLog.setPreviousCourseSchedule(JsonUtil.toJSONString(courseSchedule));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  			//课程信息变更
 | 
	
		
			
				|  |  | -			courseSchedule.setNewCourseId(courseSchedule.getId());
 | 
	
		
			
				|  |  | +			courseSchedule.setNote("合并课程还原");
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  			courseScheduleModifyLog.setCurrentCourseSchedule(JsonUtil.toJSONString(courseSchedule));
 | 
	
		
			
				|  |  | -//			courseScheduleModifyLog.setOperatorId(courseMergeInfo.getOperatorId());
 | 
	
		
			
				|  |  | +			courseScheduleModifyLog.setOperatorId(operatorId);
 | 
	
		
			
				|  |  |  			insertCourseScheduleModifyLogList.add(courseScheduleModifyLog);
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  | +		courseScheduleDao.batchUpdate(courseSchedules);
 | 
	
		
			
				|  |  | +		courseScheduleDao.cleanCoursMergeId(courseIds);
 | 
	
		
			
				|  |  | +		if (insertCourseScheduleModifyLogList.size() > 0) {
 | 
	
		
			
				|  |  | +			courseScheduleModifyLogDao.batchInsert(insertCourseScheduleModifyLogList);
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  }
 |