From 63e17909e1eee7ff54c38827a4096cbad82e5dad Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期二, 16 四月 2024 11:56:55 +0800
Subject: [PATCH] 代码提交

---
 ruoyi-admin/src/main/java/com/ruoyi/web/task/PhoneTask.java |   62 +++++++++++++++++++------------
 1 files changed, 38 insertions(+), 24 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/task/PhoneTask.java b/ruoyi-admin/src/main/java/com/ruoyi/web/task/PhoneTask.java
index 2d8ef9f..b228061 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/task/PhoneTask.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/task/PhoneTask.java
@@ -1,57 +1,71 @@
 package com.ruoyi.web.task;
 
+import com.rabbitmq.client.Channel;
 import com.ruoyi.common.core.redis.RedisCache;
 import com.ruoyi.common.utils.uuid.IdUtils;
 import com.smartor.config.PhoneUtils;
 import com.smartor.domain.IvrLibaTemplateScriptVO;
 import com.smartor.domain.IvrLibaTemplateVO;
-import com.smartor.domain.IvrTaskcall;
+import com.smartor.domain.IvrTaskSingle;
 import com.smartor.domain.QuestionMessage;
+import org.springframework.amqp.core.Message;
 
+import java.io.IOException;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.TimeUnit;
 
 public class PhoneTask implements Runnable {
-    private IvrTaskcall ivrTaskcall;
+    private IvrTaskSingle ivrTaskcall;
     private List<IvrLibaTemplateScriptVO> ivrLibaTemplateScriptVO;
     private RedisCache redisCache;
     private IvrLibaTemplateVO ivrLibaTemplateVO;
+    private Channel channel;
+    private Message message;
 
-    public PhoneTask(IvrTaskcall ivrTaskcall, IvrLibaTemplateVO ivrLibaTemplateVO, RedisCache redisCache) {
+    public PhoneTask(IvrTaskSingle ivrTaskcall, IvrLibaTemplateVO ivrLibaTemplateVO, RedisCache redisCache, Channel channel, Message message) {
         this.ivrTaskcall = ivrTaskcall;
         this.ivrLibaTemplateScriptVO = ivrLibaTemplateVO.getIvrLibaTemplateScriptVOList();
         this.ivrLibaTemplateVO = ivrLibaTemplateVO;
         this.redisCache = redisCache;
+        this.channel = channel;
+        this.message = message;
     }
 
     @Override
     public void run() {
-        //鑾峰彇鐢佃瘽缁勶紝鏌ョ湅鍝簺鐢佃瘽鍙互浣跨敤
-        PhoneUtils phoneUtils = new PhoneUtils();
-        String uuid = IdUtils.randomUUID();
-        Map<String, Object> objectMap = new HashMap<>();
-        objectMap.put("ivrTaskcall", ivrTaskcall);
-        objectMap.put("ivrLibaTemplateScriptVO", ivrLibaTemplateScriptVO);
-        //灏嗘暟鎹斁鍒皉edis涓紝鏂逛究鍦ㄥ洖璋冩柟娉曢噷鑾峰彇
-        redisCache.setCacheObject(uuid, objectMap, 120, TimeUnit.MINUTES);
+        try {
+            //鑾峰彇鐢佃瘽缁勶紝鏌ョ湅鍝簺鐢佃瘽鍙互浣跨敤
+            PhoneUtils phoneUtils = new PhoneUtils();
+            String uuid = IdUtils.randomUUID();
+            Map<String, Object> objectMap = new HashMap<>();
+            objectMap.put("ivrTaskcall", ivrTaskcall);
+            objectMap.put("ivrLibaTemplateScriptVO", ivrLibaTemplateScriptVO);
+            //灏嗘暟鎹斁鍒皉edis涓紝鏂逛究鍦ㄥ洖璋冩柟娉曢噷鑾峰彇
+            redisCache.setCacheObject(uuid, objectMap, 120, TimeUnit.MINUTES);
 
-        //璁板綍棣栨闂
-        QuestionMessage returnQues = new QuestionMessage();
-        returnQues.setKcb(ivrLibaTemplateVO.getRevisitBefore());
-        for (IvrLibaTemplateScriptVO ivrLibaTemplateScriptVO : ivrLibaTemplateScriptVO) {
-            if (ivrLibaTemplateScriptVO.getTargetid() == ivrLibaTemplateVO.getFirstQuestionNum().intValue()) {
-                returnQues.setNowQuestion(ivrLibaTemplateScriptVO);
+            //璁板綍棣栨闂
+            QuestionMessage returnQues = new QuestionMessage();
+            returnQues.setKcb(ivrLibaTemplateVO.getRevisitBefore());
+            for (IvrLibaTemplateScriptVO ivrLibaTemplateScriptVO : ivrLibaTemplateScriptVO) {
+                if (ivrLibaTemplateScriptVO.getTargetid() == ivrLibaTemplateVO.getFirstQuestionNum().intValue()) {
+                    returnQues.setNowQuestion(ivrLibaTemplateScriptVO);
+                }
             }
-        }
-        returnQues.setQuestionList(ivrLibaTemplateScriptVO);
-        //灏嗛棶棰橈紝鍜屾ā鏉夸俊鎭斁鍒皉edis涓�
-        redisCache.setCacheObject(uuid + "returnQues", returnQues, 120, TimeUnit.MINUTES);
-        redisCache.setCacheObject(uuid + "ivrLibaTemplateVO", ivrLibaTemplateVO, 120, TimeUnit.MINUTES);
+            returnQues.setQuestionList(ivrLibaTemplateScriptVO);
+            //灏嗛棶棰橈紝鍜屾ā鏉夸俊鎭斁鍒皉edis涓�
+            redisCache.setCacheObject(uuid + "returnQues", returnQues, 120, TimeUnit.MINUTES);
+            redisCache.setCacheObject(uuid + "ivrLibaTemplateVO", ivrLibaTemplateVO, 120, TimeUnit.MINUTES);
 
-        //璋冪敤鏈哄櫒浜虹數璇濓紝寮�濮嬬數璇濓紙闇�瑕佸皢鍥炶皟鏂规硶浼犲叆锛岃繖涓瓑鈥濈數璇濇柟鈥滃憡璇夋�庝箞浼狅紝鐜板湪鍏堢┖鐫�,杩樻湁绗竴鍙ラ棶棰樿瘽鏈級
-        phoneUtils.ob(uuid, null, ivrTaskcall.getPhone(), null, null, null, null, null, null, null, null);
+            //璋冪敤鏈哄櫒浜虹數璇濓紝寮�濮嬬數璇濓紙闇�瑕佸皢鍥炶皟鏂规硶浼犲叆锛岃繖涓瓑鈥濈數璇濇柟鈥滃憡璇夋�庝箞浼狅紝鐜板湪鍏堢┖鐫�,杩樻湁绗竴鍙ラ棶棰樿瘽鏈級
+            phoneUtils.ob(uuid, null, ivrTaskcall.getPhone(), null, null, null, null, null, null, null, null);
+            //閫氱煡 MQ 娑堟伅宸茶鎺ユ敹,鍙互ACK(浠庨槦鍒椾腑鍒犻櫎)浜�   锛堣繖涓渶瑕佹牴鎹笟鍔″啀鍘诲鐞咥CK锛�
+
+            channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
 
 
     }

--
Gitblit v1.9.3