|  | @@ -8,19 +8,22 @@ import com.yonge.cooleshow.biz.dal.dao.CourseHomeworkDao;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.dto.CourseHomeworkReviewDto;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.dto.CourseHomeworkSaveDto;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.dto.CourseHomeworkSubmitDto;
 | 
	
		
			
				|  |  | +import com.yonge.cooleshow.biz.dal.dto.CourseScheduleHomeworkSearch;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.dto.search.HomeworkAdminSearch;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.dto.search.HomeworkSearch;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.entity.CourseHomework;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.entity.CourseSchedule;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.entity.CourseScheduleStudentPayment;
 | 
	
		
			
				|  |  | -import com.yonge.cooleshow.biz.dal.entity.SysMessageConfig;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.enums.CourseScheduleEnum;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.enums.MessageTypeEnum;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.enums.YesOrNoEnum;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.service.*;
 | 
	
		
			
				|  |  | +import com.yonge.cooleshow.biz.dal.support.PageUtil;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.vo.CourseHomeworkDetailVo;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.vo.CourseHomeworkVo;
 | 
	
		
			
				|  |  | +import com.yonge.cooleshow.biz.dal.vo.CourseScheduleHomeworkVo;
 | 
	
		
			
				|  |  | +import com.yonge.cooleshow.biz.dal.vo.StudentHomeworkVo;
 | 
	
		
			
				|  |  |  import com.yonge.toolset.base.exception.BizException;
 | 
	
		
			
				|  |  |  import com.yonge.toolset.thirdparty.message.MessageSenderPluginContext;
 | 
	
		
			
				|  |  |  import org.slf4j.Logger;
 | 
	
	
		
			
				|  | @@ -31,10 +34,7 @@ import org.springframework.stereotype.Service;
 | 
	
		
			
				|  |  |  import org.springframework.transaction.annotation.Transactional;
 | 
	
		
			
				|  |  |  import org.springframework.util.CollectionUtils;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -import java.util.Date;
 | 
	
		
			
				|  |  | -import java.util.HashMap;
 | 
	
		
			
				|  |  | -import java.util.List;
 | 
	
		
			
				|  |  | -import java.util.Map;
 | 
	
		
			
				|  |  | +import java.util.*;
 | 
	
		
			
				|  |  |  import java.util.stream.Collectors;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -57,9 +57,6 @@ public class CourseHomeworkServiceImpl extends ServiceImpl<CourseHomeworkDao, Co
 | 
	
		
			
				|  |  |      private SysUserFeignService sysUserFeignService;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  | -    private SysMessageConfigService sysMessageConfigService;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    @Autowired
 | 
	
		
			
				|  |  |      private CourseScheduleStudentPaymentService courseScheduleStudentPaymentService;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	@Override
 | 
	
	
		
			
				|  | @@ -75,36 +72,98 @@ public class CourseHomeworkServiceImpl extends ServiceImpl<CourseHomeworkDao, Co
 | 
	
		
			
				|  |  |          if (CollectionUtils.isEmpty(records)) {
 | 
	
		
			
				|  |  |              return courseHomeworkVoIPage;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        // 学生信息
 | 
	
		
			
				|  |  | -        List<CourseHomeworkVo> studentInfoList = baseMapper.selectStudentInfo(records);
 | 
	
		
			
				|  |  | +        List<CourseHomeworkVo> practiceRecord = records.stream()
 | 
	
		
			
				|  |  | +                            .filter(courseHomeworkVo -> courseHomeworkVo.getType().getCode().equals(CourseScheduleEnum.PRACTICE.getCode()))
 | 
	
		
			
				|  |  | +                            .collect(Collectors.toList());
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        // 学生信息 陪练课展示
 | 
	
		
			
				|  |  | +        List<CourseHomeworkVo> studentInfoList = new ArrayList<>();
 | 
	
		
			
				|  |  | +        if (CollectionUtils.isEmpty(practiceRecord)) {
 | 
	
		
			
				|  |  | +            studentInfoList = new ArrayList<>();
 | 
	
		
			
				|  |  | +        } else{
 | 
	
		
			
				|  |  | +            baseMapper.selectStudentInfo(practiceRecord);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (CollectionUtils.isEmpty(studentInfoList)) {
 | 
	
		
			
				|  |  | +            studentInfoList = new ArrayList<>();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        Map<Long, List<CourseHomeworkVo>> studentCollect = studentInfoList.stream()
 | 
	
		
			
				|  |  | +                .collect(Collectors.groupingBy( CourseHomeworkVo::getCourseId));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        // 旷课状态 和老师信息
 | 
	
		
			
				|  |  | +        // 老师信息
 | 
	
		
			
				|  |  |          List<CourseHomeworkVo> teacherInfoList = baseMapper.selectTeacherInfo(records);
 | 
	
		
			
				|  |  | +        if (CollectionUtils.isEmpty(teacherInfoList)) {
 | 
	
		
			
				|  |  | +            teacherInfoList = new ArrayList<>();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        Map<Long, List<CourseHomeworkVo>> teacherCollect = teacherInfoList.stream()
 | 
	
		
			
				|  |  | +                      .collect(Collectors.groupingBy( CourseHomeworkVo::getCourseId));
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        // 旷课状态  学生端展示
 | 
	
		
			
				|  |  | +        Map<Long, List<CourseHomeworkVo>> absenteeismCollect = new HashMap<>();
 | 
	
		
			
				|  |  | +        if (query.getStudentId() != null) {
 | 
	
		
			
				|  |  | +            List<CourseHomeworkVo> absenteeismList = baseMapper.selectAbsenteeism(records,query.getStudentId());
 | 
	
		
			
				|  |  | +            if (CollectionUtils.isEmpty(absenteeismList)) {
 | 
	
		
			
				|  |  | +                absenteeismList = new ArrayList<>();
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            absenteeismCollect = absenteeismList.stream().collect(Collectors.groupingBy( CourseHomeworkVo::getCourseId));
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          // 声部信息
 | 
	
		
			
				|  |  | -        List<CourseHomeworkVo> subjectList = baseMapper.selectSubjectInfoList(records);
 | 
	
		
			
				|  |  | -        for (int i = 0; i < records.size(); i++) {
 | 
	
		
			
				|  |  | -            records.get(i).setStudentId(studentInfoList.get(i).getStudentId());
 | 
	
		
			
				|  |  | -            records.get(i).setStudentAvatar(studentInfoList.get(i).getStudentAvatar());
 | 
	
		
			
				|  |  | -            records.get(i).setStudentName(studentInfoList.get(i).getStudentName());
 | 
	
		
			
				|  |  | -            records.get(i).setSubjectName(subjectList.get(i).getSubjectName());
 | 
	
		
			
				|  |  | -            records.get(i).setTeacherAvatar(teacherInfoList.get(i).getTeacherAvatar());
 | 
	
		
			
				|  |  | -            records.get(i).setTeacherId(teacherInfoList.get(i).getTeacherId());
 | 
	
		
			
				|  |  | -            records.get(i).setTeacherName(teacherInfoList.get(i).getTeacherName());
 | 
	
		
			
				|  |  | -            records.get(i).setAbsenteeism(teacherInfoList.get(i).getAbsenteeism());
 | 
	
		
			
				|  |  | +        List<CourseHomeworkVo> subjectList = baseMapper.selectSubjectAndGroupInfoList(records);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        if (CollectionUtils.isEmpty(subjectList)) {
 | 
	
		
			
				|  |  | +            subjectList = new ArrayList<>();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        Map<Long, List<CourseHomeworkVo>>subjectCollect = subjectList.stream()
 | 
	
		
			
				|  |  | +                      .collect(Collectors.groupingBy( CourseHomeworkVo::getCourseId));
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        for (CourseHomeworkVo record : records) {
 | 
	
		
			
				|  |  | +            List<CourseHomeworkVo> courseHomeworkVoList = studentCollect.get(record.getCourseId());
 | 
	
		
			
				|  |  | +            CourseHomeworkVo courseHomeworkVo;
 | 
	
		
			
				|  |  | +            if (!CollectionUtils.isEmpty(courseHomeworkVoList)) {
 | 
	
		
			
				|  |  | +                courseHomeworkVo = courseHomeworkVoList.get(0);
 | 
	
		
			
				|  |  | +                record.setStudentId(courseHomeworkVo.getStudentId());
 | 
	
		
			
				|  |  | +                record.setStudentAvatar(courseHomeworkVo.getStudentAvatar());
 | 
	
		
			
				|  |  | +                record.setStudentName(courseHomeworkVo.getStudentName());
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            courseHomeworkVoList = teacherCollect.get(record.getCourseId());
 | 
	
		
			
				|  |  | +            if (!CollectionUtils.isEmpty(courseHomeworkVoList)) {
 | 
	
		
			
				|  |  | +                courseHomeworkVo = courseHomeworkVoList.get(0);
 | 
	
		
			
				|  |  | +                record.setTeacherId(courseHomeworkVo.getTeacherId());
 | 
	
		
			
				|  |  | +                record.setTeacherName(courseHomeworkVo.getTeacherName());
 | 
	
		
			
				|  |  | +                record.setTeacherAvatar(courseHomeworkVo.getTeacherAvatar());
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            courseHomeworkVoList = absenteeismCollect.get(record.getCourseId());
 | 
	
		
			
				|  |  | +            if (!CollectionUtils.isEmpty(courseHomeworkVoList)) {
 | 
	
		
			
				|  |  | +                courseHomeworkVo = courseHomeworkVoList.get(0);
 | 
	
		
			
				|  |  | +                record.setAbsenteeism(courseHomeworkVo.getAbsenteeism());
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  | +                record.setAbsenteeism(YesOrNoEnum.NO);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            courseHomeworkVoList = subjectCollect.get(record.getCourseId());
 | 
	
		
			
				|  |  | +            if (!CollectionUtils.isEmpty(courseHomeworkVoList)) {
 | 
	
		
			
				|  |  | +                courseHomeworkVo = courseHomeworkVoList.get(0);
 | 
	
		
			
				|  |  | +                record.setCourseGroupName(courseHomeworkVo.getCourseGroupName());
 | 
	
		
			
				|  |  | +                record.setSubjectName(courseHomeworkVo.getSubjectName());
 | 
	
		
			
				|  |  | +                record.setClassNum(courseHomeworkVo.getClassNum());
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          return courseHomeworkVoIPage;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  | -    public CourseHomeworkDetailVo getCourseHomeworkDetailByCourseId(Long courseId) {
 | 
	
		
			
				|  |  | +    public CourseHomeworkDetailVo getCourseHomeworkDetailByCourseId(Long courseId, Long studentId) {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          // 课程基本信息
 | 
	
		
			
				|  |  | -        CourseHomeworkDetailVo courseHomeworkDetailVo = baseMapper.selectCourseHomeworkDetailByCourseId(courseId);
 | 
	
		
			
				|  |  | +        CourseHomeworkDetailVo courseHomeworkDetailVo = baseMapper.selectCourseHomeworkDetailByCourseId(courseId,studentId);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        if (courseHomeworkDetailVo == null) {
 | 
	
		
			
				|  |  | +            throw  new BizException("未找到作业信息");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          // 学生信息
 | 
	
		
			
				|  |  |          CourseHomeworkDetailVo studentInfoDetailVo = baseMapper
 | 
	
		
			
				|  |  | -                .selectPaymentStudentInfo(courseHomeworkDetailVo.getCourseScheduleId());
 | 
	
		
			
				|  |  | +                .selectPaymentStudentInfo(courseHomeworkDetailVo.getCourseScheduleId(),studentId);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          // 声部信息
 | 
	
		
			
				|  |  |          CourseHomeworkDetailVo subjectAndTeacherInfoVo = baseMapper
 | 
	
	
		
			
				|  | @@ -158,17 +217,26 @@ public class CourseHomeworkServiceImpl extends ServiceImpl<CourseHomeworkDao, Co
 | 
	
		
			
				|  |  |       * @param teacherId 老师id
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  |      private void sendDecorateHomework(Long courseScheduleId,Long teacherId) {
 | 
	
		
			
				|  |  | -        CourseScheduleStudentPayment courseScheduleStudentPayment = courseScheduleStudentPaymentService.getByCourseId(
 | 
	
		
			
				|  |  | +        List<CourseScheduleStudentPayment> paymentList = courseScheduleStudentPaymentService.getByCourseId(
 | 
	
		
			
				|  |  |                  courseScheduleId);
 | 
	
		
			
				|  |  | -        SysUser student = sysUserFeignService.queryUserById(courseScheduleStudentPayment.getUserId());
 | 
	
		
			
				|  |  | +        if (paymentList.isEmpty()) {
 | 
	
		
			
				|  |  | +            return;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |          SysUser teacher = sysUserFeignService.queryUserById(teacherId);
 | 
	
		
			
				|  |  | -        Map<Long,String> studentReceivers = new HashMap<>();
 | 
	
		
			
				|  |  | -        studentReceivers.put(student.getId(), student.getPhone());
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |          String url = sysMessageService.selectConfigUrl(MessageTypeEnum.TEACHER_DECORATE_HOMEWORK.getCode());
 | 
	
		
			
				|  |  | +        for (CourseScheduleStudentPayment courseScheduleStudentPayment : paymentList) {
 | 
	
		
			
				|  |  | +            SysUser student = sysUserFeignService.queryUserById(courseScheduleStudentPayment.getUserId());
 | 
	
		
			
				|  |  | +            Map<Long,String> studentReceivers = new HashMap<>();
 | 
	
		
			
				|  |  | +            studentReceivers.put(student.getId(), student.getPhone());
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.TEACHER_DECORATE_HOMEWORK,
 | 
	
		
			
				|  |  | -         studentReceivers, null, 0,url + courseScheduleId , ClientEnum.STUDENT.getCode(),teacher.getUsername());
 | 
	
		
			
				|  |  | +            try {
 | 
	
		
			
				|  |  | +                sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum
 | 
	
		
			
				|  |  | +                       .TEACHER_DECORATE_HOMEWORK,studentReceivers, null, 0,url + courseScheduleId ,
 | 
	
		
			
				|  |  | +                       ClientEnum.STUDENT.getCode(),teacher.getUsername());
 | 
	
		
			
				|  |  | +            } catch (Exception e) {
 | 
	
		
			
				|  |  | +                log.warn("老师布置作业消息发送失败  学生id:{}",student.getId());
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      /**
 | 
	
	
		
			
				|  | @@ -180,7 +248,6 @@ public class CourseHomeworkServiceImpl extends ServiceImpl<CourseHomeworkDao, Co
 | 
	
		
			
				|  |  |      private CourseHomework checkHasHomework(Long courseScheduleId) {
 | 
	
		
			
				|  |  |          List<CourseHomework> list = this.lambdaQuery()
 | 
	
		
			
				|  |  |                                          .eq(CourseHomework::getCourseScheduleId, courseScheduleId)
 | 
	
		
			
				|  |  | -                                        .eq(CourseHomework::getCourseGroupType, CourseScheduleEnum.PRACTICE.getCode())
 | 
	
		
			
				|  |  |                                          .list();
 | 
	
		
			
				|  |  |          if (CollectionUtils.isEmpty(list)) {
 | 
	
		
			
				|  |  |              return null;
 | 
	
	
		
			
				|  | @@ -201,7 +268,7 @@ public class CourseHomeworkServiceImpl extends ServiceImpl<CourseHomeworkDao, Co
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          // 课程基本信息
 | 
	
		
			
				|  |  |          CourseHomeworkDetailVo courseHomeworkDetailVo = baseMapper
 | 
	
		
			
				|  |  | -                .selectCourseHomeworkDetailByCourseId(reviewDto.getCourseScheduleId());
 | 
	
		
			
				|  |  | +                .selectCourseHomeworkDetailByCourseId(reviewDto.getCourseScheduleId(), reviewDto.getStudentId());
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          // 检查学生是否提交作业
 | 
	
		
			
				|  |  |          if (!YesOrNoEnum.YES.getCode().equals(courseHomeworkDetailVo.getSubmitHomework().getCode())) {
 | 
	
	
		
			
				|  | @@ -242,7 +309,7 @@ public class CourseHomeworkServiceImpl extends ServiceImpl<CourseHomeworkDao, Co
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          // 课程基本信息
 | 
	
		
			
				|  |  |          CourseHomeworkDetailVo courseHomeworkDetailVo = baseMapper
 | 
	
		
			
				|  |  | -                .selectCourseHomeworkDetailByCourseId(submitDto.getCourseScheduleId());
 | 
	
		
			
				|  |  | +                .selectCourseHomeworkDetailByCourseId(submitDto.getCourseScheduleId(), submitDto.getStudentId());
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          // 检查老师是否评价作业
 | 
	
		
			
				|  |  |          if (YesOrNoEnum.YES.getCode().equals(courseHomeworkDetailVo.getReviewHomework().getCode())) {
 | 
	
	
		
			
				|  | @@ -287,22 +354,25 @@ public class CourseHomeworkServiceImpl extends ServiceImpl<CourseHomeworkDao, Co
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      public IPage<CourseHomeworkVo> selectAdminPage(IPage<CourseHomeworkVo> page, HomeworkAdminSearch query) {
 | 
	
		
			
				|  |  | -        IPage<CourseHomeworkVo> courseHomeworkVoIPage = page.setRecords(baseMapper.selectAdminPage(page, query));
 | 
	
		
			
				|  |  | +        return page.setRecords(baseMapper.selectAdminPage(page, query));
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        List<CourseHomeworkVo> records = courseHomeworkVoIPage.getRecords();
 | 
	
		
			
				|  |  | -        List<Long> courseIdList = records
 | 
	
		
			
				|  |  | -                      .stream()
 | 
	
		
			
				|  |  | -                      .map(CourseHomeworkVo::getCourseId)
 | 
	
		
			
				|  |  | -                      .collect(Collectors.toList());
 | 
	
		
			
				|  |  | -        if (CollectionUtils.isEmpty(courseIdList)) {
 | 
	
		
			
				|  |  | -            return courseHomeworkVoIPage;
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        // 查询提交时间
 | 
	
		
			
				|  |  | -        List<CourseHomeworkVo> courseHomeworkVoList = baseMapper.selectSubmitTime(courseIdList);
 | 
	
		
			
				|  |  | -        for (int i = 0; i < records.size(); i++) {
 | 
	
		
			
				|  |  | -            records.get(i).setSubmitTime(courseHomeworkVoList.get(i).getSubmitTime());
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public CourseScheduleHomeworkVo getCourseHomeworkDetailByCourseId(CourseScheduleHomeworkSearch query) {
 | 
	
		
			
				|  |  | +        //  查询课程作业信息
 | 
	
		
			
				|  |  | +        CourseScheduleHomeworkVo courseScheduleHomeworkVo = baseMapper
 | 
	
		
			
				|  |  | +                .selectCourseHomeworkByCourseId(query.getCourseId());
 | 
	
		
			
				|  |  | +        if (courseScheduleHomeworkVo == null) {
 | 
	
		
			
				|  |  | +            return courseScheduleHomeworkVo;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        return courseHomeworkVoIPage;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        // 课程人员作业
 | 
	
		
			
				|  |  | +        IPage<StudentHomeworkVo> studentHomeworkList = baseMapper
 | 
	
		
			
				|  |  | +                .selectStudentHomeworkByCourseId(PageUtil.getPage(query),query.getCourseId());
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        courseScheduleHomeworkVo.setStudentHomeworkList(studentHomeworkList);
 | 
	
		
			
				|  |  | +        return courseScheduleHomeworkVo;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      /**
 | 
	
	
		
			
				|  | @@ -313,8 +383,9 @@ public class CourseHomeworkServiceImpl extends ServiceImpl<CourseHomeworkDao, Co
 | 
	
		
			
				|  |  |      private void checkCourseSchedule(Long courseScheduleId) {
 | 
	
		
			
				|  |  |          // 1. 检查课程类型
 | 
	
		
			
				|  |  |          CourseSchedule courseSchedule = courseScheduleService.getById(courseScheduleId);
 | 
	
		
			
				|  |  | -        if (!CourseScheduleEnum.PRACTICE.getCode().equals(courseSchedule.getType())) {
 | 
	
		
			
				|  |  | -            throw  new BizException("非陪练课,不能布置课后作业");
 | 
	
		
			
				|  |  | +        if (!CourseScheduleEnum.PRACTICE.getCode().equals(courseSchedule.getType())
 | 
	
		
			
				|  |  | +                && !CourseScheduleEnum.PIANO_ROOM_CLASS.getCode().equals(courseSchedule.getType())) {
 | 
	
		
			
				|  |  | +            throw new BizException("不能布置课后作业");
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          // 2. 检查课程结束
 | 
	
		
			
				|  |  |          if (!CourseScheduleEnum.COMPLETE.getCode().equals(courseSchedule.getStatus())) {
 | 
	
	
		
			
				|  | @@ -333,7 +404,7 @@ public class CourseHomeworkServiceImpl extends ServiceImpl<CourseHomeworkDao, Co
 | 
	
		
			
				|  |  |          CourseHomework courseHomework = new CourseHomework();
 | 
	
		
			
				|  |  |          courseHomework.setId(saveDto.getCourseHomeworkId());
 | 
	
		
			
				|  |  |          courseHomework.setCourseGroupId(courseSchedule.getCourseGroupId());
 | 
	
		
			
				|  |  | -        courseHomework.setCourseGroupType(CourseScheduleEnum.PRACTICE.getCode());
 | 
	
		
			
				|  |  | +        courseHomework.setCourseGroupType(courseSchedule.getType());
 | 
	
		
			
				|  |  |          courseHomework.setCourseScheduleId(saveDto.getCourseScheduleId());
 | 
	
		
			
				|  |  |          courseHomework.setTitle(saveDto.getTitle());
 | 
	
		
			
				|  |  |          courseHomework.setContent(saveDto.getContent());
 |