Browse Source

查询类别

chengpeng 5 years ago
parent
commit
085a5aaab4

+ 4 - 1
mec-education/src/main/java/com/ym/mec/education/resp/ClassStudentResp.java

@@ -27,7 +27,10 @@ public class ClassStudentResp implements Serializable {
 
     private Integer truantNum;
 
-    private Integer isVip;
+    private Integer isVip = 0;
 
+    private Integer userId;
+
+    private Integer classGroupId;
 
 }

+ 33 - 0
mec-education/src/main/java/com/ym/mec/education/resp/ClassTeacherResp.java

@@ -0,0 +1,33 @@
+package com.ym.mec.education.resp;
+
+import lombok.Data;
+import lombok.ToString;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @version V1.0
+ * @Description: TODO
+ * @date Date : 2019年09月26日 17:44
+ */
+
+@Data
+@ToString
+public class ClassTeacherResp implements Serializable {
+
+    private String name;
+
+    /**
+     * 图像
+     */
+    private String avatar;
+
+
+    private Integer userId;
+
+    private Integer classGroupId;
+
+    private List<String> className;
+
+}

+ 83 - 25
mec-education/src/main/java/com/ym/mec/education/service/impl/MusicGroupServiceImpl.java

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