添加考试周时长

This commit is contained in:
wuchunlei
2024-09-04 17:15:25 +08:00
parent beb4ef6297
commit a316090e81
10 changed files with 239 additions and 14 deletions

View File

@@ -0,0 +1,55 @@
package com.peanut.modules.mq.Consumer;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.peanut.common.utils.DateUtils;
import com.peanut.config.DelayQueueConfig;
import com.peanut.modules.common.dao.ClassEntityDao;
import com.peanut.modules.common.dao.ClassExamUserDao;
import com.peanut.modules.common.entity.ClassEntity;
import com.peanut.modules.common.entity.ClassExamUser;
import com.peanut.modules.common.service.ClassExamService;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
//通用延迟队列
@Component
public class CommonConsumer {
@Autowired
private ClassEntityDao classEntityDao;
@Autowired
private ClassExamUserDao classExamUserDao;
@Autowired
private ClassExamService classexamService;
@RabbitListener(queues = DelayQueueConfig.USERVIP_QUEUE)
public void commonConsumer(String typeAndParam) {
//参数为 业务模块 + , + 参数
String[] typeAndParams = typeAndParam.split(",");
//考试周天数,根据设置的天数将班级状态从进行中设置成考试中
if ("examDays".equals(typeAndParams[0])){
ClassEntity classEntity = classEntityDao.selectById(typeAndParams[1]);
if (classEntity!=null&&!"3".equals(classEntity.getState())){
classEntity.setState("3");
classEntityDao.updateById(classEntity);
}
}
//在考试结束时检查是否提交,未完成者自动提交
if ("examSubmit".equals(typeAndParams[0])){
ClassExamUser classExamUser = classExamUserDao.selectById(typeAndParams[1]);
if (classExamUser!=null&&classExamUser.getScoreSuccess()==0){
Map<String,Object> map = new HashMap<>();
map.put("id",classExamUser.getId());
classexamService.submitExamPaper(map);
}
}
}
}