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/ClassesService.java             |    7 ---
 src/main/java/com/ycl/jxkg/domain/vo/BaseOneToManyVO.java          |   11 +++++
 src/main/java/com/ycl/jxkg/domain/vo/MeetVO.java                   |    2 
 src/main/java/com/ycl/jxkg/domain/entity/MeetClasses.java          |    8 ++-
 src/main/java/com/ycl/jxkg/service/MeetService.java                |    1 
 src/main/java/com/ycl/jxkg/controller/admin/ClassesController.java |    6 ---
 src/main/java/com/ycl/jxkg/service/impl/ClassesServiceImpl.java    |    4 --
 src/main/resources/mapper/MeetMapper.xml                           |    3 -
 src/main/java/com/ycl/jxkg/controller/admin/MeetController.java    |    8 +---
 src/main/java/com/ycl/jxkg/service/impl/MeetServiceImpl.java       |   40 +++++++++++--------
 src/main/java/com/ycl/jxkg/domain/base/AbsOnlyIdEntity.java        |   18 +++++++++
 src/main/java/com/ycl/jxkg/mapper/MeetClassesMapper.java           |    8 ---
 12 files changed, 62 insertions(+), 54 deletions(-)

diff --git a/src/main/java/com/ycl/jxkg/controller/admin/ClassesController.java b/src/main/java/com/ycl/jxkg/controller/admin/ClassesController.java
index 7cc873a..d6af2f5 100644
--- a/src/main/java/com/ycl/jxkg/controller/admin/ClassesController.java
+++ b/src/main/java/com/ycl/jxkg/controller/admin/ClassesController.java
@@ -100,11 +100,5 @@
         return classesService.myClassList();
     }
 
-    @GetMapping("/listByMeetId/{meetId}")
-    @ApiOperation(value = "鏍规嵁浼氳ID鑾峰彇鐝骇鍒楄〃", notes = "鏍规嵁浼氳ID鑾峰彇鐝骇鍒楄〃")
-    public Result listByMeetId(@PathVariable("meetId") Integer meetId) {
-        List<Integer> classIds = classesService.listByMeetId(meetId);
-        return Result.ok(classIds);
-    }
 
 }
diff --git a/src/main/java/com/ycl/jxkg/controller/admin/MeetController.java b/src/main/java/com/ycl/jxkg/controller/admin/MeetController.java
index ae62635..6144c6f 100644
--- a/src/main/java/com/ycl/jxkg/controller/admin/MeetController.java
+++ b/src/main/java/com/ycl/jxkg/controller/admin/MeetController.java
@@ -44,11 +44,13 @@
     public Result update(@RequestBody @Validated(Update.class) MeetForm form) {
         return meetService.update(form);
     }
+
     @PutMapping("/start")
     @ApiOperation(value = "寮�濮嬩笂璇�", notes = "寮�濮嬩笂璇�")
     public Result start(@RequestBody @Validated(Update.class) MeetForm form) {
         return meetService.start(form);
     }
+
     @DeleteMapping("/{id}")
     @ApiOperation(value = "ID鍒犻櫎", notes = "ID鍒犻櫎")
     public Result removeById(@PathVariable("id") String id) {
@@ -83,12 +85,6 @@
     @ApiOperation(value = "鏌ユ壘鐝骇瀛︾敓", notes = "鏌ユ壘鐝骇瀛︾敓")
     public Result getStudentList(@PathVariable("meetId") Integer meetId, String keyword) {
         return meetService.getStudentList(meetId, keyword);
-    }
-
-    @PutMapping("/edit/meetClasses")
-    @ApiOperation(value = "淇敼浼氳鐝骇", notes = "淇敼浼氳鐝骇")
-    public Result editMeetClasses(@RequestBody @Validated(Update.class)MeetClassesVo meetClassesVo) {
-        return meetService.editMeetClasses(meetClassesVo);
     }
 
 }
