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