20250702添加新规则,考试周时间按整点计算

This commit is contained in:
wuchunlei
2025-07-02 13:50:59 +08:00
parent 6a77daa0d1
commit 85d1fec512
4 changed files with 67 additions and 23 deletions

View File

@@ -39,26 +39,30 @@ public class ClassToExamTask implements ITask{
ClassModel classModel = classModelDao.selectById(classEntity.getModelId());
//考试周开始时间
Date startExamTime = DateUtils.addDateDays(classEntity.getStartTime(),classModel.getDays());
//20250702添加新规则考试周时间按整点计算
if (DateUtils.addDateDays(classEntity.getStartTime(),classModel.getDays()).getTime()
>DateUtils.stringToDate("2025-07-02","yyyy-MM-dd").getTime()){
startExamTime = DateUtils.addDateDays(classEntity.getStartTime(),classModel.getDays());
startExamTime = DateUtils.stringToDate(DateUtils.format(startExamTime),"yyyy-MM-dd");
}
if (startExamTime.getTime()<=new Date().getTime()){//已到考试周,调整小班状态为考试周
classEntity.setState("3");
classEntityDao.updateById(classEntity);
}else if (DateUtils.format(startExamTime).equals(DateUtils.format(new Date()))){
//当天与考试周到达天相同,加入队列
if (classModel.getIsExam()==1){
//根据设置的天数将班级状态从进行中设置成考试中
rabbitTemplate.convertAndSend(
DelayQueueConfig.COMMON_EXCHANGE,
DelayQueueConfig.COMMON_ROUTING_KEY,
"examDays" + "," + classEntity.getId(),
new MessagePostProcessor() {
@Override
public Message postProcessMessage(Message message) throws AmqpException {
message.getMessageProperties().setDelay((int)(startExamTime.getTime()-new Date().getTime()));
return message;
}
//根据设置的天数将班级状态从进行中设置成考试中
rabbitTemplate.convertAndSend(
DelayQueueConfig.COMMON_EXCHANGE,
DelayQueueConfig.COMMON_ROUTING_KEY,
"examDays" + "," + classEntity.getId(),
new MessagePostProcessor() {
@Override
public Message postProcessMessage(Message message) throws AmqpException {
message.getMessageProperties().setDelay((int)(DateUtils.addDateDays(classEntity.getStartTime(),classModel.getDays()).getTime()-new Date().getTime()));
return message;
}
);
}
}
);
}
}
}