|
@@ -8,21 +8,25 @@ 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.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.MusicGroupResp;
|
|
|
import com.ym.mec.education.service.*;
|
|
|
-import io.swagger.models.auth.In;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
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.stream.Collectors;
|
|
|
|
|
|
/**
|
|
@@ -50,11 +54,20 @@ public class MusicGroupServiceImpl extends ServiceImpl<MusicGroupMapper, MusicGr
|
|
|
|
|
|
@Autowired
|
|
|
private ISysUserService sysUserService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IClassGroupStudentMapperService classGroupStudentMapperService;
|
|
|
+
|
|
|
+
|
|
|
@Override
|
|
|
public PageResponse groupList(MusicGroupReq req) {
|
|
|
PageResponse response = new PageResponse();
|
|
|
- IPage page = new Page();
|
|
|
+ IPage page = new Page(req.getPageNo()==null? 0: req.getPageNo(),req.getPageSize() == null ? 10:req.getPageSize());
|
|
|
QueryWrapper<MusicGroup> queryWrapper = new QueryWrapper<>();
|
|
|
+ if(req != null && !StringUtils.isEmpty(req.getName())){
|
|
|
+ queryWrapper.eq("name_",req.getName());
|
|
|
+ }
|
|
|
+
|
|
|
IPage<MusicGroup> queryPage = this.page(page, queryWrapper);
|
|
|
if (queryPage.getRecords() == null && queryPage.getRecords().isEmpty()) {
|
|
|
response.setReturnCode(ReturnCodeEnum.CODE_206.getCode());
|
|
@@ -125,23 +138,61 @@ public class MusicGroupServiceImpl extends ServiceImpl<MusicGroupMapper, MusicGr
|
|
|
if (!CollectionUtils.isEmpty(classGroups)) {
|
|
|
int studNum = classGroups.stream().mapToInt(ClassGroup::getStudentNum).sum();
|
|
|
musicGroupResp.setStudentNum(studNum);
|
|
|
+
|
|
|
+ Long mergeNum = classGroups.stream().filter(e -> ClassGroupTypeEnum.MIX.getCode().equalsIgnoreCase(e.getType())).count();
|
|
|
+
|
|
|
+ Long unitClassNum = classGroups.stream().filter(e -> ClassGroupTypeEnum.NORMAL.getCode().equalsIgnoreCase(e.getType())).count();
|
|
|
+ musicGroupResp.setMergeClassNum(Optional.ofNullable(mergeNum).orElse(0L).intValue());
|
|
|
+ musicGroupResp.setUnitClassNum(Optional.ofNullable(unitClassNum).orElse(0L).intValue());
|
|
|
+
|
|
|
+
|
|
|
+ List<Integer> classId = classGroups.stream().map(e ->e.getId()).collect(Collectors.toList());
|
|
|
+ QueryWrapper<ClassGroupStudentMapper> queryWrapper2 = new QueryWrapper<>();
|
|
|
+ queryWrapper2.in("class_group_id_", classId);
|
|
|
+
|
|
|
+ List<ClassGroupStudentMapper> classGroupStudentMappers = classGroupStudentMapperService.list(queryWrapper2);
|
|
|
+
|
|
|
+ if(!CollectionUtils.isEmpty(classGroupStudentMappers)){
|
|
|
+
|
|
|
+ Long liveNum = classGroups.stream().filter(e -> ClassGroupStudentStatusEnum.NORMAL.getCode().equalsIgnoreCase(e.getType())).count();
|
|
|
+
|
|
|
+ Long delNum = classGroups.stream().filter(e -> ClassGroupStudentStatusEnum.QUIT.getCode().equalsIgnoreCase(e.getType())).count();
|
|
|
+ musicGroupResp.setLiveStudNum(Optional.ofNullable(liveNum).orElse(0L).intValue());
|
|
|
+ musicGroupResp.setDelStudNum(Optional.ofNullable(delNum).orElse(0L).intValue());
|
|
|
+
|
|
|
+ }
|
|
|
}
|
|
|
+ //老师
|
|
|
+ SysUser sysUser1 = sysUserService.getById(musicGroup.getTeamTeacherId());
|
|
|
|
|
|
+ SysUser sysUser2 = sysUserService.getById(musicGroup.getTeamTeacherId());
|
|
|
+ if(sysUser1 != null){
|
|
|
+ musicGroupResp.setTeamTeacherName(sysUser1.getUsername());
|
|
|
+ }
|
|
|
+ if(sysUser2 != null){
|
|
|
+ musicGroupResp.setEduTeacherName(sysUser2.getUsername());
|
|
|
+ }
|
|
|
+ baseResponse.setDataInfo(musicGroupResp);
|
|
|
+ baseResponse.setReturnCode(ReturnCodeEnum.CODE_200.getCode());
|
|
|
+ baseResponse.setMessage(ReturnCodeEnum.CODE_200.getValue());
|
|
|
return baseResponse;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 班级列表
|
|
|
- * @param groupId
|
|
|
+ * @param
|
|
|
* @return
|
|
|
*/
|
|
|
@Override
|
|
|
- public PageResponse classGroupList(Integer groupId) {
|
|
|
+ public PageResponse classGroupList(ClassGroupReq req) {
|
|
|
|
|
|
PageResponse response = new PageResponse();
|
|
|
- IPage page = new Page();
|
|
|
+ IPage page = new Page(req.getPageNo()==null? 0: req.getPageNo(),req.getPageSize() == null ? 10:req.getPageSize());
|
|
|
QueryWrapper<ClassGroup> queryWrapper1 = new QueryWrapper<>();
|
|
|
- queryWrapper1.eq("music_group_id_", groupId);
|
|
|
+ if(req != null && req.getGroupId() != null){
|
|
|
+ queryWrapper1.eq("music_group_id_", req.getGroupId());
|
|
|
+ }
|
|
|
+
|
|
|
IPage<ClassGroup> classGroupPage = classGroupService.page(page,queryWrapper1);
|
|
|
int count = classGroupService.count(queryWrapper1);
|
|
|
if (classGroupPage.getRecords() == null && classGroupPage.getRecords().isEmpty()) {
|