| 
					
				 | 
			
			
				@@ -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); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |