|
@@ -8,14 +8,13 @@ import com.google.common.collect.Lists;
|
|
|
import com.ym.mec.education.base.BaseResponse;
|
|
|
import com.ym.mec.education.base.PageResponse;
|
|
|
import com.ym.mec.education.entity.*;
|
|
|
-import com.ym.mec.education.enums.ClassGroupStudentStatusEnum;
|
|
|
-import com.ym.mec.education.enums.ClassGroupTypeEnum;
|
|
|
-import com.ym.mec.education.enums.ReturnCodeEnum;
|
|
|
-import com.ym.mec.education.enums.TeachTypeEnum;
|
|
|
+import com.ym.mec.education.enums.*;
|
|
|
import com.ym.mec.education.mapper.MusicGroupMapper;
|
|
|
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;
|
|
@@ -24,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;
|
|
|
|
|
|
/**
|
|
@@ -58,6 +55,9 @@ public class MusicGroupServiceImpl extends ServiceImpl<MusicGroupMapper, MusicGr
|
|
|
@Autowired
|
|
|
private IClassGroupStudentMapperService classGroupStudentMapperService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private IStudentAttendanceService studentAttendanceService;
|
|
|
+
|
|
|
|
|
|
@Override
|
|
|
public PageResponse groupList(MusicGroupReq req) {
|
|
@@ -105,10 +105,10 @@ public class MusicGroupServiceImpl extends ServiceImpl<MusicGroupMapper, MusicGr
|
|
|
|
|
|
SysUser sysUser2 = sysUserService.getById(g.getTeamTeacherId());
|
|
|
if(sysUser1 != null){
|
|
|
- musicGroupResp.setTeamTeacherName(sysUser1.getUsername());
|
|
|
+ musicGroupResp.setTeamTeacherName(sysUser1.getRealName());
|
|
|
}
|
|
|
if(sysUser2 != null){
|
|
|
- musicGroupResp.setEduTeacherName(sysUser2.getUsername());
|
|
|
+ musicGroupResp.setEduTeacherName(sysUser2.getRealName());
|
|
|
}
|
|
|
musicGroupResps.add(musicGroupResp);
|
|
|
});
|
|
@@ -167,10 +167,10 @@ public class MusicGroupServiceImpl extends ServiceImpl<MusicGroupMapper, MusicGr
|
|
|
|
|
|
SysUser sysUser2 = sysUserService.getById(musicGroup.getTeamTeacherId());
|
|
|
if(sysUser1 != null){
|
|
|
- musicGroupResp.setTeamTeacherName(sysUser1.getUsername());
|
|
|
+ musicGroupResp.setTeamTeacherName(sysUser1.getRealName());
|
|
|
}
|
|
|
if(sysUser2 != null){
|
|
|
- musicGroupResp.setEduTeacherName(sysUser2.getUsername());
|
|
|
+ musicGroupResp.setEduTeacherName(sysUser2.getRealName());
|
|
|
}
|
|
|
baseResponse.setDataInfo(musicGroupResp);
|
|
|
baseResponse.setReturnCode(ReturnCodeEnum.CODE_200.getCode());
|
|
@@ -202,47 +202,157 @@ public class MusicGroupServiceImpl extends ServiceImpl<MusicGroupMapper, MusicGr
|
|
|
|
|
|
List<ClassGroup> classGroups = classGroupPage.getRecords();
|
|
|
|
|
|
- List<ClassGroupResp> groupRespList = new ArrayList<>();
|
|
|
- if(!CollectionUtils.isEmpty(classGroups)){
|
|
|
- classGroups.forEach(e ->{
|
|
|
+ //班级
|
|
|
+ if(req.getType() == 0){
|
|
|
+ List<ClassGroupResp> groupRespList = new ArrayList<>();
|
|
|
+ if(!CollectionUtils.isEmpty(classGroups)){
|
|
|
+ classGroups.forEach(e ->{
|
|
|
+
|
|
|
+ ClassGroupResp classGroupResp = new ClassGroupResp();
|
|
|
+ //查询班级老师
|
|
|
+ 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(queryWrapper2);
|
|
|
+
|
|
|
+ if(!CollectionUtils.isEmpty(list)){
|
|
|
+ List<Integer> firstId = list.stream().map(ClassGroupTeacherMapper::getUserId).collect(Collectors.toList());
|
|
|
+ QueryWrapper<SysUser> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.in("id_",firstId);
|
|
|
+ List<SysUser> sysUserList = sysUserService.list(queryWrapper);
|
|
|
+ if(!CollectionUtils.isEmpty(sysUserList)){
|
|
|
+ classGroupResp.setFirstTehNameList(sysUserList.stream().map(SysUser::getRealName).collect(Collectors.toList()));
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- ClassGroupResp classGroupResp = new ClassGroupResp();
|
|
|
- //查询班级老师
|
|
|
- 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();
|
|
|
+ queryWrapper2.eq("music_group_id_",e.getId()).eq("teacher_role_", TeachTypeEnum.TEACHING.getCode());
|
|
|
+ List<ClassGroupTeacherMapper> list2 = classGroupTeacherMapperService.list();
|
|
|
+ if(!CollectionUtils.isEmpty(list2)){
|
|
|
+ List<Integer> secdId = list2.stream().map(ClassGroupTeacherMapper::getUserId).collect(Collectors.toList());
|
|
|
+ QueryWrapper<SysUser> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.in("id_",secdId);
|
|
|
+ List<SysUser> sysUserList = sysUserService.list(queryWrapper);
|
|
|
+ if(!CollectionUtils.isEmpty(sysUserList)){
|
|
|
+ classGroupResp.setSecdTehNameList(sysUserList.stream().map(SysUser::getRealName).collect(Collectors.toList()));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ groupRespList.add(classGroupResp);
|
|
|
|
|
|
- if(!CollectionUtils.isEmpty(list)){
|
|
|
- List<Integer> firstId = list.stream().map(ClassGroupTeacherMapper::getUserId).collect(Collectors.toList());
|
|
|
- QueryWrapper<SysUser> queryWrapper = new QueryWrapper<>();
|
|
|
- queryWrapper.in("id_",firstId);
|
|
|
- List<SysUser> sysUserList = sysUserService.list(queryWrapper);
|
|
|
- if(!CollectionUtils.isEmpty(sysUserList)){
|
|
|
- classGroupResp.setFirstTehNameList(sysUserList.stream().map(SysUser::getUsername).collect(Collectors.toList()));
|
|
|
- }
|
|
|
- }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ response.setRecords(groupRespList);
|
|
|
+ response.setReturnCode(ReturnCodeEnum.CODE_200.getCode());
|
|
|
+ response.setMessage(ReturnCodeEnum.CODE_200.getValue());
|
|
|
+ response.setTotal(count);
|
|
|
+ return response;
|
|
|
+ }
|
|
|
+ //学生
|
|
|
+ if(req.getType() == 1){
|
|
|
+ List<ClassStudentResp> classStudentResps = new ArrayList<>();
|
|
|
+
|
|
|
+ classGroups.forEach(e ->{
|
|
|
+
|
|
|
+ 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 ->{
|
|
|
+ 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);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ });
|
|
|
|
|
|
- queryWrapper2.eq("music_group_id_",e.getId()).eq("teacher_role_", TeachTypeEnum.TEACHING.getCode());
|
|
|
- List<ClassGroupTeacherMapper> list2 = classGroupTeacherMapperService.list();
|
|
|
- if(!CollectionUtils.isEmpty(list2)){
|
|
|
- List<Integer> secdId = list2.stream().map(ClassGroupTeacherMapper::getUserId).collect(Collectors.toList());
|
|
|
- QueryWrapper<SysUser> queryWrapper = new QueryWrapper<>();
|
|
|
- queryWrapper.in("id_",secdId);
|
|
|
- List<SysUser> sysUserList = sysUserService.list(queryWrapper);
|
|
|
- if(!CollectionUtils.isEmpty(sysUserList)){
|
|
|
- classGroupResp.setSecdTehNameList(sysUserList.stream().map(SysUser::getUsername).collect(Collectors.toList()));
|
|
|
- }
|
|
|
}
|
|
|
- groupRespList.add(classGroupResp);
|
|
|
|
|
|
});
|
|
|
+
|
|
|
+ response.setRecords(classStudentResps);
|
|
|
+ response.setReturnCode(ReturnCodeEnum.CODE_200.getCode());
|
|
|
+ response.setMessage(ReturnCodeEnum.CODE_200.getValue());
|
|
|
+ response.setTotal(count);
|
|
|
+ return response;
|
|
|
+
|
|
|
}
|
|
|
+ //老师
|
|
|
+ if(req.getType() == 2){
|
|
|
|
|
|
- response.setRecords(groupRespList);
|
|
|
- response.setReturnCode(ReturnCodeEnum.CODE_200.getCode());
|
|
|
- response.setMessage(ReturnCodeEnum.CODE_200.getValue());
|
|
|
- response.setTotal(count);
|
|
|
- return null;
|
|
|
+ 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;
|
|
|
+ }
|
|
|
+ return response;
|
|
|
}
|
|
|
}
|