From 180b752fc5857a004088edbfd505894122c40049 Mon Sep 17 00:00:00 2001
From: luohairen <3399054449@qq.com>
Date: 星期三, 30 十月 2024 17:07:12 +0800
Subject: [PATCH] 完成在线培训一个会议多个班级的功能

---
 src/main/java/com/ycl/jxkg/service/impl/MeetServiceImpl.java |   66 +++++++++++++++++++++++++++------
 1 files changed, 54 insertions(+), 12 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 299da8e..8af2aad 100644
--- a/src/main/java/com/ycl/jxkg/service/impl/MeetServiceImpl.java
+++ b/src/main/java/com/ycl/jxkg/service/impl/MeetServiceImpl.java
@@ -9,16 +9,17 @@
 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.form.MeetForm;
 import com.ycl.jxkg.domain.query.MeetQuery;
+import com.ycl.jxkg.domain.vo.ClassesVO;
+import com.ycl.jxkg.domain.vo.MeetClassesVo;
 import com.ycl.jxkg.domain.vo.MeetVO;
+import com.ycl.jxkg.domain.vo.StudentSimpleVO;
 import com.ycl.jxkg.enums.MeetStatusEnum;
-import com.ycl.jxkg.mapper.ClassesUserMapper;
-import com.ycl.jxkg.mapper.MeetMapper;
-import com.ycl.jxkg.mapper.MeetStudentMapper;
-import com.ycl.jxkg.mapper.StudyRecordMapper;
+import com.ycl.jxkg.mapper.*;
 import com.ycl.jxkg.rabbitmq.msg.MeetStatusMsg;
 import com.ycl.jxkg.rabbitmq.product.Producer;
 import com.ycl.jxkg.service.MeetService;
@@ -53,6 +54,7 @@
     private final Producer producer;
     private final MeetStudentMapper meetStudentMapper;
     private final StudyRecordMapper studyRecordMapper;
+    private final MeetClassesMapper meetClassesMapper;
     /**
      * 娣诲姞
      * @param form
@@ -68,6 +70,13 @@
         if (baseMapper.insert(entity) > 0) {
             this.sendMQ(entity, 0);
         }
+        // 鍚戜細璁彮绾т腑闂磋〃涓彃鍏ユ暟鎹�
+        form.getClassesIds().stream().forEach(classId -> {
+            MeetClasses meetClasses = new MeetClasses();
+            meetClasses.setMeetId(entity.getId());
+            meetClasses.setClassId(classId);
+            meetClassesMapper.insert(meetClasses);
+        });
         return Result.ok("娣诲姞鎴愬姛");
     }
 
@@ -135,15 +144,21 @@
     @Override
     public Result studentPage(MeetQuery query) {
         Integer userId = webContext.getCurrentUser().getId();
-        //鏌ュ嚭瀛︾敓鎵�鍦ㄧ彮绾�
-        List<Integer> classes = classesUserMapper.getClassesByUserId(userId);
-        if(CollectionUtils.isEmpty(classes)){
-            return Result.ok("鎮ㄦ殏鏈姞鍏ョ彮绾�");
+        if (CollectionUtils.isEmpty(query.getClassesIds())) {
+            //鏌ュ嚭瀛︾敓鎵�鍦ㄧ彮绾�
+            List<Integer> classes = classesUserMapper.getClassesByUserId(userId);
+            if(CollectionUtils.isEmpty(classes)){
+                return Result.fail(500, "鎮ㄦ殏鏈姞鍏ョ彮绾�");
+            }
+            query.setClassesIds(classes);
         }
-        query.setClassesIds(classes);
         IPage<MeetVO> page = PageUtil.getPage(query, MeetVO.class);
         baseMapper.getPage(page, query);
-
+        for (MeetVO vo : page.getRecords()) {
+            if (!CollectionUtils.isEmpty(vo.getTeacherNames())) {
+                vo.setTeacherNamesStr(vo.getTeacherNames().stream().collect(Collectors.joining("銆�")));
+            }
+        }
         return Result.ok().data(page.getRecords()).total(page.getTotal());
     }
 
@@ -152,11 +167,11 @@
         Meet entity = baseMapper.selectById(form.getId());
         // 涓虹┖鎶汭llegalArgumentException锛屽仛鍏ㄥ眬寮傚父澶勭悊
         Assert.notNull(entity, "璁板綍涓嶅瓨鍦�");
-        entity.setStatus(form.getStatus());
         // 涓嶄娇鐢╱pdateById杩欑鏂瑰紡锛岄伩鍏嶄箰瑙傞攣鍔犱竴銆�
         new LambdaUpdateChainWrapper<>(meetMapper)
                 .eq(Meet::getId, entity.getId())
-                .update(entity);
+                .set(Meet::getStatus,form.getStatus())
+                .update();
         return Result.ok();
     }
 
@@ -222,6 +237,33 @@
         return Result.ok().data(vos);
     }
 
+    @Override
+    public Result getStudentList(Integer meetId, String keyword) {
+        List<StudentSimpleVO> studentList = baseMapper.getStudentList(meetId, keyword);
+        return Result.ok().data(studentList);
+    }
+
+    @Override
+    public Result getStudentClasses() {
+        Integer userId = webContext.getCurrentUser().getId();
+        List<ClassesVO> classes = classesUserMapper.getClassesByUserId1(userId);
+        return Result.ok().data(classes);
+    }
+
+    @Override
+    public Result editMeetClasses(MeetClassesVo meetClassesVo) {
+        // 鍒犻櫎璇ヤ細璁墍鏈夌彮绾�
+        meetClassesMapper.deleteByMeetId(meetClassesVo.getMeetId());
+        // 涓鸿浼氳鏂板鐝骇
+        meetClassesVo.getChangeIds().forEach(id -> {
+            MeetClasses meetClasses = new MeetClasses();
+            meetClasses.setMeetId(meetClassesVo.getMeetId());
+            meetClasses.setClassId(id);
+            meetClassesMapper.insert(meetClasses);
+        });
+        return Result.ok("淇敼鎴愬姛");
+    }
+
     /**
      * 鍙戦�乵q娑堟伅
      *

--
Gitblit v1.8.0