From 182c1cde1f4507d12eb4b6b1a4ffd24a2be6c93b Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期三, 10 七月 2024 11:48:40 +0800 Subject: [PATCH] 初始化缓存 --- src/main/java/com/ycl/jxkg/rabbitmq/consumer/Consumer.java | 44 ++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 40 insertions(+), 4 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..600c842 100644 --- a/src/main/java/com/ycl/jxkg/rabbitmq/consumer/Consumer.java +++ b/src/main/java/com/ycl/jxkg/rabbitmq/consumer/Consumer.java @@ -1,23 +1,51 @@ 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.domain.entity.Meet; +import com.ycl.jxkg.enums.general.ExamStatusEnum; +import com.ycl.jxkg.mapper.ExamMapper; +import com.ycl.jxkg.mapper.MeetMapper; +import com.ycl.jxkg.rabbitmq.msg.ExamStatusMsg; +import com.ycl.jxkg.rabbitmq.msg.MeetStatusMsg; +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; + private final MeetMapper meetMapper; /** * 鑰冭瘯鐘舵�佹洿鏂扮殑娑堣垂鑰� * * @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()) + .eq(Exam::getStatus, ExamStatusEnum.ING.equals(examStatusMsg.getTargetStatus()) ? // 瑕佹敼涓鸿繘琛屼腑閭d箞鍘熸湰搴旇鏄湭寮�濮嬨�傜粨鏉熷垯闇�瑕佹槸杩涜涓� + ExamStatusEnum.NOT_START : + ExamStatusEnum.FINISHED.equals(examStatusMsg.getTargetStatus()) ? ExamStatusEnum.ING : null) + .set(Exam::getStatus, examStatusMsg.getTargetStatus()) + .update(); + } } @@ -27,7 +55,15 @@ * @param message */ @RabbitListener(queues = "meetDlxQueue") - public void meetConsumer(String message){ - System.out.println(message); + public void meetConsumer(Message message){ + MeetStatusMsg meetStatusMsg = JSON.parseObject(message.getBody(), MeetStatusMsg.class); + Meet meet = meetMapper.selectById(meetStatusMsg.getMeetId()); + if (Objects.nonNull(meet) && meetStatusMsg.getVersion().equals(meet.getUpdateVersion())) { + // 涓嶄娇鐢╱pdateById杩欑鏂瑰紡锛岄伩鍏嶄箰瑙傞攣鍔犱竴銆� + new LambdaUpdateChainWrapper<>(meetMapper) + .eq(Meet::getId, meet.getId()) + .set(Meet::getStatus, meetStatusMsg.getMeetStatus()) + .update(); + } } } -- Gitblit v1.8.0