From 0ef7bb2a442c039b01599010fa3370f7c59ef0c4 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期三, 05 六月 2024 18:32:45 +0800
Subject: [PATCH] 代码修改

---
 ruoyi-admin/src/main/java/com/ruoyi/web/component/RabbitMqReceiver.java |   15 ++++++++++++---
 1 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/component/RabbitMqReceiver.java b/ruoyi-admin/src/main/java/com/ruoyi/web/component/RabbitMqReceiver.java
index 8f5dcf8..a179d19 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/component/RabbitMqReceiver.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/component/RabbitMqReceiver.java
@@ -34,6 +34,7 @@
 import java.util.Map;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
+import java.util.concurrent.TimeUnit;
 
 @Slf4j
 @Component//鐩戝惉姝ら槦鍒�
@@ -108,12 +109,11 @@
     @RabbitListener(queues = "task_queue", concurrency = "50")
     public void phoneVisit(String content, Message message, Channel channel) throws IOException {
         log.error("娑堟伅杩涙潵浜�--------------");
+        IvrTaskcallMQ ivrTaskcallMQ = null;
         try {
-            IvrTaskcallMQ ivrTaskcallMQ = null;
-
             ObjectMapper mapper = new ObjectMapper();
             try {
-                if (!content.contains("{")) {
+                if (!content.startsWith("{")) {
                     ivrTaskcallMQ = mapper.readValue("{" + content + "}", IvrTaskcallMQ.class);
                 } else {
                     ivrTaskcallMQ = mapper.readValue(content, IvrTaskcallMQ.class);
@@ -197,6 +197,15 @@
                 }
             }
         } catch (Exception e) {
+            Integer integer = redisCache.getCacheObject(ivrTaskcallMQ.getTaskid().toString());
+            if (integer != null && integer == 2) {
+                channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
+            } else if (integer == null) {
+                redisCache.setCacheObject(ivrTaskcallMQ.getTaskid().toString(), 1, 120, TimeUnit.MINUTES);
+            } else {
+                redisCache.setCacheObject(ivrTaskcallMQ.getTaskid().toString(), integer + 1, 120, TimeUnit.MINUTES);
+            }
+
             log.error("============娑堣垂澶辫触,灏濊瘯娑堟伅琛ュ彂鍐嶆娑堣垂!==============");
             log.error(e.getMessage());
             channel.basicReject(message.getMessageProperties().getDeliveryTag(), true);

--
Gitblit v1.9.3