diff --git a/src/main/java/com/ycl/jxkg/domain/base/AbsOnlyIdEntity.java b/src/main/java/com/ycl/jxkg/domain/base/AbsOnlyIdEntity.java
new file mode 100644
index 0000000..30d6fbd
--- /dev/null
+++ b/src/main/java/com/ycl/jxkg/domain/base/AbsOnlyIdEntity.java
@@ -0,0 +1,18 @@
+package com.ycl.jxkg.domain.base;
+
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+
+/**
+ * @author xp
+ * @date 2022/11/29
+ */
+@Data
+public abstract class AbsOnlyIdEntity {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+}
diff --git a/src/main/java/com/ycl/jxkg/domain/entity/MeetClasses.java b/src/main/java/com/ycl/jxkg/domain/entity/MeetClasses.java
index ccb5d67..9036e78 100644
--- a/src/main/java/com/ycl/jxkg/domain/entity/MeetClasses.java
+++ b/src/main/java/com/ycl/jxkg/domain/entity/MeetClasses.java
@@ -3,17 +3,19 @@
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.ycl.jxkg.domain.base.AbsEntity;
+import com.ycl.jxkg.domain.base.AbsOnlyIdEntity;
 import lombok.Data;
 
 @Data
 @TableName("t_meet_classes")
-public class MeetClasses extends AbsEntity {
+public class MeetClasses extends AbsOnlyIdEntity {
     private static final long serialVersionUID = 1L;
 
     @TableField("meet_id")
     /** 浼氳id */
     private Integer meetId;
-    @TableField("meet_id")
+
+    @TableField("classes_id")
     /** 鐝骇id */
-    private Integer classId;
+    private Integer classesId;
 }
diff --git a/src/main/java/com/ycl/jxkg/domain/vo/BaseOneToManyVO.java b/src/main/java/com/ycl/jxkg/domain/vo/BaseOneToManyVO.java
new file mode 100644
index 0000000..20d5cbe
--- /dev/null
+++ b/src/main/java/com/ycl/jxkg/domain/vo/BaseOneToManyVO.java
@@ -0,0 +1,11 @@
+package com.ycl.jxkg.domain.vo;
+
+import lombok.Data;
+
+@Data
+public class BaseOneToManyVO {
+
+    private Integer id;
+    private String name;
+
+}
diff --git a/src/main/java/com/ycl/jxkg/domain/vo/MeetVO.java b/src/main/java/com/ycl/jxkg/domain/vo/MeetVO.java
index 2c3a11a..229cfea 100644
--- a/src/main/java/com/ycl/jxkg/domain/vo/MeetVO.java
+++ b/src/main/java/com/ycl/jxkg/domain/vo/MeetVO.java
@@ -28,7 +28,7 @@
     private String meetCover;
 
     /** 鐝骇id */
-    private Integer classesId;
+    private List<Integer> classesIds;
     private String classesName;
 
     /** 鑰佸笀鍒楄〃 */
diff --git a/src/main/java/com/ycl/jxkg/mapper/MeetClassesMapper.java b/src/main/java/com/ycl/jxkg/mapper/MeetClassesMapper.java
index 3771032..96aa044 100644
--- a/src/main/java/com/ycl/jxkg/mapper/MeetClassesMapper.java
+++ b/src/main/java/com/ycl/jxkg/mapper/MeetClassesMapper.java
@@ -1,5 +1,6 @@
 package com.ycl.jxkg.mapper;
 
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ycl.jxkg.base.Result;
 import com.ycl.jxkg.domain.entity.MeetClasses;
 import org.apache.ibatis.annotations.Delete;
@@ -11,12 +12,5 @@
 
 @Mapper
 public interface MeetClassesMapper extends BaseMapper<MeetClasses> {
-    @Insert("insert into t_meet_classes(meet_id, classes_id) values (#{meetId}, #{classId})")
-    int insert(MeetClasses meetClasses);
 
-    @Select("select classes_id from t_meet_classes where meet_id = #{meetId}")
-    List<Integer> getClassListByMeetId(Integer meetId);
-
-    @Delete("delete from t_meet_classes where meet_id = #{meetId}")
-    int deleteByMeetId(Integer meetId);
 }
diff --git a/src/main/java/com/ycl/jxkg/service/ClassesService.java b/src/main/java/com/ycl/jxkg/service/ClassesService.java
index fc19bea..3468cf5 100644
--- a/src/main/java/com/ycl/jxkg/service/ClassesService.java
+++ b/src/main/java/com/ycl/jxkg/service/ClassesService.java
@@ -94,11 +94,4 @@
      */
     Result recover(Integer id);
 
-    /**
-     * 鎭㈠姝e父
-     *
-     * @param meetId
-     * @return
-     */
-    List<Integer> listByMeetId(Integer meetId);
 }
