luohairen
2024-10-30 180b752fc5857a004088edbfd505894122c40049
src/main/java/com/ycl/jxkg/service/impl/MeetServiceImpl.java
@@ -9,16 +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;
@@ -53,6 +54,7 @@
    private final Producer producer;
    private final MeetStudentMapper meetStudentMapper;
    private final StudyRecordMapper studyRecordMapper;
    private final MeetClassesMapper meetClassesMapper;
    /**
     * 添加
     * @param form
@@ -68,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("添加成功");
    }
@@ -135,15 +144,21 @@
    @Override
    public Result studentPage(MeetQuery query) {
        Integer userId = webContext.getCurrentUser().getId();
        //查出学生所在班级
        List<Integer> classes = classesUserMapper.getClassesByUserId(userId);
        if(CollectionUtils.isEmpty(classes)){
            return Result.ok("您暂未加入班级");
        if (CollectionUtils.isEmpty(query.getClassesIds())) {
            //查出学生所在班级
            List<Integer> classes = classesUserMapper.getClassesByUserId(userId);
            if(CollectionUtils.isEmpty(classes)){
                return Result.fail(500, "您暂未加入班级");
            }
            query.setClassesIds(classes);
        }
        query.setClassesIds(classes);
        IPage<MeetVO> page = PageUtil.getPage(query, MeetVO.class);
        baseMapper.getPage(page, query);
        for (MeetVO vo : page.getRecords()) {
            if (!CollectionUtils.isEmpty(vo.getTeacherNames())) {
                vo.setTeacherNamesStr(vo.getTeacherNames().stream().collect(Collectors.joining("、")));
            }
        }
        return Result.ok().data(page.getRecords()).total(page.getTotal());
    }
@@ -222,6 +237,33 @@
        return Result.ok().data(vos);
    }
    @Override
    public Result getStudentList(Integer meetId, String keyword) {
        List<StudentSimpleVO> studentList = baseMapper.getStudentList(meetId, keyword);
        return Result.ok().data(studentList);
    }
    @Override
    public Result getStudentClasses() {
        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("修改成功");
    }
    /**
     * 发送mq消息
     *