bug
luohairen
2024-10-30 df4898d55d3aa97f2cf455b4c351c37f2b84e257
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;
@@ -30,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;
@@ -55,12 +55,14 @@
    private final Producer producer;
    private final MeetStudentMapper meetStudentMapper;
    private final StudyRecordMapper studyRecordMapper;
    private final MeetClassesMapper meetClassesMapper;
    /**
     * 添加
     * @param form
     * @return
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public Result add(MeetForm form) {
        Meet entity = MeetForm.getEntityByForm(form, null);
        entity.setStatus(MeetStatusEnum.Wait.getCode());
@@ -70,6 +72,13 @@
        if (baseMapper.insert(entity) > 0) {
            this.sendMQ(entity, 0);
        }
        // 向会议班级中间表中插入数据
        form.getClassesIds().forEach(classId -> {
            MeetClasses meetClasses = new MeetClasses();
            meetClasses.setMeetId(entity.getId());
            meetClasses.setClassesId(classId);
            meetClassesMapper.insert(meetClasses);
        });
        return Result.ok("添加成功");
    }
@@ -84,6 +93,20 @@
        // 为空抛IllegalArgumentException,做全局异常处理
        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);
        });
        // 如果修改成功发送mq消息
        if (baseMapper.updateById(entity) > 0) {
            this.sendMQ(entity, entity.getUpdateVersion());
@@ -125,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());
    }