diff --git a/src/main/java/com/ycl/jxkg/service/MeetService.java b/src/main/java/com/ycl/jxkg/service/MeetService.java
index 2946bcb..5794306 100644
--- a/src/main/java/com/ycl/jxkg/service/MeetService.java
+++ b/src/main/java/com/ycl/jxkg/service/MeetService.java
@@ -85,5 +85,4 @@
      */
     Result getStudentClasses();
 
-    Result editMeetClasses(MeetClassesVo meetClassesVo);
 }
diff --git a/src/main/java/com/ycl/jxkg/service/impl/ClassesServiceImpl.java b/src/main/java/com/ycl/jxkg/service/impl/ClassesServiceImpl.java
index 80d81db..aac1f3c 100644
--- a/src/main/java/com/ycl/jxkg/service/impl/ClassesServiceImpl.java
+++ b/src/main/java/com/ycl/jxkg/service/impl/ClassesServiceImpl.java
@@ -200,8 +200,4 @@
         return Result.ok("鐝骇宸茬粡鎭㈠姝e父");
     }
 
-    @Override
-    public List<Integer> listByMeetId(Integer meetId) {
-        return meetClassesMapper.getClassListByMeetId(meetId);
-    }
 }
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 8af2aad..408a884 100644
--- a/src/main/java/com/ycl/jxkg/service/impl/MeetServiceImpl.java
+++ b/src/main/java/com/ycl/jxkg/service/impl/MeetServiceImpl.java
@@ -29,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;
@@ -61,6 +62,7 @@
      * @return
      */
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public Result add(MeetForm form) {
         Meet entity = MeetForm.getEntityByForm(form, null);
         entity.setStatus(MeetStatusEnum.Wait.getCode());
@@ -71,10 +73,10 @@
             this.sendMQ(entity, 0);
         }
         // 鍚戜細璁彮绾т腑闂磋〃涓彃鍏ユ暟鎹�
-        form.getClassesIds().stream().forEach(classId -> {
+        form.getClassesIds().forEach(classId -> {
             MeetClasses meetClasses = new MeetClasses();
             meetClasses.setMeetId(entity.getId());
-            meetClasses.setClassId(classId);
+            meetClasses.setClassesId(classId);
             meetClassesMapper.insert(meetClasses);
         });
         return Result.ok("娣诲姞鎴愬姛");
@@ -91,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());
@@ -132,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());
     }
 
@@ -248,20 +268,6 @@
         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("淇敼鎴愬姛");
     }
 
     /**
diff --git a/src/main/resources/mapper/MeetMapper.xml b/src/main/resources/mapper/MeetMapper.xml
index d682cb3..78d3306 100644
--- a/src/main/resources/mapper/MeetMapper.xml
+++ b/src/main/resources/mapper/MeetMapper.xml
@@ -16,11 +16,11 @@
     <resultMap id="PageMap" type="com.ycl.jxkg.domain.vo.MeetVO">
         <result column="meet_name" property="meetName" />
         <result column="meet_cover" property="meetCover" />
-        <result column="classes_id" property="classesId" />
         <result column="start_time" property="startTime" />
         <result column="end_time" property="endTime" />
         <result column="status" property="status" />
         <collection property="teacherNames" ofType="string" column="classes_id" select="getTeacherNames"></collection>
+        <collection property="classesIds" ofType="string" column="classes_id" select="getTeacherNames"></collection>
     </resultMap>
 
     <select id="getTeacherNames" resultType="string">
@@ -48,7 +48,6 @@
         SELECT
             TM.meet_name,
             TM.meet_cover,
-            TM.classes_id,
             TM.create_user,
             TM.start_time,
             TM.end_time,

--
Gitblit v1.8.0