|  | @@ -105,6 +105,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  |      private RedisCache<String, Object> redisCache;
 | 
	
		
			
				|  |  | +    @Autowired
 | 
	
		
			
				|  |  | +    private ClassGroupService classGroupService;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      public BaseDAO<Integer, ClassGroup> getDAO() {
 | 
	
	
		
			
				|  | @@ -1234,9 +1236,12 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |          if (classGroup == null) {
 | 
	
		
			
				|  |  |              throw new Exception("班级不存在");
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +        Integer courseTimes = classGroup4MixDto.getCourseTimes();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          if (classGroup4MixDto.getCourseAddType().equals("renew")) {
 | 
	
		
			
				|  |  |              List<CourseSchedule> noStartCourses = courseScheduleService.findNoStartCoursesByClassGroupId(classGroup.getId());
 | 
	
		
			
				|  |  |              if (noStartCourses.size() > 0) {
 | 
	
		
			
				|  |  | +                courseTimes -=  noStartCourses.size();
 | 
	
		
			
				|  |  |                  List<Long> courseScheduleIds = noStartCourses.stream().map(courseSchedule -> courseSchedule.getId()).collect(Collectors.toList());
 | 
	
		
			
				|  |  |                  courseScheduleDao.batchDeleteCourseSchedules(courseScheduleIds);
 | 
	
		
			
				|  |  |                  courseScheduleTeacherSalaryDao.batchDeleteByCourseScheduleIds(courseScheduleIds);
 | 
	
	
		
			
				|  | @@ -1245,6 +1250,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +        classGroupService.updateTotalClassTimes(classGroup.getId().longValue(),courseTimes);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          MusicGroup musicGroup = musicGroupDao.get(classGroup.getMusicGroupId());
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          Integer schoolId = musicGroup.getSchoolId();
 | 
	
	
		
			
				|  | @@ -1918,4 +1925,19 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |          imFeignService.groupBatchCreate(imGroupModelList);
 | 
	
		
			
				|  |  |          return true;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
 | 
	
		
			
				|  |  | +    public boolean updateTotalClassTimes(Long classGroupId, Integer num) {
 | 
	
		
			
				|  |  | +        ClassGroup classGroup = classGroupDao.lockClassGroup(classGroupId);
 | 
	
		
			
				|  |  | +        if (Objects.isNull(classGroup)) {
 | 
	
		
			
				|  |  | +            throw new BizException("班级不存在");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        classGroup.setTotalClassTimes(classGroup.getTotalClassTimes() + num);
 | 
	
		
			
				|  |  | +        classGroup.setUpdateTime(new Date());
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        classGroupDao.update(classGroup);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        return true;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |  }
 |