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