From eda55530e64d87f6c642ce4596dc288a49f258cc Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期三, 03 七月 2024 18:39:12 +0800
Subject: [PATCH] 学生考试分页增加提交状态,登录学生信息返回
---
src/main/java/com/ycl/jxkg/rabbitmq/consumer/Consumer.java | 28 +++++++++++++++++++++++++---
1 files changed, 25 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/ycl/jxkg/rabbitmq/consumer/Consumer.java b/src/main/java/com/ycl/jxkg/rabbitmq/consumer/Consumer.java
index d99cb71..7dee25c 100644
--- a/src/main/java/com/ycl/jxkg/rabbitmq/consumer/Consumer.java
+++ b/src/main/java/com/ycl/jxkg/rabbitmq/consumer/Consumer.java
@@ -1,14 +1,27 @@
package com.ycl.jxkg.rabbitmq.consumer;
+import com.alibaba.fastjson2.JSON;
+import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
+import com.ycl.jxkg.domain.entity.Exam;
+import com.ycl.jxkg.enums.general.ExamStatusEnum;
+import com.ycl.jxkg.mapper.ExamMapper;
+import com.ycl.jxkg.rabbitmq.msg.ExamStatusMsg;
+import lombok.RequiredArgsConstructor;
+import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.*;
import org.springframework.stereotype.Component;
+
+import java.util.Objects;
/**
* @author锛歺p
* @date锛�2024/6/28 11:51
*/
@Component
+@RequiredArgsConstructor
public class Consumer {
+
+ private final ExamMapper examMapper;
/**
* 鑰冭瘯鐘舵�佹洿鏂扮殑娑堣垂鑰�
@@ -16,8 +29,17 @@
* @param message
*/
@RabbitListener(queues = "examDlxQueue")
- public void examStatusAdjustConsumer(String message){
- System.out.println(message);
+ public void examStatusAdjustConsumer(Message message){
+ ExamStatusMsg examStatusMsg = JSON.parseObject(message.getBody(), ExamStatusMsg.class);
+ Exam exam = examMapper.selectById(examStatusMsg.getExamId());
+ if (Objects.nonNull(exam) && examStatusMsg.getVersion().equals(exam.getUpdateVersion())) {
+ // 涓嶄娇鐢╱pdateById杩欑鏂瑰紡锛岄伩鍏嶄箰瑙傞攣鍔犱竴銆�
+ // 鍥犱负鑰冭瘯鐨勭姸鎬佷慨鏀逛竴鍏遍渶瑕佸彂閫佷袱鏉℃秷鎭�備笉鑳藉洜涓虹涓�鏉℃秷鎭敼浜嗕箣鍚庯紝绗簩鏉℃秷鎭洜涓轰箰瑙傞攣鍔犱竴浜嗚�屾棤娉曚慨鏀�
+ new LambdaUpdateChainWrapper<>(examMapper)
+ .eq(Exam::getId, exam.getId())
+ .set(Exam::getStatus, examStatusMsg.getTargetStatus())
+ .update();
+ }
}
@@ -27,7 +49,7 @@
* @param message
*/
@RabbitListener(queues = "meetDlxQueue")
- public void meetConsumer(String message){
+ public void meetConsumer(Message message){
System.out.println(message);
}
}
--
Gitblit v1.8.0