|
@@ -4,11 +4,11 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
-import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
|
|
|
|
import com.ym.mec.education.base.BaseResponse;
|
|
import com.ym.mec.education.base.BaseResponse;
|
|
import com.ym.mec.education.base.PageResponse;
|
|
import com.ym.mec.education.base.PageResponse;
|
|
import com.ym.mec.education.entity.*;
|
|
import com.ym.mec.education.entity.*;
|
|
import com.ym.mec.education.enums.StudentAttendanceStatusEnum;
|
|
import com.ym.mec.education.enums.StudentAttendanceStatusEnum;
|
|
|
|
+import com.ym.mec.education.enums.TeachTypeEnum;
|
|
import com.ym.mec.education.mapper.VipGroupMapper;
|
|
import com.ym.mec.education.mapper.VipGroupMapper;
|
|
import com.ym.mec.education.req.VipGroupReq;
|
|
import com.ym.mec.education.req.VipGroupReq;
|
|
import com.ym.mec.education.resp.VipClassAttendanceResp;
|
|
import com.ym.mec.education.resp.VipClassAttendanceResp;
|
|
@@ -19,7 +19,6 @@ import com.ym.mec.education.utils.DateUtil;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.util.CollectionUtils;
|
|
import org.springframework.util.CollectionUtils;
|
|
-
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Objects;
|
|
import java.util.Objects;
|
|
@@ -50,28 +49,29 @@ public class VipGroupServiceImpl extends ServiceImpl<VipGroupMapper, VipGroup> i
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
private IStudentAttendanceService studentAttendanceService;
|
|
private IStudentAttendanceService studentAttendanceService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private IClassGroupTeacherMapperService classGroupTeacherMapperService;
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public BaseResponse getInfo(VipGroupReq vipGroupReq) {
|
|
public BaseResponse getInfo(VipGroupReq vipGroupReq) {
|
|
if (Objects.isNull(vipGroupReq.getVipGroupId())) {
|
|
if (Objects.isNull(vipGroupReq.getVipGroupId())) {
|
|
return BaseResponse.errorParam();
|
|
return BaseResponse.errorParam();
|
|
}
|
|
}
|
|
VipGroupResp vipGroupResp = new VipGroupResp();
|
|
VipGroupResp vipGroupResp = new VipGroupResp();
|
|
- QueryWrapper<CourseSchedule> courseScheduleQueryWrapper = new QueryWrapper();
|
|
|
|
- courseScheduleQueryWrapper.lambda().eq(CourseSchedule::getClassGroupId, vipGroupReq.getVipGroupId())
|
|
|
|
- .eq(CourseSchedule::getType, CourseSchedule.CourseScheduleType.VIP.getCode());
|
|
|
|
- CourseSchedule courseSchedule = courseScheduleService.getOne(courseScheduleQueryWrapper);
|
|
|
|
- if (Objects.nonNull(courseSchedule)) {
|
|
|
|
- if (Objects.nonNull(courseSchedule.getTeacherId())) {
|
|
|
|
- Optional.ofNullable(userService.getById(courseSchedule.getTeacherId()))
|
|
|
|
- .ifPresent(user -> vipGroupResp.setTeacher(user.getRealName()));
|
|
|
|
|
|
+ QueryWrapper<VipGroupClassGroupMapper> vipGroupClassGroupMapperQueryWrapper = new QueryWrapper<>();
|
|
|
|
+ vipGroupClassGroupMapperQueryWrapper.lambda().eq(VipGroupClassGroupMapper::getVipGroupId, vipGroupReq.getVipGroupId());
|
|
|
|
+ VipGroupClassGroupMapper vipGroupClassGroupMapper = vipGroupClassGroupMapperService.getOne(vipGroupClassGroupMapperQueryWrapper);
|
|
|
|
+ if (Objects.nonNull(vipGroupClassGroupMapper)) {
|
|
|
|
+ QueryWrapper<ClassGroupTeacherMapper> classGroupTeacherMapperQueryWrapper = new QueryWrapper();
|
|
|
|
+ classGroupTeacherMapperQueryWrapper.lambda().eq(ClassGroupTeacherMapper::getClassGroupId, vipGroupClassGroupMapper.getClassGroupId())
|
|
|
|
+ .eq(ClassGroupTeacherMapper::getTeacherRole, TeachTypeEnum.BISHOP.getCode());
|
|
|
|
+ ClassGroupTeacherMapper classGroupTeacherMapper = classGroupTeacherMapperService.getOne(classGroupTeacherMapperQueryWrapper);
|
|
|
|
+ if (Objects.nonNull(classGroupTeacherMapper)) {
|
|
|
|
+ Optional.ofNullable(userService.getById(classGroupTeacherMapper.getUserId())).
|
|
|
|
+ ifPresent(sysUser -> vipGroupResp.setTeacher(sysUser.getRealName()));
|
|
}
|
|
}
|
|
- }
|
|
|
|
- QueryWrapper<ClassGroup> classGroupQueryWrapper = new QueryWrapper();
|
|
|
|
- classGroupQueryWrapper.lambda().eq(ClassGroup::getMusicGroupId, vipGroupReq.getVipGroupId())
|
|
|
|
- .eq(ClassGroup::getType, ClassGroupTypeEnum.VIP.getCode());
|
|
|
|
- List<ClassGroup> classGroupList = classGroupService.list(classGroupQueryWrapper);
|
|
|
|
- if (!CollectionUtils.isEmpty(classGroupList)) {
|
|
|
|
- classGroupList.stream().findFirst().ifPresent(classGroup -> {
|
|
|
|
|
|
+ ClassGroup classGroupResult = classGroupService.getById(vipGroupClassGroupMapper.getClassGroupId());
|
|
|
|
+ Optional.ofNullable(classGroupResult).ifPresent(classGroup -> {
|
|
if (Objects.nonNull(classGroup.getCurrentClassTimes()) && Objects.nonNull(classGroup.getTotalClassTimes())) {
|
|
if (Objects.nonNull(classGroup.getCurrentClassTimes()) && Objects.nonNull(classGroup.getTotalClassTimes())) {
|
|
vipGroupResp.setCourseProgress(classGroup.getCurrentClassTimes() + "/" + classGroup.getTotalClassTimes());
|
|
vipGroupResp.setCourseProgress(classGroup.getCurrentClassTimes() + "/" + classGroup.getTotalClassTimes());
|
|
}
|
|
}
|
|
@@ -93,41 +93,42 @@ public class VipGroupServiceImpl extends ServiceImpl<VipGroupMapper, VipGroup> i
|
|
|
|
|
|
/**
|
|
/**
|
|
* 点名记录
|
|
* 点名记录
|
|
|
|
+ *
|
|
* @param vipGroupReq
|
|
* @param vipGroupReq
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
public PageResponse courseList(VipGroupReq vipGroupReq) {
|
|
public PageResponse courseList(VipGroupReq vipGroupReq) {
|
|
QueryWrapper<VipGroupClassGroupMapper> queryWrapper = new QueryWrapper<>();
|
|
QueryWrapper<VipGroupClassGroupMapper> queryWrapper = new QueryWrapper<>();
|
|
- queryWrapper.eq("vip_group_id_",vipGroupReq.getVipGroupId());
|
|
|
|
|
|
+ queryWrapper.eq("vip_group_id_", vipGroupReq.getVipGroupId());
|
|
VipGroupClassGroupMapper vipGroupClassGroupMapper = vipGroupClassGroupMapperService.getOne(queryWrapper);
|
|
VipGroupClassGroupMapper vipGroupClassGroupMapper = vipGroupClassGroupMapperService.getOne(queryWrapper);
|
|
- if(vipGroupClassGroupMapper == null){
|
|
|
|
|
|
+ if (vipGroupClassGroupMapper == null) {
|
|
return PageResponse.errorParam();
|
|
return PageResponse.errorParam();
|
|
}
|
|
}
|
|
|
|
|
|
PageResponse response = new PageResponse();
|
|
PageResponse response = new PageResponse();
|
|
|
|
|
|
- IPage page = new Page(vipGroupReq.getPageNo() == null ? 1: vipGroupReq.getPageNo(),vipGroupReq.getPageSize() == null ? 10: vipGroupReq.getPageSize());
|
|
|
|
|
|
+ IPage page = new Page(vipGroupReq.getPageNo() == null ? 1 : vipGroupReq.getPageNo(), vipGroupReq.getPageSize() == null ? 10 : vipGroupReq.getPageSize());
|
|
|
|
|
|
QueryWrapper<CourseSchedule> scheduleQueryWrapper = new QueryWrapper<>();
|
|
QueryWrapper<CourseSchedule> scheduleQueryWrapper = new QueryWrapper<>();
|
|
- scheduleQueryWrapper.eq("class_group_id_",vipGroupClassGroupMapper.getClassGroupId());
|
|
|
|
- IPage<CourseSchedule> scheduleIPage = courseScheduleService.page(page,scheduleQueryWrapper);
|
|
|
|
|
|
+ scheduleQueryWrapper.eq("class_group_id_", vipGroupClassGroupMapper.getClassGroupId());
|
|
|
|
+ IPage<CourseSchedule> scheduleIPage = courseScheduleService.page(page, scheduleQueryWrapper);
|
|
|
|
|
|
|
|
|
|
List<VipClassScheduleResp> vipClassScheduleRespList = new ArrayList<>();
|
|
List<VipClassScheduleResp> vipClassScheduleRespList = new ArrayList<>();
|
|
List<CourseSchedule> courseSchedules = scheduleIPage.getRecords();
|
|
List<CourseSchedule> courseSchedules = scheduleIPage.getRecords();
|
|
- if(!CollectionUtils.isEmpty(courseSchedules)){
|
|
|
|
|
|
+ if (!CollectionUtils.isEmpty(courseSchedules)) {
|
|
ClassGroup classGroup = classGroupService.getById(vipGroupClassGroupMapper.getClassGroupId());
|
|
ClassGroup classGroup = classGroupService.getById(vipGroupClassGroupMapper.getClassGroupId());
|
|
- courseSchedules.forEach(e ->{
|
|
|
|
|
|
+ courseSchedules.forEach(e -> {
|
|
VipClassScheduleResp vipClassScheduleResp = new VipClassScheduleResp();
|
|
VipClassScheduleResp vipClassScheduleResp = new VipClassScheduleResp();
|
|
vipClassScheduleResp.setClassGroupId(e.getClassGroupId());
|
|
vipClassScheduleResp.setClassGroupId(e.getClassGroupId());
|
|
vipClassScheduleResp.setClassName(e.getName());
|
|
vipClassScheduleResp.setClassName(e.getName());
|
|
- vipClassScheduleResp.setDateStr(DateUtil.date2String(e.getClassDate(),DateUtil.DATE_FORMAT));
|
|
|
|
- vipClassScheduleResp.setStartTime(DateUtil.date2String(e.getStartClassTime(),DateUtil.TIME_FORMAT));
|
|
|
|
- vipClassScheduleResp.setEndTime(DateUtil.date2String(e.getEndClassTime(),DateUtil.TIME_FORMAT));
|
|
|
|
|
|
+ vipClassScheduleResp.setDateStr(DateUtil.date2String(e.getClassDate(), DateUtil.DATE_FORMAT));
|
|
|
|
+ vipClassScheduleResp.setStartTime(DateUtil.date2String(e.getStartClassTime(), DateUtil.TIME_FORMAT));
|
|
|
|
+ vipClassScheduleResp.setEndTime(DateUtil.date2String(e.getEndClassTime(), DateUtil.TIME_FORMAT));
|
|
vipClassScheduleResp.setStatus(e.getStatus());
|
|
vipClassScheduleResp.setStatus(e.getStatus());
|
|
vipClassScheduleResp.setWeek(DateUtil.date2Week(e.getClassDate()));
|
|
vipClassScheduleResp.setWeek(DateUtil.date2Week(e.getClassDate()));
|
|
- if(classGroup != null){
|
|
|
|
|
|
+ if (classGroup != null) {
|
|
vipClassScheduleResp.setCurrentNum(classGroup.getCurrentClassTimes());
|
|
vipClassScheduleResp.setCurrentNum(classGroup.getCurrentClassTimes());
|
|
vipClassScheduleResp.setTotalNum(classGroup.getTotalClassTimes());
|
|
vipClassScheduleResp.setTotalNum(classGroup.getTotalClassTimes());
|
|
}
|
|
}
|
|
@@ -144,7 +145,6 @@ public class VipGroupServiceImpl extends ServiceImpl<VipGroupMapper, VipGroup> i
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* @param vipGroupReq
|
|
* @param vipGroupReq
|
|
* @return
|
|
* @return
|
|
@@ -152,45 +152,45 @@ public class VipGroupServiceImpl extends ServiceImpl<VipGroupMapper, VipGroup> i
|
|
@Override
|
|
@Override
|
|
public PageResponse attendanceList(VipGroupReq vipGroupReq) {
|
|
public PageResponse attendanceList(VipGroupReq vipGroupReq) {
|
|
QueryWrapper<VipGroupClassGroupMapper> queryWrapper = new QueryWrapper<>();
|
|
QueryWrapper<VipGroupClassGroupMapper> queryWrapper = new QueryWrapper<>();
|
|
- queryWrapper.eq("vip_group_id_",vipGroupReq.getVipGroupId());
|
|
|
|
|
|
+ queryWrapper.eq("vip_group_id_", vipGroupReq.getVipGroupId());
|
|
VipGroupClassGroupMapper vipGroupClassGroupMapper = vipGroupClassGroupMapperService.getOne(queryWrapper);
|
|
VipGroupClassGroupMapper vipGroupClassGroupMapper = vipGroupClassGroupMapperService.getOne(queryWrapper);
|
|
- if(vipGroupClassGroupMapper == null){
|
|
|
|
|
|
+ if (vipGroupClassGroupMapper == null) {
|
|
return PageResponse.errorParam();
|
|
return PageResponse.errorParam();
|
|
}
|
|
}
|
|
|
|
|
|
PageResponse response = new PageResponse();
|
|
PageResponse response = new PageResponse();
|
|
|
|
|
|
- IPage page = new Page(vipGroupReq.getPageNo() == null ? 1: vipGroupReq.getPageNo(),vipGroupReq.getPageSize() == null ? 10: vipGroupReq.getPageSize());
|
|
|
|
|
|
+ IPage page = new Page(vipGroupReq.getPageNo() == null ? 1 : vipGroupReq.getPageNo(), vipGroupReq.getPageSize() == null ? 10 : vipGroupReq.getPageSize());
|
|
|
|
|
|
QueryWrapper<StudentAttendance> studentAttendanceQueryWrapper = new QueryWrapper<>();
|
|
QueryWrapper<StudentAttendance> studentAttendanceQueryWrapper = new QueryWrapper<>();
|
|
- studentAttendanceQueryWrapper.eq("class_group_id_",vipGroupClassGroupMapper.getClassGroupId());
|
|
|
|
- IPage<StudentAttendance> studentAttendanceIPage = studentAttendanceService.page(page,studentAttendanceQueryWrapper);
|
|
|
|
|
|
+ studentAttendanceQueryWrapper.eq("class_group_id_", vipGroupClassGroupMapper.getClassGroupId());
|
|
|
|
+ IPage<StudentAttendance> studentAttendanceIPage = studentAttendanceService.page(page, studentAttendanceQueryWrapper);
|
|
|
|
|
|
|
|
|
|
List<StudentAttendance> studentAttendanceList = studentAttendanceIPage.getRecords();
|
|
List<StudentAttendance> studentAttendanceList = studentAttendanceIPage.getRecords();
|
|
- if(!CollectionUtils.isEmpty(studentAttendanceList)){
|
|
|
|
- List<String> studentList =new ArrayList<>();
|
|
|
|
|
|
+ if (!CollectionUtils.isEmpty(studentAttendanceList)) {
|
|
|
|
+ List<String> studentList = new ArrayList<>();
|
|
int leaveNum = 0;
|
|
int leaveNum = 0;
|
|
QueryWrapper<StudentAttendance> queryWrapper1 = new QueryWrapper<>();
|
|
QueryWrapper<StudentAttendance> queryWrapper1 = new QueryWrapper<>();
|
|
- queryWrapper1.eq("class_group_id_",vipGroupClassGroupMapper.getClassGroupId());
|
|
|
|
|
|
+ queryWrapper1.eq("class_group_id_", vipGroupClassGroupMapper.getClassGroupId());
|
|
List<StudentAttendance> allList = studentAttendanceService.list(queryWrapper1);
|
|
List<StudentAttendance> allList = studentAttendanceService.list(queryWrapper1);
|
|
|
|
|
|
|
|
|
|
- if(!CollectionUtils.isEmpty(allList)){
|
|
|
|
|
|
+ if (!CollectionUtils.isEmpty(allList)) {
|
|
|
|
|
|
- List<StudentAttendance> norList = allList.stream().filter(e ->StudentAttendanceStatusEnum.NORMAL.getCode().equals(e.getStatus())).collect(Collectors.toList());
|
|
|
|
- if(!CollectionUtils.isEmpty(norList)){
|
|
|
|
|
|
+ List<StudentAttendance> norList = allList.stream().filter(e -> StudentAttendanceStatusEnum.NORMAL.getCode().equals(e.getStatus())).collect(Collectors.toList());
|
|
|
|
+ if (!CollectionUtils.isEmpty(norList)) {
|
|
List<Integer> userIds = norList.stream().map(StudentAttendance::getUserId).collect(Collectors.toList());
|
|
List<Integer> userIds = norList.stream().map(StudentAttendance::getUserId).collect(Collectors.toList());
|
|
QueryWrapper<SysUser> queryWrapper2 = new QueryWrapper<>();
|
|
QueryWrapper<SysUser> queryWrapper2 = new QueryWrapper<>();
|
|
- queryWrapper2.in("id_",userIds);
|
|
|
|
|
|
+ queryWrapper2.in("id_", userIds);
|
|
List<SysUser> sysUserList = userService.list(queryWrapper2);
|
|
List<SysUser> sysUserList = userService.list(queryWrapper2);
|
|
- if(!CollectionUtils.isEmpty(sysUserList)){
|
|
|
|
|
|
+ if (!CollectionUtils.isEmpty(sysUserList)) {
|
|
studentList = sysUserList.stream().map(SysUser::getRealName).collect(Collectors.toList());
|
|
studentList = sysUserList.stream().map(SysUser::getRealName).collect(Collectors.toList());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- List<StudentAttendance> leaveList = allList.stream().filter(e ->StudentAttendanceStatusEnum.LEAVE.getCode().equals(e.getStatus())).collect(Collectors.toList());
|
|
|
|
- if(!CollectionUtils.isEmpty(leaveList)){
|
|
|
|
|
|
+ List<StudentAttendance> leaveList = allList.stream().filter(e -> StudentAttendanceStatusEnum.LEAVE.getCode().equals(e.getStatus())).collect(Collectors.toList());
|
|
|
|
+ if (!CollectionUtils.isEmpty(leaveList)) {
|
|
leaveNum = leaveList.size();
|
|
leaveNum = leaveList.size();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -198,20 +198,20 @@ public class VipGroupServiceImpl extends ServiceImpl<VipGroupMapper, VipGroup> i
|
|
List<String> finalStudentList = studentList;
|
|
List<String> finalStudentList = studentList;
|
|
int finalLeaveNum = leaveNum;
|
|
int finalLeaveNum = leaveNum;
|
|
List<VipClassAttendanceResp> vipClassAttendanceRespList = new ArrayList<>();
|
|
List<VipClassAttendanceResp> vipClassAttendanceRespList = new ArrayList<>();
|
|
- studentAttendanceList.forEach(e ->{
|
|
|
|
|
|
+ studentAttendanceList.forEach(e -> {
|
|
VipClassAttendanceResp vipClassAttendanceResp = new VipClassAttendanceResp();
|
|
VipClassAttendanceResp vipClassAttendanceResp = new VipClassAttendanceResp();
|
|
vipClassAttendanceResp.setClassGroupId(vipGroupClassGroupMapper.getClassGroupId());
|
|
vipClassAttendanceResp.setClassGroupId(vipGroupClassGroupMapper.getClassGroupId());
|
|
|
|
|
|
- CourseSchedule courseSchedule = courseScheduleService.getById(e.getCourseScheduleId());
|
|
|
|
- if(courseSchedule != null){
|
|
|
|
- vipClassAttendanceResp.setDateStr(DateUtil.date2String(courseSchedule.getClassDate(),DateUtil.DATE_FORMAT));
|
|
|
|
- vipClassAttendanceResp.setStartTime(DateUtil.date2String(courseSchedule.getStartClassTime(),DateUtil.TIME_FORMAT));
|
|
|
|
- vipClassAttendanceResp.setEndTime(DateUtil.date2String(courseSchedule.getEndClassTime(),DateUtil.TIME_FORMAT));
|
|
|
|
|
|
+ CourseSchedule courseSchedule = courseScheduleService.getById(e.getCourseScheduleId());
|
|
|
|
+ if (courseSchedule != null) {
|
|
|
|
+ vipClassAttendanceResp.setDateStr(DateUtil.date2String(courseSchedule.getClassDate(), DateUtil.DATE_FORMAT));
|
|
|
|
+ vipClassAttendanceResp.setStartTime(DateUtil.date2String(courseSchedule.getStartClassTime(), DateUtil.TIME_FORMAT));
|
|
|
|
+ vipClassAttendanceResp.setEndTime(DateUtil.date2String(courseSchedule.getEndClassTime(), DateUtil.TIME_FORMAT));
|
|
vipClassAttendanceResp.setWeek(DateUtil.date2Week(courseSchedule.getClassDate()));
|
|
vipClassAttendanceResp.setWeek(DateUtil.date2Week(courseSchedule.getClassDate()));
|
|
vipClassAttendanceResp.setClassName(courseSchedule.getName());
|
|
vipClassAttendanceResp.setClassName(courseSchedule.getName());
|
|
}
|
|
}
|
|
ClassGroup classGroup = classGroupService.getById(vipGroupClassGroupMapper.getClassGroupId());
|
|
ClassGroup classGroup = classGroupService.getById(vipGroupClassGroupMapper.getClassGroupId());
|
|
- if(classGroup != null){
|
|
|
|
|
|
+ if (classGroup != null) {
|
|
vipClassAttendanceResp.setCurrentNum(classGroup.getCurrentClassTimes());
|
|
vipClassAttendanceResp.setCurrentNum(classGroup.getCurrentClassTimes());
|
|
vipClassAttendanceResp.setTotalNum(classGroup.getTotalClassTimes());
|
|
vipClassAttendanceResp.setTotalNum(classGroup.getTotalClassTimes());
|
|
}
|
|
}
|