From df4898d55d3aa97f2cf455b4c351c37f2b84e257 Mon Sep 17 00:00:00 2001
From: luohairen <3399054449@qq.com>
Date: 星期三, 30 十月 2024 17:59:25 +0800
Subject: [PATCH] bug

---
 src/main/java/com/ycl/jxkg/service/impl/MeetServiceImpl.java |   37 ++++++++++++++++++++++++++++++++-----
 1 files changed, 32 insertions(+), 5 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 1474c95..408a884 100644
--- a/src/main/java/com/ycl/jxkg/service/impl/MeetServiceImpl.java
+++ b/src/main/java/com/ycl/jxkg/service/impl/MeetServiceImpl.java
@@ -9,18 +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;
@@ -30,6 +29,7 @@
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.Assert;
 import org.springframework.util.CollectionUtils;
 import java.util.Date;
@@ -55,12 +55,14 @@
     private final Producer producer;
     private final MeetStudentMapper meetStudentMapper;
     private final StudyRecordMapper studyRecordMapper;
+    private final MeetClassesMapper meetClassesMapper;
     /**
      * 娣诲姞
      * @param form
      * @return
      */
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public Result add(MeetForm form) {
         Meet entity = MeetForm.getEntityByForm(form, null);
         entity.setStatus(MeetStatusEnum.Wait.getCode());
@@ -70,6 +72,13 @@
         if (baseMapper.insert(entity) > 0) {
             this.sendMQ(entity, 0);
         }
+        // 鍚戜細璁彮绾т腑闂磋〃涓彃鍏ユ暟鎹�
+        form.getClassesIds().forEach(classId -> {
+            MeetClasses meetClasses = new MeetClasses();
+            meetClasses.setMeetId(entity.getId());
+            meetClasses.setClassesId(classId);
+            meetClassesMapper.insert(meetClasses);
+        });
         return Result.ok("娣诲姞鎴愬姛");
     }
 
@@ -84,6 +93,20 @@
         // 涓虹┖鎶汭llegalArgumentException锛屽仛鍏ㄥ眬寮傚父澶勭悊
         Assert.notNull(entity, "璁板綍涓嶅瓨鍦�");
         BeanUtils.copyProperties(form, entity);
+
+        // 鍏堝垹闄ゅ啀鏂板
+        new LambdaUpdateChainWrapper<>(meetClassesMapper)
+                .eq(MeetClasses::getMeetId, entity.getId())
+                .remove();
+        // 鍚戜細璁彮绾т腑闂磋〃涓彃鍏ユ暟鎹�
+        form.getClassesIds().forEach(classId -> {
+            MeetClasses meetClasses = new MeetClasses();
+            meetClasses.setMeetId(entity.getId());
+            meetClasses.setClassesId(classId);
+            meetClassesMapper.insert(meetClasses);
+        });
+
+
         // 濡傛灉淇敼鎴愬姛鍙戦�乵q娑堟伅
         if (baseMapper.updateById(entity) > 0) {
             this.sendMQ(entity, entity.getUpdateVersion());
@@ -125,7 +148,11 @@
         query.setTeacherId(id);
         IPage<MeetVO> page = PageUtil.getPage(query, MeetVO.class);
         baseMapper.getPage(page, query);
-
+        page.getRecords().forEach(vo -> {
+            if (!CollectionUtils.isEmpty(vo.getTeacherNames())) {
+                vo.setTeacherNamesStr(vo.getTeacherNames().stream().collect(Collectors.joining("銆�")));
+            }
+        });
         return Result.ok().data(page.getRecords()).total(page.getTotal());
     }
 

--
Gitblit v1.8.0