| 
														
															@@ -4,19 +4,22 @@ 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.google.common.collect.Lists; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import com.ym.mec.common.security.AuthUser; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import com.ym.mec.common.security.SecurityUtils; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 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.ClassGroupTypeEnum; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import com.ym.mec.education.enums.CourseStatusEnum; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import com.ym.mec.education.enums.ReturnCodeEnum; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import com.ym.mec.education.enums.*; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.ym.mec.education.mapper.TeacherMapper; 
														 | 
														
														 | 
														
															 import com.ym.mec.education.mapper.TeacherMapper; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.ym.mec.education.req.TeacherReq; 
														 | 
														
														 | 
														
															 import com.ym.mec.education.req.TeacherReq; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import com.ym.mec.education.resp.TeacherDailyScheduleResp; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.ym.mec.education.resp.TeacherDetailResp; 
														 | 
														
														 | 
														
															 import com.ym.mec.education.resp.TeacherDetailResp; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.ym.mec.education.resp.TeacherResp; 
														 | 
														
														 | 
														
															 import com.ym.mec.education.resp.TeacherResp; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.ym.mec.education.resp.VipGroupClassResp; 
														 | 
														
														 | 
														
															 import com.ym.mec.education.resp.VipGroupClassResp; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.ym.mec.education.service.*; 
														 | 
														
														 | 
														
															 import com.ym.mec.education.service.*; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.ym.mec.education.utils.DateUtil; 
														 | 
														
														 | 
														
															 import com.ym.mec.education.utils.DateUtil; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import org.springframework.beans.BeanUtils; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 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; 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -65,34 +68,43 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherMapper, Teacher> impl 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Autowired 
														 | 
														
														 | 
														
															     @Autowired 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private ICourseScheduleService courseScheduleService; 
														 | 
														
														 | 
														
															     private ICourseScheduleService courseScheduleService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    @Autowired 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    private ITeacherAttendanceService teacherAttendanceService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    @Autowired 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    private IStudentAttendanceService studentAttendanceService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Autowired 
														 | 
														
														 | 
														
															     @Autowired 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private IVipGroupDefaultClassesCycleService vipGroupDefaultClassesCycleService; 
														 | 
														
														 | 
														
															     private IVipGroupDefaultClassesCycleService vipGroupDefaultClassesCycleService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    @Autowired 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    private IMusicGroupService musicGroupService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    @Autowired 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    private ISchoolService schoolService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Override 
														 | 
														
														 | 
														
															     @Override 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     public PageResponse teacherList(TeacherReq req) { 
														 | 
														
														 | 
														
															     public PageResponse teacherList(TeacherReq req) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         PageResponse response = new PageResponse(); 
														 | 
														
														 | 
														
															         PageResponse response = new PageResponse(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         QueryWrapper<SysUser> userQueryWrapper = new QueryWrapper<>(); 
														 | 
														
														 | 
														
															         QueryWrapper<SysUser> userQueryWrapper = new QueryWrapper<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         List<SysUser> userList = null; 
														 | 
														
														 | 
														
															         List<SysUser> userList = null; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        if(req != null && StringUtils.isEmpty(req.getName())){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            userQueryWrapper.like("real_name_",req.getName()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if (req != null && StringUtils.isEmpty(req.getName())) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            userQueryWrapper.like("real_name_", req.getName()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             userList = sysUserService.list(userQueryWrapper); 
														 | 
														
														 | 
														
															             userList = sysUserService.list(userQueryWrapper); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         QueryWrapper<Teacher> queryWrapper = new QueryWrapper<>(); 
														 | 
														
														 | 
														
															         QueryWrapper<Teacher> queryWrapper = new QueryWrapper<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         List<Integer> userIds = null; 
														 | 
														
														 | 
														
															         List<Integer> userIds = null; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        if(!CollectionUtils.isEmpty(userList)){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if (!CollectionUtils.isEmpty(userList)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             userIds = userList.stream().map(SysUser::getId).collect(Collectors.toList()); 
														 | 
														
														 | 
														
															             userIds = userList.stream().map(SysUser::getId).collect(Collectors.toList()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            queryWrapper.in("id_",userIds); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            queryWrapper.in("id_", userIds); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        IPage<Teacher> page = new Page(req.getPageNo() == null ? 1 : req.getPageNo(),req.getPageSize() == null ? 10 : req.getPageSize()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        IPage<Teacher> teacherIPage = this.page(page,queryWrapper); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        IPage<Teacher> page = new Page(req.getPageNo() == null ? 1 : req.getPageNo(), req.getPageSize() == null ? 10 : req.getPageSize()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        IPage<Teacher> teacherIPage = this.page(page, queryWrapper); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         List<Teacher> teacherList = teacherIPage.getRecords(); 
														 | 
														
														 | 
														
															         List<Teacher> teacherList = teacherIPage.getRecords(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         List<TeacherResp> teacherRespList = new ArrayList<>(); 
														 | 
														
														 | 
														
															         List<TeacherResp> teacherRespList = new ArrayList<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        if(!CollectionUtils.isEmpty(teacherList)){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            teacherList.forEach(e ->{ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if (!CollectionUtils.isEmpty(teacherList)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            teacherList.forEach(e -> { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 TeacherResp teacherResp = new TeacherResp(); 
														 | 
														
														 | 
														
															                 TeacherResp teacherResp = new TeacherResp(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 String ids[] = e.getSubjectId().split(","); 
														 | 
														
														 | 
														
															                 String ids[] = e.getSubjectId().split(","); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 List<String> stringB = Arrays.asList(ids); 
														 | 
														
														 | 
														
															                 List<String> stringB = Arrays.asList(ids); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -105,19 +117,19 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherMapper, Teacher> impl 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 } 
														 | 
														
														 | 
														
															                 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 teacherResp.setUserId(e.getId()); 
														 | 
														
														 | 
														
															                 teacherResp.setUserId(e.getId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 SysUser sysUser = sysUserService.getById(e.getId()); 
														 | 
														
														 | 
														
															                 SysUser sysUser = sysUserService.getById(e.getId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                if(sysUser != null){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                if (sysUser != null) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     teacherResp.setAvatar(sysUser.getAvatar()); 
														 | 
														
														 | 
														
															                     teacherResp.setAvatar(sysUser.getAvatar()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     teacherResp.setName(sysUser.getRealName()); 
														 | 
														
														 | 
														
															                     teacherResp.setName(sysUser.getRealName()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 } 
														 | 
														
														 | 
														
															                 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 QueryWrapper<ClassGroupTeacherMapper> queryWrapper1 = new QueryWrapper<>(); 
														 | 
														
														 | 
														
															                 QueryWrapper<ClassGroupTeacherMapper> queryWrapper1 = new QueryWrapper<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                queryWrapper1.eq("user_id_",e.getId()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                queryWrapper1.eq("user_id_", e.getId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 List<ClassGroupTeacherMapper> classGroupTeacherMappers = classGroupTeacherMapperService.list(queryWrapper1); 
														 | 
														
														 | 
														
															                 List<ClassGroupTeacherMapper> classGroupTeacherMappers = classGroupTeacherMapperService.list(queryWrapper1); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                if(!CollectionUtils.isEmpty(classGroupTeacherMappers)){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                if (!CollectionUtils.isEmpty(classGroupTeacherMappers)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     List<Integer> classId = classGroupTeacherMappers.stream().map(ClassGroupTeacherMapper::getClassGroupId).collect(Collectors.toList()); 
														 | 
														
														 | 
														
															                     List<Integer> classId = classGroupTeacherMappers.stream().map(ClassGroupTeacherMapper::getClassGroupId).collect(Collectors.toList()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     QueryWrapper<ClassGroup> groupQueryWrapper = new QueryWrapper<>(); 
														 | 
														
														 | 
														
															                     QueryWrapper<ClassGroup> groupQueryWrapper = new QueryWrapper<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    groupQueryWrapper.eq("id_",classId); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    groupQueryWrapper.eq("id_", classId); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     List<ClassGroup> classGroups = classGroupService.list(groupQueryWrapper); 
														 | 
														
														 | 
														
															                     List<ClassGroup> classGroups = classGroupService.list(groupQueryWrapper); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    if(!CollectionUtils.isEmpty(classGroups)){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    if (!CollectionUtils.isEmpty(classGroups)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         List<String> className = classGroups.stream().map(ClassGroup::getName).collect(Collectors.toList()); 
														 | 
														
														 | 
														
															                         List<String> className = classGroups.stream().map(ClassGroup::getName).collect(Collectors.toList()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         teacherResp.setClassName(className); 
														 | 
														
														 | 
														
															                         teacherResp.setClassName(className); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -139,61 +151,60 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherMapper, Teacher> impl 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     public BaseResponse teacherDetail(TeacherReq req) { 
														 | 
														
														 | 
														
															     public BaseResponse teacherDetail(TeacherReq req) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         TeacherDetailResp teacherDetailResp = new TeacherDetailResp(); 
														 | 
														
														 | 
														
															         TeacherDetailResp teacherDetailResp = new TeacherDetailResp(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        if(req == null || req.getUserId() == null){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            return  BaseResponse.errorParam(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if (req == null || req.getUserId() == null) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            return BaseResponse.errorParam(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         QueryWrapper<ClassGroupTeacherMapper> mapperQueryWrapper = new QueryWrapper<>(); 
														 | 
														
														 | 
														
															         QueryWrapper<ClassGroupTeacherMapper> mapperQueryWrapper = new QueryWrapper<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        mapperQueryWrapper.eq("user_id_",req.getUserId()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        List<ClassGroupTeacherMapper> groupTeacherMapperList =  classGroupTeacherMapperService.list(mapperQueryWrapper); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        mapperQueryWrapper.eq("user_id_", req.getUserId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        List<ClassGroupTeacherMapper> groupTeacherMapperList = classGroupTeacherMapperService.list(mapperQueryWrapper); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        if(!CollectionUtils.isEmpty(groupTeacherMapperList)){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            List<Integer> classIds = groupTeacherMapperList.stream().map(ClassGroupTeacherMapper :: getClassGroupId).collect(Collectors.toList()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if (!CollectionUtils.isEmpty(groupTeacherMapperList)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            List<Integer> classIds = groupTeacherMapperList.stream().map(ClassGroupTeacherMapper::getClassGroupId).collect(Collectors.toList()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             QueryWrapper<ClassGroup> queryWrapper = new QueryWrapper<>(); 
														 | 
														
														 | 
														
															             QueryWrapper<ClassGroup> queryWrapper = new QueryWrapper<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            queryWrapper.in("id_",classIds); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            queryWrapper.in("id_", classIds); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             List<ClassGroup> classGroups = classGroupService.list(queryWrapper); 
														 | 
														
														 | 
														
															             List<ClassGroup> classGroups = classGroupService.list(queryWrapper); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            if(!CollectionUtils.isEmpty(classGroups)){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            if (!CollectionUtils.isEmpty(classGroups)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 List<ClassGroup> norClass = classGroups.stream().filter(e -> ClassGroupTypeEnum.NORMAL.getCode().equalsIgnoreCase(e.getType()) || 
														 | 
														
														 | 
														
															                 List<ClassGroup> norClass = classGroups.stream().filter(e -> ClassGroupTypeEnum.NORMAL.getCode().equalsIgnoreCase(e.getType()) || 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                                ClassGroupTypeEnum.MIX.getCode().equalsIgnoreCase(e.getType()) ||  ClassGroupTypeEnum.HIGH.getCode().equalsIgnoreCase(e.getType())).collect(Collectors.toList()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    ClassGroupTypeEnum.MIX.getCode().equalsIgnoreCase(e.getType()) || ClassGroupTypeEnum.HIGH.getCode().equalsIgnoreCase(e.getType())).collect(Collectors.toList()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 List<ClassGroup> vipClass = classGroups.stream().filter(e -> ClassGroupTypeEnum.VIP.getCode().equalsIgnoreCase(e.getType())).collect(Collectors.toList()); 
														 | 
														
														 | 
														
															                 List<ClassGroup> vipClass = classGroups.stream().filter(e -> ClassGroupTypeEnum.VIP.getCode().equalsIgnoreCase(e.getType())).collect(Collectors.toList()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                if(!CollectionUtils.isEmpty(norClass)){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                if (!CollectionUtils.isEmpty(norClass)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     Integer norCount = norClass.stream().mapToInt(ClassGroup::getTotalClassTimes).sum(); 
														 | 
														
														 | 
														
															                     Integer norCount = norClass.stream().mapToInt(ClassGroup::getTotalClassTimes).sum(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     teacherDetailResp.setGroupClassNum(norCount * norClass.size()); 
														 | 
														
														 | 
														
															                     teacherDetailResp.setGroupClassNum(norCount * norClass.size()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 } 
														 | 
														
														 | 
														
															                 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                if(!CollectionUtils.isEmpty(vipClass)){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                if (!CollectionUtils.isEmpty(vipClass)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     Integer vipCount = vipClass.stream().mapToInt(ClassGroup::getTotalClassTimes).sum(); 
														 | 
														
														 | 
														
															                     Integer vipCount = vipClass.stream().mapToInt(ClassGroup::getTotalClassTimes).sum(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     teacherDetailResp.setVipClassNum(vipCount * vipClass.size()); 
														 | 
														
														 | 
														
															                     teacherDetailResp.setVipClassNum(vipCount * vipClass.size()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 } 
														 | 
														
														 | 
														
															                 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 QueryWrapper<DemoGroup> demoGroupQueryWrapper = new QueryWrapper<>(); 
														 | 
														
														 | 
														
															                 QueryWrapper<DemoGroup> demoGroupQueryWrapper = new QueryWrapper<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                demoGroupQueryWrapper.eq("user_id_",req.getUserId()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                demoGroupQueryWrapper.eq("user_id_", req.getUserId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 List<DemoGroup> demoGroupList = demoGroupService.list(demoGroupQueryWrapper); 
														 | 
														
														 | 
														
															                 List<DemoGroup> demoGroupList = demoGroupService.list(demoGroupQueryWrapper); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                if(!CollectionUtils.isEmpty(demoGroupList)){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    List<Long> demoId = demoGroupList.stream().map(e ->e.getId()).collect(Collectors.toList()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                if (!CollectionUtils.isEmpty(demoGroupList)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    List<Long> demoId = demoGroupList.stream().map(e -> e.getId()).collect(Collectors.toList()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     QueryWrapper<DemoGroupCoursesPlan> planQueryWrapper = new QueryWrapper<>(); 
														 | 
														
														 | 
														
															                     QueryWrapper<DemoGroupCoursesPlan> planQueryWrapper = new QueryWrapper<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    planQueryWrapper.in("demo_group_id_",demoId); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    List<DemoGroupCoursesPlan> demoGroupCoursesPlans =  iDemoGroupCoursesPlanService.list(planQueryWrapper); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    if(!CollectionUtils.isEmpty(demoGroupCoursesPlans)){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    planQueryWrapper.in("demo_group_id_", demoId); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    List<DemoGroupCoursesPlan> demoGroupCoursesPlans = iDemoGroupCoursesPlanService.list(planQueryWrapper); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    if (!CollectionUtils.isEmpty(demoGroupCoursesPlans)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         Map<Date, List<DemoGroupCoursesPlan>> collect = demoGroupCoursesPlans.stream() 
														 | 
														
														 | 
														
															                         Map<Date, List<DemoGroupCoursesPlan>> collect = demoGroupCoursesPlans.stream() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                                .collect( 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                                        Collectors.groupingBy(DemoGroupCoursesPlan::getCourseDate)); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            .collect( 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                Collectors.groupingBy(DemoGroupCoursesPlan::getCourseDate)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                        if(!CollectionUtils.isEmpty(collect)) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        if (!CollectionUtils.isEmpty(collect)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             List<TeacherDetailResp.InnerDemoGroup> innerDemoGroups = new ArrayList<>(); 
														 | 
														
														 | 
														
															                             List<TeacherDetailResp.InnerDemoGroup> innerDemoGroups = new ArrayList<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             for (Date key : collect.keySet()) { 
														 | 
														
														 | 
														
															                             for (Date key : collect.keySet()) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                                 TeacherDetailResp.InnerDemoGroup demoGroup = new TeacherDetailResp.InnerDemoGroup(); 
														 | 
														
														 | 
														
															                                 TeacherDetailResp.InnerDemoGroup demoGroup = new TeacherDetailResp.InnerDemoGroup(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                                demoGroup.setDateStr(DateUtil.date2String(key,DateUtil.DATE_FORMAT)); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                demoGroup.setDateStr(DateUtil.date2String(key, DateUtil.DATE_FORMAT)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                                 demoGroup.setWeek(DateUtil.date2Week(key)); 
														 | 
														
														 | 
														
															                                 demoGroup.setWeek(DateUtil.date2Week(key)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															                                 List<DemoGroupCoursesPlan> demoGroupCoursesPlans1 = collect.get(key); 
														 | 
														
														 | 
														
															                                 List<DemoGroupCoursesPlan> demoGroupCoursesPlans1 = collect.get(key); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                                if(!CollectionUtils.isEmpty(demoGroupCoursesPlans1)){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                if (!CollectionUtils.isEmpty(demoGroupCoursesPlans1)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                                     List<TeacherDetailResp.DemoGroupPlan> planList = new ArrayList<>(); 
														 | 
														
														 | 
														
															                                     List<TeacherDetailResp.DemoGroupPlan> planList = new ArrayList<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                                    demoGroupCoursesPlans1.forEach(e ->{ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                    demoGroupCoursesPlans1.forEach(e -> { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                                         TeacherDetailResp.DemoGroupPlan demoGroupPlan = new TeacherDetailResp.DemoGroupPlan(); 
														 | 
														
														 | 
														
															                                         TeacherDetailResp.DemoGroupPlan demoGroupPlan = new TeacherDetailResp.DemoGroupPlan(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                                        demoGroupPlan.setStartTime(DateUtil.date2String(e.getStartTime(),DateUtil.TIME_FORMAT)); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                                        demoGroupPlan.setEndTime(DateUtil.date2String(e.getEndTime(),DateUtil.TIME_FORMAT)); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                        demoGroupPlan.setStartTime(DateUtil.date2String(e.getStartTime(), DateUtil.TIME_FORMAT)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                        demoGroupPlan.setEndTime(DateUtil.date2String(e.getEndTime(), DateUtil.TIME_FORMAT)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                                         planList.add(demoGroupPlan); 
														 | 
														
														 | 
														
															                                         planList.add(demoGroupPlan); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                                     }); 
														 | 
														
														 | 
														
															                                     }); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                                     demoGroup.setDemoGroupPlans(planList); 
														 | 
														
														 | 
														
															                                     demoGroup.setDemoGroupPlans(planList); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -202,12 +213,12 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherMapper, Teacher> impl 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             } 
														 | 
														
														 | 
														
															                             } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             QueryWrapper<CourseSchedule> scheduleQueryWrapper = new QueryWrapper<>(); 
														 | 
														
														 | 
														
															                             QueryWrapper<CourseSchedule> scheduleQueryWrapper = new QueryWrapper<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                            scheduleQueryWrapper.eq("teacher_id_",req.getUserId()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            scheduleQueryWrapper.eq("teacher_id_", req.getUserId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             scheduleQueryWrapper.eq("status_", CourseStatusEnum.OVER.getCode()); 
														 | 
														
														 | 
														
															                             scheduleQueryWrapper.eq("status_", CourseStatusEnum.OVER.getCode()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             List<CourseSchedule> courseSchedules = courseScheduleService.list(scheduleQueryWrapper); 
														 | 
														
														 | 
														
															                             List<CourseSchedule> courseSchedules = courseScheduleService.list(scheduleQueryWrapper); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                            if(!CollectionUtils.isEmpty(courseSchedules)){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            if (!CollectionUtils.isEmpty(courseSchedules)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                                 teacherDetailResp.setUsed(courseSchedules.size()); 
														 | 
														
														 | 
														
															                                 teacherDetailResp.setUsed(courseSchedules.size()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                            }else{ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            } else { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                                 teacherDetailResp.setUsed(0); 
														 | 
														
														 | 
														
															                                 teacherDetailResp.setUsed(0); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             } 
														 | 
														
														 | 
														
															                             } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -221,14 +232,14 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherMapper, Teacher> impl 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             } 
														 | 
														
														 | 
														
															             } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															             QueryWrapper<TeacherLeaveRecord> teacherLeaveRecordQueryWrapper = new QueryWrapper<>(); 
														 | 
														
														 | 
														
															             QueryWrapper<TeacherLeaveRecord> teacherLeaveRecordQueryWrapper = new QueryWrapper<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            teacherLeaveRecordQueryWrapper.eq("user_id_",req.getUserId()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            teacherLeaveRecordQueryWrapper.eq("user_id_", req.getUserId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             List<TeacherLeaveRecord> teacherLeaveRecordList = teacherLeaveRecordService.list(teacherLeaveRecordQueryWrapper); 
														 | 
														
														 | 
														
															             List<TeacherLeaveRecord> teacherLeaveRecordList = teacherLeaveRecordService.list(teacherLeaveRecordQueryWrapper); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            if(!CollectionUtils.isEmpty(teacherLeaveRecordList)){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            if (!CollectionUtils.isEmpty(teacherLeaveRecordList)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 AtomicReference<Integer> count = new AtomicReference<>(0); 
														 | 
														
														 | 
														
															                 AtomicReference<Integer> count = new AtomicReference<>(0); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                teacherLeaveRecordList.forEach(e ->{ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                teacherLeaveRecordList.forEach(e -> { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    Integer hour = DateUtil.subMin(e.getStartTime(),e.getEndTime()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    if (hour != null){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    Integer hour = DateUtil.subMin(e.getStartTime(), e.getEndTime()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    if (hour != null) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         count.set(count.get() + hour); 
														 | 
														
														 | 
														
															                         count.set(count.get() + hour); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     } 
														 | 
														
														 | 
														
															                     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 }); 
														 | 
														
														 | 
														
															                 }); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -243,56 +254,56 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherMapper, Teacher> impl 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     public PageResponse teacherVipClass(TeacherReq req) { 
														 | 
														
														 | 
														
															     public PageResponse teacherVipClass(TeacherReq req) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         PageResponse response = new PageResponse(); 
														 | 
														
														 | 
														
															         PageResponse response = new PageResponse(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        if(req == null && req.getUserId() == null){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if (req == null && req.getUserId() == null) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             return PageResponse.errorParam(); 
														 | 
														
														 | 
														
															             return PageResponse.errorParam(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        IPage page = new Page(req.getPageNo() == null ? 1 : req.getPageNo(),req.getPageSize() == null ? 10 : req.getPageSize()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        IPage page = new Page(req.getPageNo() == null ? 1 : req.getPageNo(), req.getPageSize() == null ? 10 : req.getPageSize()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         QueryWrapper<VipGroup> vipGroupQueryWrapper = new QueryWrapper<>(); 
														 | 
														
														 | 
														
															         QueryWrapper<VipGroup> vipGroupQueryWrapper = new QueryWrapper<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        vipGroupQueryWrapper.eq("user_id_",req.getUserId()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        IPage<VipGroup> vipGroupPage = vipGroupService.page(page,vipGroupQueryWrapper); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        vipGroupQueryWrapper.eq("user_id_", req.getUserId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        IPage<VipGroup> vipGroupPage = vipGroupService.page(page, vipGroupQueryWrapper); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         List<VipGroup> vipGroupList = vipGroupPage.getRecords(); 
														 | 
														
														 | 
														
															         List<VipGroup> vipGroupList = vipGroupPage.getRecords(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         List<VipGroupClassResp> vipGroupClassRespList = new ArrayList<>(); 
														 | 
														
														 | 
														
															         List<VipGroupClassResp> vipGroupClassRespList = new ArrayList<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        if(!CollectionUtils.isEmpty(vipGroupList)){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if (!CollectionUtils.isEmpty(vipGroupList)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            vipGroupList.forEach(e ->{ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            vipGroupList.forEach(e -> { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 VipGroupClassResp vipGroupClassResp = new VipGroupClassResp(); 
														 | 
														
														 | 
														
															                 VipGroupClassResp vipGroupClassResp = new VipGroupClassResp(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 vipGroupClassResp.setVipGroupName(e.getName()); 
														 | 
														
														 | 
														
															                 vipGroupClassResp.setVipGroupName(e.getName()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                VipGroupCategory vipGroupCategory =  vipGroupCategoryService.getById(e.getVipGroupCategoryId()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                if(vipGroupCategory != null){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                VipGroupCategory vipGroupCategory = vipGroupCategoryService.getById(e.getVipGroupCategoryId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                if (vipGroupCategory != null) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     vipGroupClassResp.setVipClassType(vipGroupCategory.getName()); 
														 | 
														
														 | 
														
															                     vipGroupClassResp.setVipClassType(vipGroupCategory.getName()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 } 
														 | 
														
														 | 
														
															                 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 QueryWrapper<CourseSchedule> scheduleQueryWrapper = new QueryWrapper<>(); 
														 | 
														
														 | 
														
															                 QueryWrapper<CourseSchedule> scheduleQueryWrapper = new QueryWrapper<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                scheduleQueryWrapper.eq("teacher_id_",req.getUserId()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                scheduleQueryWrapper.eq("teacher_id_", req.getUserId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 List<CourseSchedule> courseSchedules = courseScheduleService.list(scheduleQueryWrapper); 
														 | 
														
														 | 
														
															                 List<CourseSchedule> courseSchedules = courseScheduleService.list(scheduleQueryWrapper); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                if(!CollectionUtils.isEmpty(courseSchedules)){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    courseSchedules.forEach(c ->{ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                        c.setClassDateStr(DateUtil.date2String(c.getClassDate(),DateUtil.DATE_FORMAT_EXTRA)); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                if (!CollectionUtils.isEmpty(courseSchedules)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    courseSchedules.forEach(c -> { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        c.setClassDateStr(DateUtil.date2String(c.getClassDate(), DateUtil.DATE_FORMAT_EXTRA)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     }); 
														 | 
														
														 | 
														
															                     }); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    Map<String,List<CourseSchedule>> map = courseSchedules.stream().collect(Collectors.groupingBy(CourseSchedule::getClassDateStr)); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    Map<String, List<CourseSchedule>> map = courseSchedules.stream().collect(Collectors.groupingBy(CourseSchedule::getClassDateStr)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    if(!CollectionUtils.isEmpty(map)){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    if (!CollectionUtils.isEmpty(map)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         int count1 = map.size(); 
														 | 
														
														 | 
														
															                         int count1 = map.size(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                        int count2 =0; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        int count2 = 0; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         for (Map.Entry<String, List<CourseSchedule>> entry : map.entrySet()) { 
														 | 
														
														 | 
														
															                         for (Map.Entry<String, List<CourseSchedule>> entry : map.entrySet()) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                            if(!CollectionUtils.isEmpty(entry.getValue())){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            if (!CollectionUtils.isEmpty(entry.getValue())) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                                 count2 = count2 + entry.getValue().size(); 
														 | 
														
														 | 
														
															                                 count2 = count2 + entry.getValue().size(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             } 
														 | 
														
														 | 
														
															                             } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         } 
														 | 
														
														 | 
														
															                         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         //月平均排課 
														 | 
														
														 | 
														
															                         //月平均排課 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                        if(count1 <= count2){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        if (count1 <= count2) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             vipGroupClassResp.setClassNum(1); 
														 | 
														
														 | 
														
															                             vipGroupClassResp.setClassNum(1); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                        }else{ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        } else { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                            vipGroupClassResp.setClassNum(count2%count1); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            vipGroupClassResp.setClassNum(count2 % count1); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         } 
														 | 
														
														 | 
														
															                         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     } 
														 | 
														
														 | 
														
															                     } 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -306,4 +317,72 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherMapper, Teacher> impl 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         response.setMessage(ReturnCodeEnum.CODE_200.getValue()); 
														 | 
														
														 | 
														
															         response.setMessage(ReturnCodeEnum.CODE_200.getValue()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         return response; 
														 | 
														
														 | 
														
															         return response; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    @Override 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    public PageResponse dailySchedule(TeacherReq req) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        AuthUser user = SecurityUtils.getUser(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        Optional<AuthUser> optional = Optional.ofNullable(user); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        Page<TeacherDailyScheduleResp> pageResult = new Page<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        Integer userId; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if (optional.isPresent()) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            userId = optional.get().getUserId(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        } else { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            if (Objects.isNull(req.getUserId())) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                return PageResponse.errorParam(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            userId = req.getUserId(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        List<TeacherDailyScheduleResp> list = Lists.newArrayList(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        Page<CourseSchedule> courseSchedulePage = new Page<>(req.getPageNo(), req.getPageSize()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        QueryWrapper<CourseSchedule> courseScheduleQueryWrapper = new QueryWrapper<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        courseScheduleQueryWrapper.lambda().eq(CourseSchedule::getTeacherId, userId) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            .eq(Objects.isNull(req.getDate()), CourseSchedule::getClassDate, req.getDate()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        IPage<CourseSchedule> page = courseScheduleService.page(courseSchedulePage, courseScheduleQueryWrapper); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        BeanUtils.copyProperties(page, pageResult); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if (!CollectionUtils.isEmpty(page.getRecords())) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            page.getRecords().forEach(courseSchedule -> { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                TeacherDailyScheduleResp teacherDailyScheduleResp = new TeacherDailyScheduleResp(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                teacherDailyScheduleResp.setCourseName(courseSchedule.getName()) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    .setCourseType(CourseSchedule.CourseScheduleType.getMsgByCode(courseSchedule.getType())); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                if (Objects.nonNull(courseSchedule.getStartClassTime()) && Objects.nonNull(courseSchedule.getEndClassTime())) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    teacherDailyScheduleResp.setClassTime(DateUtil.time2String(courseSchedule.getStartClassTime()) + "-" + 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        DateUtil.time2String(courseSchedule.getEndClassTime())); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                QueryWrapper<TeacherAttendance> teacherAttendanceQueryWrapper = new QueryWrapper<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                teacherAttendanceQueryWrapper.lambda().eq(TeacherAttendance::getCourseScheduleId, courseSchedule.getId()) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    .eq(TeacherAttendance::getTeacherId, courseSchedule.getTeacherId()) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    .eq(TeacherAttendance::getClassGroupId, courseSchedule.getClassGroupId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                TeacherAttendance teacherAttendance = teacherAttendanceService.getOne(teacherAttendanceQueryWrapper); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                Optional.ofNullable(teacherAttendance).ifPresent(attendance -> teacherDailyScheduleResp.setSignInStatus 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    (SignStatusEnum.getMsgByCode(attendance.getSignInStatus()))); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                //考勤总人数 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                QueryWrapper<StudentAttendance> totalQueryWrapper = new QueryWrapper<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                totalQueryWrapper.lambda().eq(StudentAttendance::getCourseScheduleId, courseSchedule.getId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                int totalCount = studentAttendanceService.count(totalQueryWrapper); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                QueryWrapper<StudentAttendance> leaveWrapper = new QueryWrapper<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                //请假人数 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                leaveWrapper.lambda().eq(StudentAttendance::getCourseScheduleId, courseSchedule.getId()) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    .eq(StudentAttendance::getStatus, StudentAttendanceStatusEnum.LEAVE.getCode()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                Integer leaveCount = studentAttendanceService.count(leaveWrapper); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                //已到人数 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                QueryWrapper<StudentAttendance> normalWrapper = new QueryWrapper<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                normalWrapper.lambda().eq(StudentAttendance::getCourseScheduleId, courseSchedule.getId()) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    .eq(StudentAttendance::getStatus, StudentAttendanceStatusEnum.NORMAL.getCode()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                Integer normalCount = studentAttendanceService.count(normalWrapper); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                teacherDailyScheduleResp.setAttendanceRate(normalCount + "/" + totalCount) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    .setLeaveNum(leaveCount); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                ClassGroup classGroup = classGroupService.getById(courseSchedule.getClassGroupId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                if (Objects.nonNull(classGroup)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    MusicGroup musicGroup = musicGroupService.getById(classGroup.getMusicGroupId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    if (Objects.nonNull(musicGroup)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        School school = schoolService.getById(musicGroup.getSchoolId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        Optional.ofNullable(school).ifPresent(value -> teacherDailyScheduleResp.setSchoolName(value.getName())); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                list.add(teacherDailyScheduleResp); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                pageResult.setRecords(list); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            }); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        return PageResponse.success(pageResult); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 |