From b7273d6fc94ae5e14f5a911d8b8b88cb7c848264 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期三, 30 十月 2024 20:14:10 +0800
Subject: [PATCH] 学员bug

---
 src/main/java/com/ycl/jxkg/service/impl/MeetServiceImpl.java |   40 +++++++++++++++++++++++++++-------------
 1 files changed, 27 insertions(+), 13 deletions(-)

diff --git a/src/main/java/com/ycl/jxkg/service/impl/MeetServiceImpl.java b/src/main/java/com/ycl/jxkg/service/impl/MeetServiceImpl.java
index 408a884..481ed76 100644
--- a/src/main/java/com/ycl/jxkg/service/impl/MeetServiceImpl.java
+++ b/src/main/java/com/ycl/jxkg/service/impl/MeetServiceImpl.java
@@ -3,15 +3,13 @@
 import com.alibaba.fastjson2.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
 import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ycl.jxkg.base.Result;
 import com.ycl.jxkg.base.SystemCode;
 import com.ycl.jxkg.context.WebContext;
-import com.ycl.jxkg.domain.entity.Meet;
-import com.ycl.jxkg.domain.entity.MeetClasses;
-import com.ycl.jxkg.domain.entity.MeetStudent;
-import com.ycl.jxkg.domain.entity.StudyRecord;
+import com.ycl.jxkg.domain.entity.*;
 import com.ycl.jxkg.domain.form.MeetForm;
 import com.ycl.jxkg.domain.query.MeetQuery;
 import com.ycl.jxkg.domain.vo.ClassesVO;
@@ -143,14 +141,26 @@
      */
     @Override
     public Result page(MeetQuery query) {
-        Integer id = webContext.getCurrentUser().getId();
-        //鏌ヨ嚜宸卞垱寤虹殑鎴块棿
-        query.setTeacherId(id);
+        Integer userId = webContext.getCurrentUser().getId();
+        //鏌ヨ嚜宸辩殑浼氳
+        List<ClassesUser> classes = new LambdaQueryChainWrapper<>(classesUserMapper)
+                .eq(ClassesUser::getUserId, userId)
+                .eq(ClassesUser::getTeacher, Boolean.TRUE)
+                .list();
+        List<Integer> classesIds = classes.stream().map(ClassesUser::getClassesId).collect(Collectors.toList());
+        if (CollectionUtils.isEmpty(classesIds) && 3 != webContext.getCurrentUser().getRole()) {
+            throw new RuntimeException("鎮ㄦ殏鏃舵棤娉曡闂椤甸潰");
+        }
+        query.setClassesIds(classesIds);
         IPage<MeetVO> page = PageUtil.getPage(query, MeetVO.class);
-        baseMapper.getPage(page, query);
+        baseMapper.teacherPage(page, query);
         page.getRecords().forEach(vo -> {
-            if (!CollectionUtils.isEmpty(vo.getTeacherNames())) {
-                vo.setTeacherNamesStr(vo.getTeacherNames().stream().collect(Collectors.joining("銆�")));
+            if (! CollectionUtils.isEmpty(vo.getClassesIds())) {
+                // 鏌ヤ富璁茶�佸笀
+                List<String> teacherNames = classesUserMapper.getTeachersByClassesIds(vo.getClassesIds());
+                if (! CollectionUtils.isEmpty(teacherNames)) {
+                    vo.setTeacherNamesStr(teacherNames.stream().collect(Collectors.joining("銆�")));
+                }
             }
         });
         return Result.ok().data(page.getRecords()).total(page.getTotal());
@@ -173,10 +183,14 @@
             query.setClassesIds(classes);
         }
         IPage<MeetVO> page = PageUtil.getPage(query, MeetVO.class);
-        baseMapper.getPage(page, query);
+        baseMapper.studentPage(page, query);
         for (MeetVO vo : page.getRecords()) {
-            if (!CollectionUtils.isEmpty(vo.getTeacherNames())) {
-                vo.setTeacherNamesStr(vo.getTeacherNames().stream().collect(Collectors.joining("銆�")));
+            if (! CollectionUtils.isEmpty(vo.getClassesIds())) {
+                // 鏌ヤ富璁茶�佸笀
+                List<String> teacherNames = classesUserMapper.getTeachersByClassesIds(vo.getClassesIds());
+                if (! CollectionUtils.isEmpty(teacherNames)) {
+                    vo.setTeacherNamesStr(teacherNames.stream().collect(Collectors.joining("銆�")));
+                }
             }
         }
         return Result.ok().data(page.getRecords()).total(page.getTotal());

--
Gitblit v1.8.0