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