From 9ffc84f5dc0d11afad2d0aa18cd334fdb7987e72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=9C=E7=81=AC=E7=9E=AC?= <2431038086@qq.com> Date: Sat, 24 Jun 2023 17:20:48 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B6=88=E6=81=AF=E5=B9=82=E7=AD=89=E6=80=A7?= =?UTF-8?q?=20=20=E4=B8=BA=E4=BA=86=E9=98=B2=E6=AD=A2=E9=87=8D=E5=A4=8D?= =?UTF-8?q?=E6=B6=88=E8=B4=B9=20=E9=9C=80=E8=A6=81=E8=BF=9B=E8=A1=8C?= =?UTF-8?q?=E5=B9=82=E7=AD=89=E6=80=A7=E6=93=8D=E4=BD=9C=E5=AE=9E=E7=8E=B0?= =?UTF-8?q?=E6=96=B9=E6=B3=95=E6=9C=89=E5=BE=88=E5=A4=9A=20=E5=B9=82?= =?UTF-8?q?=E7=AD=89=E8=A1=A8=E5=BC=8F=E5=85=B6=E4=B8=AD=E4=B8=80=E7=A7=8D?= =?UTF-8?q?=E8=A7=A3=E5=86=B3=E6=96=B9=E6=A1=88=20=E4=BF=9D=E5=AD=98?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E7=9A=84uuid=20=E5=A6=82=E6=9E=9C=E4=B8=8D?= =?UTF-8?q?=E5=AD=98=E5=9C=A8=E5=88=99=E4=BB=A3=E8=A1=A8=E6=B2=A1=E6=9C=89?= =?UTF-8?q?=E9=87=8D=E5=A4=8D=E6=B6=88=E8=B4=B9=20=E6=9C=89=E5=B0=B1?= =?UTF-8?q?=E6=98=AF=E9=87=8D=E5=A4=8D=E6=B6=88=E8=B4=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/IntegralController.java | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/a-rabbitMQ/integral/src/main/java/com/shun/integral/controller/IntegralController.java b/a-rabbitMQ/integral/src/main/java/com/shun/integral/controller/IntegralController.java index dc6cc9d..46b8f15 100644 --- a/a-rabbitMQ/integral/src/main/java/com/shun/integral/controller/IntegralController.java +++ b/a-rabbitMQ/integral/src/main/java/com/shun/integral/controller/IntegralController.java @@ -1,5 +1,7 @@ package com.shun.integral.controller; +import org.springframework.amqp.core.Message; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @@ -19,4 +21,31 @@ public class IntegralController { Thread.sleep(400); System.out.println("扣除用户积分成功!!"); } + + + private final String ID_NAME = "spring_returned_message_correlation"; + + + // @Transactional + // public void consume(Message message) { + // // 获取生产者提供的CorrelationId要基于header去获取。 + // String id = message.getMessageProperties().getHeader(ID_NAME); + // //1、查询幂等表是否存在当前消息标识 + // int count = userPointsIdempotentMapper.findById(id); + // //2、如果存在,直接return结束 + // if(count == 1){ + // log.info("消息已经被消费!!!无需重复消费!"); + // return; + // } + // //3、如果不存在,插入消息标识到幂等表 + // userPointsIdempotentMapper.save(id); + // //4、执行消费逻辑 + // // 预扣除用户积分 + // try { + // Thread.sleep(400); + // } catch (InterruptedException e) { + // e.printStackTrace(); + // } + // System.out.println("扣除用户积分成功!!"); + // } }