From 01c9667cfb06970564e837dc343d5cee0eb3aed7 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期三, 24 四月 2024 17:53:42 +0800
Subject: [PATCH] 代码提交
---
ruoyi-admin/src/main/java/com/ruoyi/web/task/PhoneTask.java | 67 +++++++++++++++++++++------------
1 files changed, 42 insertions(+), 25 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..7f8fbdb 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,58 +1,75 @@
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);
+ synchronized (PhoneTask.class) {
+ 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);
+
+ //璋冪敤鏈哄櫒浜虹數璇濓紝寮�濮嬬數璇濓紙闇�瑕佸皢鍥炶皟鏂规硶浼犲叆锛岃繖涓瓑鈥濈數璇濇柟鈥滃憡璇夋�庝箞浼狅紝鐜板湪鍏堢┖鐫�,杩樻湁绗竴鍙ラ棶棰樿瘽鏈級
+// phoneUtils.ob(uuid, null, ivrTaskcall.getPhone(), null, null, null, null, null, null, null, null);
+ String ob = phoneUtils.ob("", "", "", "", "", "", "", "3001", "", true);
+ System.out.println("OB鐨勫�间负锛�" + ob);
+ //閫氱煡 MQ 娑堟伅宸茶鎺ユ敹,鍙互ACK(浠庨槦鍒椾腑鍒犻櫎)浜� 锛堣繖涓渶瑕佹牴鎹笟鍔″啀鍘诲鐞咥CK锛�
+
+ channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
+ } catch (IOException e) {
+ e.printStackTrace();
}
}
- 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);
-
}
}
--
Gitblit v1.9.3