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/ClassesService.java | 7 ++
src/main/java/com/ycl/jxkg/domain/vo/MeetClassesVo.java | 16 +++++
src/main/java/com/ycl/jxkg/domain/entity/MeetClasses.java | 19 ++++++
src/main/java/com/ycl/jxkg/service/MeetService.java | 4 +
src/main/java/com/ycl/jxkg/controller/admin/ClassesController.java | 7 ++
src/main/java/com/ycl/jxkg/service/impl/ClassesServiceImpl.java | 7 ++
src/main/java/com/ycl/jxkg/controller/admin/MeetController.java | 7 ++
src/main/java/com/ycl/jxkg/domain/form/MeetForm.java | 3
src/main/java/com/ycl/jxkg/service/impl/MeetServiceImpl.java | 29 ++++++++-
src/main/java/com/ycl/jxkg/mapper/MeetClassesMapper.java | 22 +++++++
10 files changed, 115 insertions(+), 6 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 c371fbd..7cc873a 100644
--- a/src/main/java/com/ycl/jxkg/controller/admin/ClassesController.java
+++ b/src/main/java/com/ycl/jxkg/controller/admin/ClassesController.java
@@ -100,4 +100,11 @@
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 5ba1a30..ae62635 100644
--- a/src/main/java/com/ycl/jxkg/controller/admin/MeetController.java
+++ b/src/main/java/com/ycl/jxkg/controller/admin/MeetController.java
@@ -1,5 +1,6 @@
package com.ycl.jxkg.controller.admin;
+import com.ycl.jxkg.domain.vo.MeetClassesVo;
import com.ycl.jxkg.group.Update;
import com.ycl.jxkg.group.Add;
import org.springframework.validation.annotation.Validated;
@@ -84,4 +85,10 @@
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/entity/MeetClasses.java b/src/main/java/com/ycl/jxkg/domain/entity/MeetClasses.java
new file mode 100644
index 0000000..ccb5d67
--- /dev/null
+++ b/src/main/java/com/ycl/jxkg/domain/entity/MeetClasses.java
@@ -0,0 +1,19 @@
+package com.ycl.jxkg.domain.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ycl.jxkg.domain.base.AbsEntity;
+import lombok.Data;
+
+@Data
+@TableName("t_meet_classes")
+public class MeetClasses extends AbsEntity {
+ private static final long serialVersionUID = 1L;
+
+ @TableField("meet_id")
+ /** 浼氳id */
+ private Integer meetId;
+ @TableField("meet_id")
+ /** 鐝骇id */
+ private Integer classId;
+}
diff --git a/src/main/java/com/ycl/jxkg/domain/form/MeetForm.java b/src/main/java/com/ycl/jxkg/domain/form/MeetForm.java
index e6ea851..371587c 100644
--- a/src/main/java/com/ycl/jxkg/domain/form/MeetForm.java
+++ b/src/main/java/com/ycl/jxkg/domain/form/MeetForm.java
@@ -34,9 +34,8 @@
@ApiModelProperty("浼氳灏侀潰")
private String meetCover;
- @NotNull(message = "鐝骇id涓嶈兘涓虹┖", groups = {Add.class, Update.class})
@ApiModelProperty("鐝骇id")
- private Integer classesId;
+ private List<Integer> classesIds;
@ApiModelProperty("鍒涘缓浜�")
private Integer createUser;
diff --git a/src/main/java/com/ycl/jxkg/domain/vo/MeetClassesVo.java b/src/main/java/com/ycl/jxkg/domain/vo/MeetClassesVo.java
new file mode 100644
index 0000000..cd8d1bd
--- /dev/null
+++ b/src/main/java/com/ycl/jxkg/domain/vo/MeetClassesVo.java
@@ -0,0 +1,16 @@
+package com.ycl.jxkg.domain.vo;
+
+import com.ycl.jxkg.domain.base.AbsVo;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class MeetClassesVo extends AbsVo {
+ private Integer meetId;
+ private List<Integer> changeIds;
+}
diff --git a/src/main/java/com/ycl/jxkg/mapper/MeetClassesMapper.java b/src/main/java/com/ycl/jxkg/mapper/MeetClassesMapper.java
new file mode 100644
index 0000000..3771032
--- /dev/null
+++ b/src/main/java/com/ycl/jxkg/mapper/MeetClassesMapper.java
@@ -0,0 +1,22 @@
+package com.ycl.jxkg.mapper;
+
+import com.ycl.jxkg.base.Result;
+import com.ycl.jxkg.domain.entity.MeetClasses;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Insert;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+@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 3468cf5..fc19bea 100644
--- a/src/main/java/com/ycl/jxkg/service/ClassesService.java
+++ b/src/main/java/com/ycl/jxkg/service/ClassesService.java
@@ -94,4 +94,11 @@
*/
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 35b28aa..2946bcb 100644
--- a/src/main/java/com/ycl/jxkg/service/MeetService.java
+++ b/src/main/java/com/ycl/jxkg/service/MeetService.java
@@ -5,6 +5,8 @@
import com.ycl.jxkg.base.Result;
import com.ycl.jxkg.domain.form.MeetForm;
import com.ycl.jxkg.domain.query.MeetQuery;
+import com.ycl.jxkg.domain.vo.MeetClassesVo;
+
import java.util.List;
/**
@@ -82,4 +84,6 @@
* @return
*/
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 78a8613..80d81db 100644
--- a/src/main/java/com/ycl/jxkg/service/impl/ClassesServiceImpl.java
+++ b/src/main/java/com/ycl/jxkg/service/impl/ClassesServiceImpl.java
@@ -10,6 +10,7 @@
import com.ycl.jxkg.domain.vo.StudentVO;
import com.ycl.jxkg.enums.general.ClassesStatusEnum;
import com.ycl.jxkg.mapper.ClassesMapper;
+import com.ycl.jxkg.mapper.MeetClassesMapper;
import com.ycl.jxkg.service.ClassesService;
import com.ycl.jxkg.base.Result;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -42,6 +43,7 @@
private final ClassesMapper classesMapper;
private final WebContext webContext;
private final ClassesUserService classesUserService;
+ private final MeetClassesMapper meetClassesMapper;
/**
* 娣诲姞
@@ -197,4 +199,9 @@
.update();
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 1474c95..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,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;
@@ -55,6 +54,7 @@
private final Producer producer;
private final MeetStudentMapper meetStudentMapper;
private final StudyRecordMapper studyRecordMapper;
+ private final MeetClassesMapper meetClassesMapper;
/**
* 娣诲姞
* @param form
@@ -70,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("娣诲姞鎴愬姛");
}
@@ -243,6 +250,20 @@
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