|  | @@ -98,8 +98,8 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
 | 
	
		
			
				|  |  |      private PianoRoomTimeDao pianoRoomTimeDao;
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  |      private UserBindingTeacherDao userBindingTeacherDao;
 | 
	
		
			
				|  |  | -    @Autowired
 | 
	
		
			
				|  |  | -    private CourseScheduleStudentDao courseScheduleStudentDao;
 | 
	
		
			
				|  |  | +    //    @Autowired
 | 
	
		
			
				|  |  | +//    private CourseScheduleStudentDao courseScheduleStudentDao;
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  |      private CourseScheduleRecordDao recordDao;
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -1503,14 +1503,18 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          //课程结束(NOW ≥ 结束时间)
 | 
	
		
			
				|  |  | -        List<CourseScheduleStudentVo> userList = courseScheduleStudentDao.selectUser();
 | 
	
		
			
				|  |  | +        List<CourseScheduleStudentVo> userList = paymentDao.selectUser();
 | 
	
		
			
				|  |  |          if (CollectionUtils.isNotEmpty(userList)) {
 | 
	
		
			
				|  |  |              //更新学生最近结课时间
 | 
	
		
			
				|  |  | -            pianoRoomTimeDao.updateEndTime(userList);
 | 
	
		
			
				|  |  | +            List<CourseScheduleStudentVo> pianoUserList = userList.stream().filter((CourseScheduleStudentVo s) -> s.getType().equals(CourseScheduleEnum.PIANO_ROOM_CLASS.getCode())).collect(Collectors.toList());
 | 
	
		
			
				|  |  | +            if (CollectionUtils.isNotEmpty(pianoUserList)) {
 | 
	
		
			
				|  |  | +                pianoRoomTimeDao.updateEndTime(pianoUserList);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +            //统计琴房课消耗时长
 | 
	
		
			
				|  |  |              List<CourseScheduleRecord> recordList = recordDao.sumCourseTime();
 | 
	
		
			
				|  |  |              if (CollectionUtils.isNotEmpty(recordList)) {
 | 
	
		
			
				|  |  | -                //记录消耗课时
 | 
	
		
			
				|  |  | +                //时长消费记录
 | 
	
		
			
				|  |  |                  recordDao.insertBatch(recordList);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                  //释放冻结课时
 | 
	
	
		
			
				|  | @@ -1533,28 +1537,27 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          //查完完成的课程
 | 
	
		
			
				|  |  | -        List<CourseCompleteVo> completeList=baseMapper.selectComplete();
 | 
	
		
			
				|  |  | -        if (CollectionUtils.isNotEmpty(completeList)){
 | 
	
		
			
				|  |  | +        List<CourseCompleteVo> completeList = baseMapper.selectComplete();
 | 
	
		
			
				|  |  | +        if (CollectionUtils.isNotEmpty(completeList)) {
 | 
	
		
			
				|  |  |              List<Long> gids = completeList.stream().map(CourseCompleteVo::getCourseGroupId).collect(Collectors.toList());
 | 
	
		
			
				|  |  |              List<CourseGroup> courseGroups = courseGroupService.getDao().selectList(Wrappers.<CourseGroup>lambdaQuery().in(CourseGroup::getId, gids));
 | 
	
		
			
				|  |  | -            if(CollectionUtils.isNotEmpty(courseGroups)){
 | 
	
		
			
				|  |  | -                List<Long> ids=new ArrayList<>();
 | 
	
		
			
				|  |  | +            if (CollectionUtils.isNotEmpty(courseGroups)) {
 | 
	
		
			
				|  |  | +                List<Long> ids = new ArrayList<>();
 | 
	
		
			
				|  |  |                  for (CourseGroup group : courseGroups) {
 | 
	
		
			
				|  |  |                      for (CourseCompleteVo complete : completeList) {
 | 
	
		
			
				|  |  |                          Integer courseNum = group.getCourseNum();
 | 
	
		
			
				|  |  |                          Integer completeCount = complete.getCourseCount();
 | 
	
		
			
				|  |  | -                        if (courseNum.equals(completeCount)){
 | 
	
		
			
				|  |  | +                        if (courseNum.equals(completeCount)) {
 | 
	
		
			
				|  |  |                              ids.add(complete.getCourseGroupId());
 | 
	
		
			
				|  |  |                          }
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  | -                if(CollectionUtils.isNotEmpty(ids)){
 | 
	
		
			
				|  |  | +                if (CollectionUtils.isNotEmpty(ids)) {
 | 
	
		
			
				|  |  |                      //同步课程组状态
 | 
	
		
			
				|  |  |                      courseGroupService.getDao().updateBatch(ids);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      /**
 | 
	
	
		
			
				|  | @@ -1591,7 +1594,7 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
 | 
	
		
			
				|  |  |      public PageInfo<CourseStudentVo> selectStudent(Map<String, Object> param) {
 | 
	
		
			
				|  |  |          Integer courseId = (Integer) param.get("courseId");
 | 
	
		
			
				|  |  |          if (courseId != null) {
 | 
	
		
			
				|  |  | -            List<CourseScheduleStudent> studentList = courseScheduleStudentDao.selectList(Wrappers.<CourseScheduleStudent>lambdaQuery().eq(CourseScheduleStudent::getCourseId, courseId));
 | 
	
		
			
				|  |  | +            List<CourseScheduleStudentPayment> studentList = paymentDao.selectList(Wrappers.<CourseScheduleStudentPayment>lambdaQuery().eq(CourseScheduleStudentPayment::getCourseId, courseId));
 | 
	
		
			
				|  |  |              param.put("studentList", studentList);//根据课程id查询报课学员
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          return PageUtil.pageInfo(userBindingTeacherDao.selectStudent(PageUtil.getPageInfo(param), param));
 | 
	
	
		
			
				|  | @@ -1647,7 +1650,7 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          //校验学员是否绑定
 | 
	
		
			
				|  |  |          List<UserBindingTeacher> bindingTeachers = userBindingTeacherDao.selectList(Wrappers.<UserBindingTeacher>lambdaQuery().eq(UserBindingTeacher::getTeacherId, teacherId));
 | 
	
		
			
				|  |  | -        if (com.baomidou.mybatisplus.core.toolkit.CollectionUtils.isEmpty(bindingTeachers)) {
 | 
	
		
			
				|  |  | +        if (CollectionUtils.isEmpty(bindingTeachers)) {
 | 
	
		
			
				|  |  |              throw new BizException("无绑定学员");
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          List<Long> studentList = bindingTeachers.stream().map(UserBindingTeacher::getStudentId).collect(Collectors.toList());
 | 
	
	
		
			
				|  | @@ -1710,14 +1713,14 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
 | 
	
		
			
				|  |  |              baseMapper.insert(schedule);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              //添加course_schedule_student
 | 
	
		
			
				|  |  | -            List<CourseScheduleStudent> list = new ArrayList<>();
 | 
	
		
			
				|  |  |              for (Long studentId : studentIds) {
 | 
	
		
			
				|  |  | -                CourseScheduleStudent teacherTime = new CourseScheduleStudent();
 | 
	
		
			
				|  |  | -                teacherTime.setStudentId(studentId);
 | 
	
		
			
				|  |  | -                teacherTime.setCourseId(schedule.getId());
 | 
	
		
			
				|  |  | -                list.add(teacherTime);
 | 
	
		
			
				|  |  | +                CourseScheduleStudentPayment payment = new CourseScheduleStudentPayment();
 | 
	
		
			
				|  |  | +                payment.setCourseGroupId(courseGroup.getId());
 | 
	
		
			
				|  |  | +                payment.setCourseId(schedule.getId());
 | 
	
		
			
				|  |  | +                payment.setUserId(studentId);
 | 
	
		
			
				|  |  | +                payment.setCourseType(CourseScheduleEnum.PIANO_ROOM_CLASS.getCode());
 | 
	
		
			
				|  |  | +                courseScheduleStudentPaymentService.save(payment);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -            courseScheduleStudentDao.insertBatch(list);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          //扣减piano_room_time
 | 
	
	
		
			
				|  | @@ -1745,7 +1748,7 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      public PageInfo<CourseScheduleRecordVo> selectConsumeTimeList(Map<String, Object> param) {
 | 
	
		
			
				|  |  | -        param.put("type",CourseScheduleEnum.PIANO_ROOM_CLASS.getCode());
 | 
	
		
			
				|  |  | +        param.put("type", CourseScheduleEnum.PIANO_ROOM_CLASS.getCode());
 | 
	
		
			
				|  |  |          return PageUtil.pageInfo(recordDao.selectConsumeTimeList(PageUtil.getPageInfo(param), param));
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  }
 |