luohairen
2024-10-30 180b752fc5857a004088edbfd505894122c40049
完成在线培训一个会议多个班级的功能
7个文件已修改
3个文件已添加
121 ■■■■■ 已修改文件
src/main/java/com/ycl/jxkg/controller/admin/ClassesController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ycl/jxkg/controller/admin/MeetController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ycl/jxkg/domain/entity/MeetClasses.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ycl/jxkg/domain/form/MeetForm.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ycl/jxkg/domain/vo/MeetClassesVo.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ycl/jxkg/mapper/MeetClassesMapper.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ycl/jxkg/service/ClassesService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ycl/jxkg/service/MeetService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ycl/jxkg/service/impl/ClassesServiceImpl.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ycl/jxkg/service/impl/MeetServiceImpl.java 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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);
    }
}
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);
    }
}
src/main/java/com/ycl/jxkg/domain/entity/MeetClasses.java
New file
@@ -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;
}
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;
src/main/java/com/ycl/jxkg/domain/vo/MeetClassesVo.java
New file
@@ -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;
}
src/main/java/com/ycl/jxkg/mapper/MeetClassesMapper.java
New file
@@ -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);
}
src/main/java/com/ycl/jxkg/service/ClassesService.java
@@ -94,4 +94,11 @@
     */
    Result recover(Integer id);
    /**
     * 恢复正常
     *
     * @param meetId
     * @return
     */
    List<Integer> listByMeetId(Integer meetId);
}
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);
}
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("班级已经恢复正常");
    }
    @Override
    public List<Integer> listByMeetId(Integer meetId) {
        return meetClassesMapper.getClassListByMeetId(meetId);
    }
}
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("修改成功");
    }
    /**
     * 发送mq消息
     *