|
@@ -14,6 +14,7 @@ import com.ym.mec.education.req.ClassGroupReq;
|
|
|
import com.ym.mec.education.req.MusicGroupReq;
|
|
|
import com.ym.mec.education.resp.ClassGroupResp;
|
|
|
import com.ym.mec.education.resp.ClassStudentResp;
|
|
|
+import com.ym.mec.education.resp.ClassTeacherResp;
|
|
|
import com.ym.mec.education.resp.MusicGroupResp;
|
|
|
import com.ym.mec.education.service.*;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
@@ -22,9 +23,7 @@ import org.springframework.stereotype.Service;
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
import org.springframework.util.StringUtils;
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Optional;
|
|
|
+import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
@@ -214,7 +213,7 @@ public class MusicGroupServiceImpl extends ServiceImpl<MusicGroupMapper, MusicGr
|
|
|
BeanUtils.copyProperties(e,classGroupResp);
|
|
|
QueryWrapper<ClassGroupTeacherMapper> queryWrapper2 = new QueryWrapper<>();
|
|
|
queryWrapper2.eq("music_group_id_",e.getId()).eq("teacher_role_", TeachTypeEnum.BISHOP.getCode());
|
|
|
- List<ClassGroupTeacherMapper> list = classGroupTeacherMapperService.list();
|
|
|
+ List<ClassGroupTeacherMapper> list = classGroupTeacherMapperService.list(queryWrapper2);
|
|
|
|
|
|
if(!CollectionUtils.isEmpty(list)){
|
|
|
List<Integer> firstId = list.stream().map(ClassGroupTeacherMapper::getUserId).collect(Collectors.toList());
|
|
@@ -251,50 +250,109 @@ public class MusicGroupServiceImpl extends ServiceImpl<MusicGroupMapper, MusicGr
|
|
|
//学生
|
|
|
if(req.getType() == 1){
|
|
|
List<ClassStudentResp> classStudentResps = new ArrayList<>();
|
|
|
+
|
|
|
classGroups.forEach(e ->{
|
|
|
- ClassStudentResp classStudentResp = new ClassStudentResp();
|
|
|
+
|
|
|
QueryWrapper<ClassGroupStudentMapper> queryWrapper = new QueryWrapper<>();
|
|
|
queryWrapper.eq("class_group_id_",e.getId());
|
|
|
List<ClassGroupStudentMapper> studentMappers = classGroupStudentMapperService.list(queryWrapper);
|
|
|
if(!CollectionUtils.isEmpty(studentMappers)){
|
|
|
-
|
|
|
studentMappers.forEach(stud ->{
|
|
|
-
|
|
|
- SysUser sysUser = sysUserService.getById(stud.getUserId());
|
|
|
- if(sysUser != null){
|
|
|
- classStudentResp.setName(sysUser.getRealName());
|
|
|
- classStudentResp.setAvatar(sysUser.getAvatar());
|
|
|
+ ClassStudentResp classStudentResp = new ClassStudentResp();
|
|
|
+ Set<String> set = new HashSet<>();
|
|
|
+ List<ClassStudentResp> removeList = classStudentResps.stream().filter(c ->c.getUserId().equals(stud.getUserId()) && c.getClassGroupId().equals(stud.getClassGroupId())).collect(Collectors.toList());
|
|
|
+ if(!CollectionUtils.isEmpty(removeList)){
|
|
|
+ classStudentResp = removeList.get(0);
|
|
|
+ set.addAll(classStudentResp.getClassType());
|
|
|
+ set.add(e.getType());
|
|
|
+ classStudentResp.setClassType(new ArrayList<>(set));
|
|
|
+ }else{
|
|
|
+
|
|
|
+ SysUser sysUser = sysUserService.getById(stud.getUserId());
|
|
|
+ if(sysUser != null){
|
|
|
+ classStudentResp.setName(sysUser.getRealName());
|
|
|
+ classStudentResp.setAvatar(sysUser.getAvatar());
|
|
|
+ }
|
|
|
+ classStudentResp.setUserId(stud.getUserId());
|
|
|
+ classStudentResp.setClassGroupId(stud.getClassGroupId());
|
|
|
+ QueryWrapper<StudentAttendance> truntWrapper = new QueryWrapper<>();
|
|
|
+ //旷课
|
|
|
+ truntWrapper.lambda().eq(true, StudentAttendance::getMusicGroupId, req.getGroupId())
|
|
|
+ .eq(true, StudentAttendance::getClassGroupId, e.getId())
|
|
|
+ .eq(true, StudentAttendance::getStatus, StudentAttendanceStatusEnum.TRUANT.getCode())
|
|
|
+ .eq(true,StudentAttendance::getUserId,stud.getUserId());
|
|
|
+ Integer leaveCount = studentAttendanceService.count(truntWrapper);
|
|
|
+ classStudentResp.setTruantNum(leaveCount);
|
|
|
+ set.add(e.getType());
|
|
|
+ if(ClassGroupTypeEnum.VIP.equals(e.getType())){
|
|
|
+ classStudentResp.setIsVip(1);
|
|
|
+ }
|
|
|
+ classStudentResp.setClassType(new ArrayList<>(set));
|
|
|
+ classStudentResps.add(classStudentResp);
|
|
|
}
|
|
|
- QueryWrapper<StudentAttendance> truntWrapper = new QueryWrapper<>();
|
|
|
- //旷课
|
|
|
- truntWrapper.lambda().eq(true, StudentAttendance::getMusicGroupId, req.getGroupId())
|
|
|
- .eq(true, StudentAttendance::getClassGroupId, e.getId())
|
|
|
- .eq(true, StudentAttendance::getStatus, StudentAttendanceStatusEnum.TRUANT.getCode())
|
|
|
- .eq(true,StudentAttendance::getUserId,stud.getUserId());
|
|
|
- Integer leaveCount = studentAttendanceService.count(truntWrapper);
|
|
|
|
|
|
|
|
|
- });
|
|
|
|
|
|
+ });
|
|
|
|
|
|
}
|
|
|
|
|
|
+ });
|
|
|
|
|
|
+ response.setRecords(classStudentResps);
|
|
|
+ response.setReturnCode(ReturnCodeEnum.CODE_200.getCode());
|
|
|
+ response.setMessage(ReturnCodeEnum.CODE_200.getValue());
|
|
|
+ response.setTotal(count);
|
|
|
+ return response;
|
|
|
|
|
|
+ }
|
|
|
+ //老师
|
|
|
+ if(req.getType() == 2){
|
|
|
|
|
|
-
|
|
|
- });
|
|
|
+ List<ClassTeacherResp> classTeacherResps = new ArrayList<>();
|
|
|
+ classGroups.forEach(e -> {
|
|
|
+ QueryWrapper<ClassGroupTeacherMapper> queryWrapper2 = new QueryWrapper<>();
|
|
|
+ queryWrapper2.eq("music_group_id_", e.getId());
|
|
|
+ List<ClassGroupTeacherMapper> list = classGroupTeacherMapperService.list(queryWrapper2);
|
|
|
+ if(!CollectionUtils.isEmpty(list)){
|
|
|
+
|
|
|
+ list.forEach(stud ->{
|
|
|
+ ClassTeacherResp classTeacherResp = new ClassTeacherResp();
|
|
|
+ List<ClassTeacherResp> removeList = classTeacherResps.stream().filter(c ->c.getUserId().equals(stud.getUserId()) && c.getClassGroupId().equals(stud.getClassGroupId())).collect(Collectors.toList());
|
|
|
+ HashSet set = new HashSet<>();
|
|
|
+ if(!CollectionUtils.isEmpty(removeList)){
|
|
|
+
|
|
|
+ classTeacherResp = removeList.get(0);
|
|
|
+ set.addAll(classTeacherResp.getClassName());
|
|
|
+ set.add(e.getName());
|
|
|
+ classTeacherResp.setClassName(new ArrayList<>(set));
|
|
|
+ }else{
|
|
|
+ SysUser sysUser = sysUserService.getById(stud.getUserId());
|
|
|
+ if(sysUser != null){
|
|
|
+ classTeacherResp.setName(sysUser.getRealName());
|
|
|
+ classTeacherResp.setAvatar(sysUser.getAvatar());
|
|
|
+ }
|
|
|
+ classTeacherResp.setUserId(stud.getUserId());
|
|
|
+ classTeacherResp.setClassGroupId(stud.getClassGroupId());
|
|
|
+
|
|
|
+ set.add(e.getName());
|
|
|
+ classTeacherResp.setClassName(new ArrayList<>(set));
|
|
|
+ classTeacherResps.add(classTeacherResp);
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
|
|
+ });
|
|
|
|
|
|
+ }
|
|
|
+ });
|
|
|
|
|
|
+ response.setRecords(classTeacherResps);
|
|
|
+ response.setReturnCode(ReturnCodeEnum.CODE_200.getCode());
|
|
|
+ response.setMessage(ReturnCodeEnum.CODE_200.getValue());
|
|
|
+ response.setTotal(count);
|
|
|
return response;
|
|
|
}
|
|
|
- //老师
|
|
|
- if(req.getType() == 2){
|
|
|
- return response;
|
|
|
- }
|
|
|
return response;
|
|
|
}
|
|
|
}
|