|  | @@ -1,10 +1,29 @@
 | 
	
		
			
				|  |  |  package com.ym.mec.education.service.impl;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 | 
	
		
			
				|  |  | +import com.baomidou.mybatisplus.core.metadata.IPage;
 | 
	
		
			
				|  |  | +import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 | 
	
		
			
				|  |  |  import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 | 
	
		
			
				|  |  | +import com.google.common.collect.Lists;
 | 
	
		
			
				|  |  | +import com.ym.mec.education.base.PageResponse;
 | 
	
		
			
				|  |  | +import com.ym.mec.education.entity.ClassGroup;
 | 
	
		
			
				|  |  | +import com.ym.mec.education.entity.ClassGroupTeacherMapper;
 | 
	
		
			
				|  |  |  import com.ym.mec.education.entity.CourseSchedule;
 | 
	
		
			
				|  |  | +import com.ym.mec.education.entity.SysUser;
 | 
	
		
			
				|  |  | +import com.ym.mec.education.enums.TeachTypeEnum;
 | 
	
		
			
				|  |  |  import com.ym.mec.education.mapper.CourseScheduleMapper;
 | 
	
		
			
				|  |  | +import com.ym.mec.education.req.ClassGroupReq;
 | 
	
		
			
				|  |  | +import com.ym.mec.education.resp.CourseScheduleResp;
 | 
	
		
			
				|  |  | +import com.ym.mec.education.service.IClassGroupService;
 | 
	
		
			
				|  |  | +import com.ym.mec.education.service.IClassGroupTeacherMapperService;
 | 
	
		
			
				|  |  |  import com.ym.mec.education.service.ICourseScheduleService;
 | 
	
		
			
				|  |  | +import com.ym.mec.education.service.ISysUserService;
 | 
	
		
			
				|  |  | +import com.ym.mec.education.utils.DateUtil;
 | 
	
		
			
				|  |  | +import org.springframework.beans.BeanUtils;
 | 
	
		
			
				|  |  | +import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  |  import org.springframework.stereotype.Service;
 | 
	
		
			
				|  |  | +import java.util.List;
 | 
	
		
			
				|  |  | +import java.util.Objects;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /**
 | 
	
		
			
				|  |  |   * <p>
 | 
	
	
		
			
				|  | @@ -17,4 +36,42 @@ import org.springframework.stereotype.Service;
 | 
	
		
			
				|  |  |  @Service
 | 
	
		
			
				|  |  |  public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleMapper, CourseSchedule> implements ICourseScheduleService {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    @Autowired
 | 
	
		
			
				|  |  | +    private IClassGroupService groupService;
 | 
	
		
			
				|  |  | +    @Autowired
 | 
	
		
			
				|  |  | +    private IClassGroupTeacherMapperService classGroupTeacherMapperService;
 | 
	
		
			
				|  |  | +    @Autowired
 | 
	
		
			
				|  |  | +    private ISysUserService sysUserService;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public PageResponse getPage(ClassGroupReq classGroupReq) {
 | 
	
		
			
				|  |  | +        Page<CourseSchedule> courseSchedulePage = new Page<>(classGroupReq.getPageNo(), classGroupReq.getPageSize());
 | 
	
		
			
				|  |  | +        QueryWrapper<CourseSchedule> courseScheduleQueryWrapper = new QueryWrapper<>();
 | 
	
		
			
				|  |  | +        courseScheduleQueryWrapper.lambda().eq(true, CourseSchedule::getClassGroupId, classGroupReq.getGroupId());
 | 
	
		
			
				|  |  | +        IPage<CourseSchedule> courseScheduleIPage = page(courseSchedulePage, courseScheduleQueryWrapper);
 | 
	
		
			
				|  |  | +        Page<CourseScheduleResp> pageResult = new Page<>();
 | 
	
		
			
				|  |  | +        List<CourseScheduleResp> courseScheduleRespList = Lists.newArrayList();
 | 
	
		
			
				|  |  | +        BeanUtils.copyProperties(courseScheduleIPage, pageResult);
 | 
	
		
			
				|  |  | +        ClassGroup classGroup = groupService.getById(classGroupReq.getGroupId());
 | 
	
		
			
				|  |  | +        courseScheduleIPage.getRecords().forEach(item ->{
 | 
	
		
			
				|  |  | +            CourseScheduleResp courseScheduleResp = new CourseScheduleResp();
 | 
	
		
			
				|  |  | +            courseScheduleResp.setClassDate(DateUtil.date2String(item.getClassDate())
 | 
	
		
			
				|  |  | +                    + "" + DateUtil.date2Week(item.getClassDate()))
 | 
	
		
			
				|  |  | +                    .setClassTime(item.getStartClassTime() + "-" + item.getEndClassTime())
 | 
	
		
			
				|  |  | +                    .setClassGroupName(classGroup.getName());
 | 
	
		
			
				|  |  | +            QueryWrapper<ClassGroupTeacherMapper> classGroupTeacherMapperQueryWrapper = new QueryWrapper<>();
 | 
	
		
			
				|  |  | +            classGroupTeacherMapperQueryWrapper.lambda().eq(true, ClassGroupTeacherMapper::getClassGroupId, item.getClassGroupId())
 | 
	
		
			
				|  |  | +                    .eq(true, ClassGroupTeacherMapper::getTeacherRole, TeachTypeEnum.BISHOP.getCode());
 | 
	
		
			
				|  |  | +            ClassGroupTeacherMapper classGroupTeacherMapper = classGroupTeacherMapperService.getOne(classGroupTeacherMapperQueryWrapper);
 | 
	
		
			
				|  |  | +            if (Objects.nonNull(classGroupTeacherMapper)){
 | 
	
		
			
				|  |  | +                SysUser sysUser = sysUserService.getById(classGroupTeacherMapper.getUserId());
 | 
	
		
			
				|  |  | +                if (Objects.nonNull(sysUser)){
 | 
	
		
			
				|  |  | +                    courseScheduleResp.setTeacher(sysUser.getRealName());
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            courseScheduleRespList.add(courseScheduleResp);
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +        pageResult.setRecords(courseScheduleRespList);
 | 
	
		
			
				|  |  | +        return PageResponse.success(pageResult);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |  }
 |