From bb60b5747d5f4b85655a541d4990ec7464497b1b Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期五, 10 五月 2024 18:18:02 +0800 Subject: [PATCH] 代码提交 --- ruoyi-admin/src/main/java/com/ruoyi/web/task/PhoneTask.java | 63 ++++++++++++++++++++----------- 1 files changed, 40 insertions(+), 23 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 babadc5..d719abf 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,39 +1,37 @@ package com.ruoyi.web.task; -import com.alibaba.fastjson2.JSON; import com.fasterxml.jackson.databind.ObjectMapper; import com.rabbitmq.client.Channel; import com.ruoyi.common.core.redis.RedisCache; +import com.ruoyi.common.utils.DtoConversionUtils; import com.ruoyi.common.utils.uuid.IdUtils; +import com.smartor.common.SendService; import com.smartor.config.PhoneUtils; -import com.smartor.domain.IvrLibaTemplateScriptVO; -import com.smartor.domain.IvrLibaTemplateVO; -import com.smartor.domain.IvrTaskSingle; -import com.smartor.domain.QuestionMessage; -import com.smartor.mapper.IvrTaskSingleMapper; +import com.smartor.domain.*; import org.springframework.amqp.core.Message; +import org.springframework.data.convert.Jsr310Converters; -import java.io.IOException; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.concurrent.TimeUnit; public class PhoneTask implements Runnable { - private IvrTaskSingle ivrTaskcall; + private IvrTaskSingle ivrTaskSingle; private List<IvrLibaTemplateScriptVO> ivrLibaTemplateScriptVO; private RedisCache redisCache; private IvrLibaTemplateVO ivrLibaTemplateVO; private Channel channel; private Message message; + private SendService sendService; - public PhoneTask(IvrTaskSingle ivrTaskcall, IvrLibaTemplateVO ivrLibaTemplateVO, RedisCache redisCache, Channel channel, Message message) { - this.ivrTaskcall = ivrTaskcall; - this.ivrLibaTemplateScriptVO = ivrLibaTemplateVO.getIvrLibaTemplateScriptVOList(); - this.ivrLibaTemplateVO = ivrLibaTemplateVO; + + public PhoneTask(IvrTaskSingle ivrTaskSingle, IvrLibaTemplateVO ivrLibaTemplateVO, RedisCache redisCache, Channel channel, Message message, SendService sendService) { + this.ivrTaskSingle = DtoConversionUtils.sourceToTarget(ivrTaskSingle, IvrTaskSingle.class); + this.ivrLibaTemplateScriptVO = DtoConversionUtils.sourceToTarget(ivrLibaTemplateVO.getIvrLibaTemplateScriptVOList(), IvrLibaTemplateScriptVO.class); + this.ivrLibaTemplateVO = DtoConversionUtils.sourceToTarget(ivrLibaTemplateVO, IvrLibaTemplateVO.class); this.redisCache = redisCache; this.channel = channel; this.message = message; + this.sendService = sendService; } @Override @@ -42,9 +40,26 @@ try { //鑾峰彇鐢佃瘽缁勶紝鏌ョ湅鍝簺鐢佃瘽鍙互浣跨敤 PhoneUtils phoneUtils = new PhoneUtils(); - String uuid = IdUtils.randomUUID(); + final String uuid = IdUtils.randomUUID(); + //鑾峰彇鎵�鏈夌殑鈥滈�氶厤绗︹�濋敭鍊煎 + ObjectMapper objectMapper = new ObjectMapper(); + Map<String, Map<String, String>> ivrTaskSingleMmap = objectMapper.readValue(ivrTaskSingle.getTextParam(), Map.class); + List<Map<String, String>> mapList = new ArrayList<>(); + if (!Objects.isNull(ivrTaskSingleMmap)) { + for (Map<String, String> map : ivrTaskSingleMmap.values()) { + mapList.add(map); + } + //灏嗘ā鏉块棶棰樿瘽鏈噷鐨勯�氶厤绗︽浛鎹� + for (IvrLibaTemplateScriptVO ivrLibaTemplateScriptVO : ivrLibaTemplateScriptVO) { + for (Map<String, String> map : mapList) { + for (String key : map.keySet()) { + ivrLibaTemplateScriptVO.setQuestionText(ivrLibaTemplateScriptVO.getQuestionText().replace(key, map.get(key))); + } + } + } + } Map<String, Object> objectMap = new HashMap<>(); - objectMap.put("ivrTaskcall", ivrTaskcall); + objectMap.put("ivrTaskSingle", ivrTaskSingle); objectMap.put("ivrLibaTemplateScriptVO", ivrLibaTemplateScriptVO); //灏嗘暟鎹斁鍒皉edis涓紝鏂逛究鍦ㄥ洖璋冩柟娉曢噷鑾峰彇 redisCache.setCacheObject(uuid, objectMap, 120, TimeUnit.MINUTES); @@ -62,16 +77,18 @@ redisCache.setCacheObject(uuid + "returnQues", returnQues, 120, TimeUnit.MINUTES); redisCache.setCacheObject(uuid + "ivrLibaTemplateVO", ivrLibaTemplateVO, 120, TimeUnit.MINUTES); + System.out.println("----------------uuID涓� 锛�" + uuid + " " + ivrTaskSingle.getSendname() + " " + returnQues.getNowQuestion().getQuestionText() + " " + ivrTaskSingle.getPhone()); + //璋冪敤鏈哄櫒浜虹數璇濓紝寮�濮嬬數璇濓紙闇�瑕佸皢鍥炶皟鏂规硶浼犲叆锛岃繖涓瓑鈥濈數璇濇柟鈥滃憡璇夋�庝箞浼狅紝鐜板湪鍏堢┖鐫�,杩樻湁绗竴鍙ラ棶棰樿瘽鏈級 - String ob = phoneUtils.ob("", "", "", "", "", "", "", ivrTaskcall.getPhone(), uuid, true); + String ob = phoneUtils.ob("", "", "", "", "", "", "", ivrTaskSingle.getPhone(), uuid, true); System.out.println("OB鐨勫�间负锛�" + ob); //閫氫簡涔嬪悗锛岀珛椹幓璋冨紑鍦虹櫧 - phoneUtils.ttsPlayback(ivrLibaTemplateVO.getRevisitBefore()+returnQues.getNowQuestion().getQuestionText(), uuid); + System.out.println("闂鐨勫�间负锛�" + returnQues.getNowQuestion().getQuestionText() + " " + uuid); + phoneUtils.ttsPlayback(ivrLibaTemplateVO.getRevisitBefore() + returnQues.getNowQuestion().getQuestionText(), uuid); - //閫氱煡 MQ 娑堟伅宸茶鎺ユ敹,鍙互ACK(浠庨槦鍒椾腑鍒犻櫎)浜� 锛堣繖涓渶瑕佹牴鎹笟鍔″啀鍘诲鐞咥CK锛� - - channel.basicAck(message.getMessageProperties().getDeliveryTag(), false); - } catch (IOException e) { +// //閫氱煡 MQ 娑堟伅宸茶鎺ユ敹,鍙互ACK(浠庨槦鍒椾腑鍒犻櫎)浜� 锛堣繖涓渶瑕佹牴鎹笟鍔″啀鍘诲鐞咥CK锛� +// channel.basicAck(message.getMessageProperties().getDeliveryTag(), false); + } catch (Exception e) { e.printStackTrace(); } } -- Gitblit v1.9.3