From 0c9ec42a824aa3242fe1e1b8ce372947f2bc9a03 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期一, 29 七月 2024 17:43:06 +0800
Subject: [PATCH] 代码提交
---
ruoyi-admin/src/main/java/com/ruoyi/web/task/PhoneTask.java | 166 +++++++++++++++++++++++++++++++++----------------------
1 files changed, 99 insertions(+), 67 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 771d92a..25be19e 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
@@ -7,92 +7,97 @@
import com.ruoyi.common.utils.uuid.IdUtils;
import com.smartor.common.SendService;
import com.smartor.config.PhoneUtils;
-import com.smartor.config.RabbitMqCallPhoneConfig;
+import com.smartor.config.RobotPhoneUtils;
import com.smartor.domain.*;
-import org.springframework.amqp.core.Message;
-import org.springframework.amqp.rabbit.core.RabbitTemplate;
+import com.smartor.domain.robot.RobotData;
+import com.smartor.domain.robot.RobotDataConfig;
+import com.smartor.domain.robot.RobotIdlenumVO;
+import com.smartor.domain.robot.RobotScritpTemplateVO;
import java.util.*;
import java.util.concurrent.TimeUnit;
public class PhoneTask implements Runnable {
- private IvrTaskSingle ivrTaskSingle;
- private List<IvrLibaTemplateScriptVO> ivrLibaTemplateScriptVO;
+ private ServiceSubtask ivrTaskSingle;
+ private List<IvrTaskTemplateScriptVO> ivrTaskTemplateScriptVO;
private RedisCache redisCache;
- private IvrLibaTemplateVO ivrLibaTemplateVO;
- private RabbitMqCallPhoneConfig rabbitMqCallPhoneConfig;
- private Message message;
+ private IvrTaskTemplateVO ivrTaskTemplateVO;
private SendService sendService;
+ private String phonePath;
+ private RobotPhoneUtils robotPhoneUtils;
- public PhoneTask(IvrTaskSingle ivrTaskSingle, IvrLibaTemplateVO ivrLibaTemplateVO, RedisCache redisCache, RabbitMqCallPhoneConfig rabbitMqCallPhoneConfig, 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);
+ public PhoneTask(ServiceSubtask ivrTaskSingle, IvrTaskTemplateVO ivrTaskTemplateVO, RedisCache redisCache, SendService sendService, String phonePath, RobotPhoneUtils robotPhoneUtils) {
+ this.ivrTaskSingle = DtoConversionUtils.sourceToTarget(ivrTaskSingle, ServiceSubtask.class);
+ this.ivrTaskTemplateScriptVO = DtoConversionUtils.sourceToTarget(ivrTaskTemplateVO.getIvrTaskTemplateScriptVOList(), IvrTaskTemplateScriptVO.class);
+ this.ivrTaskTemplateVO = DtoConversionUtils.sourceToTarget(ivrTaskTemplateVO, IvrTaskTemplateVO.class);
this.redisCache = redisCache;
- this.rabbitMqCallPhoneConfig = rabbitMqCallPhoneConfig;
- this.message = message;
this.sendService = sendService;
+ this.phonePath = phonePath;
+ this.robotPhoneUtils = robotPhoneUtils;
}
@Override
public void run() {
- try {
- //鑾峰彇鐢佃瘽缁勶紝鏌ョ湅鍝簺鐢佃瘽鍙互浣跨敤
- PhoneUtils phoneUtils = new PhoneUtils();
- 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)));
+ if (phonePath.equals("1")) {
+ //涓婃捣鐨勭數璇濇嫧鎵�
+ try {
+ //鑾峰彇鐢佃瘽缁勶紝鏌ョ湅鍝簺鐢佃瘽鍙互浣跨敤
+ PhoneUtils phoneUtils = new PhoneUtils();
+ 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 (IvrTaskTemplateScriptVO ivrTaskTemplateScriptVO : ivrTaskTemplateScriptVO) {
+ for (Map<String, String> map : mapList) {
+ for (String key : map.keySet()) {
+ ivrTaskTemplateScriptVO.setScriptContent(ivrTaskTemplateScriptVO.getScriptContent().replace(key, map.get(key)));
+ }
}
}
}
- }
- Map<String, Object> objectMap = new HashMap<>();
- objectMap.put("ivrTaskSingle", ivrTaskSingle);
- objectMap.put("ivrLibaTemplateScriptVO", ivrLibaTemplateScriptVO);
- //灏嗘暟鎹斁鍒皉edis涓紝鏂逛究鍦ㄥ洖璋冩柟娉曢噷鑾峰彇
- redisCache.setCacheObject(uuid, objectMap, 120, TimeUnit.MINUTES);
+ Map<String, Object> objectMap = new HashMap<>();
+ objectMap.put("ivrTaskSingle", ivrTaskSingle);
+ objectMap.put("ivrTaskTemplateScriptVO", ivrTaskTemplateScriptVO);
+ //灏嗘暟鎹斁鍒皉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(ivrTaskTemplateVO.getRevisitBefore());
+ for (IvrTaskTemplateScriptVO ivrTaskTemplateScriptVO : ivrTaskTemplateScriptVO) {
+ if (ivrTaskTemplateScriptVO.getTargetid() == ivrTaskTemplateVO.getFirstQuestionNum().intValue()) {
+ returnQues.setNowQuestion(ivrTaskTemplateScriptVO);
+ }
}
- }
- returnQues.setQuestionList(ivrLibaTemplateScriptVO);
- //灏嗛棶棰橈紝鍜屾ā鏉夸俊鎭斁鍒皉edis涓�
- redisCache.setCacheObject(uuid + "returnQues", returnQues, 120, TimeUnit.MINUTES);
- redisCache.setCacheObject(uuid + "ivrLibaTemplateVO", ivrLibaTemplateVO, 120, TimeUnit.MINUTES);
+ returnQues.setQuestionList(ivrTaskTemplateScriptVO);
+ //灏嗛棶棰橈紝鍜屾ā鏉夸俊鎭斁鍒皉edis涓�
+ redisCache.setCacheObject(uuid + "returnQues", returnQues, 120, TimeUnit.MINUTES);
+ redisCache.setCacheObject(uuid + "ivrTaskTemplateVO", ivrTaskTemplateVO, 120, TimeUnit.MINUTES);
- System.out.println("----------------uuID涓� 锛�" + uuid + " " + ivrTaskSingle.getSendname() + " " + returnQues.getNowQuestion().getQuestionText() + " " + ivrTaskSingle.getPhone());
+ System.out.println("----------------uuID涓� 锛�" + uuid + " " + ivrTaskSingle.getSendname() + " " + returnQues.getNowQuestion().getScriptContent() + " " + ivrTaskSingle.getPhone());
- //鍏堝皢璇濇湳鏀惧埌ob_queue闃熷垪涓�
- IvrTaskcallPhoneMQ ivrTaskcallPhoneMQ = new IvrTaskcallPhoneMQ();
- ivrTaskcallPhoneMQ.setScript(ivrLibaTemplateVO.getRevisitBefore() + returnQues.getNowQuestion().getQuestionText());
- ivrTaskcallPhoneMQ.setType("1");
- ivrTaskcallPhoneMQ.setUuid(uuid);
- String data = JSON.toJSONString(ivrTaskcallPhoneMQ);
- rabbitMqCallPhoneConfig.sendMessage("phone_exchange", "phone.ob1", data, 0L);
+ //鍏堝皢璇濇湳鏀惧埌ob_queue闃熷垪涓�
+ IvrTaskcallPhoneMQ ivrTaskcallPhoneMQ = new IvrTaskcallPhoneMQ();
+ ivrTaskcallPhoneMQ.setScript(ivrTaskTemplateVO.getRevisitBefore() + returnQues.getNowQuestion().getScriptContent());
+ ivrTaskcallPhoneMQ.setType("1");
+ ivrTaskcallPhoneMQ.setUuid(uuid);
+ String data = JSON.toJSONString(ivrTaskcallPhoneMQ);
+// rabbitMqCallPhoneConfig.sendMessage("phone_exchange", "phone.ob1", data, 0L);
- //璋冪敤鏈哄櫒浜虹數璇濓紝寮�濮嬬數璇�
- String ob = phoneUtils.ob("", "", "", "", "", "", "", ivrTaskSingle.getPhone(), uuid, true);
- System.out.println("----------------uuID涓� 锛�" + uuid + " " + ivrTaskSingle.getSendname() + " " + returnQues.getNowQuestion().getQuestionText() + " " + ivrTaskSingle.getPhone() + "----------宸茬粡鎷ㄦ墦");
- Map<String, String> obMap = objectMapper.readValue(ob, Map.class);
- Thread.sleep(1000);
- redisCache.setCacheObject(uuid + "state_id", "0", 10, TimeUnit.MINUTES);
+ //璋冪敤鏈哄櫒浜虹數璇濓紝寮�濮嬬數璇�
+ String ob = phoneUtils.ob("", "", "", "", "", "", "", ivrTaskSingle.getPhone(), uuid, true);
+ System.out.println("----------------uuID涓� 锛�" + uuid + " " + ivrTaskSingle.getSendname() + " " + returnQues.getNowQuestion().getScriptContent() + " " + ivrTaskSingle.getPhone() + "----------宸茬粡鎷ㄦ墦");
+ Map<String, String> obMap = objectMapper.readValue(ob, Map.class);
+ Thread.sleep(1000);
+ redisCache.setCacheObject(uuid + "state_id", "0", 10, TimeUnit.MINUTES);
+// rabbitMqCallPhoneConfig.sendMessage("phone_exchange", "phone.ob1", data, 0L);
//杩欓噷鍏堟敞閲婏紝state_id,鐢佃瘽閭h竟锛屽彧鑳借繑鍥�6锛屼笉鑳借繑鍥�0锛岃繕闇�瑕佺數璇濋偅杈硅繘琛屼慨鏀癸紝閭h竟淇敼涔嬪悗锛屼笂闈袱琛屽彲鍒犻櫎锛屽皢涓嬮潰鐨勮В寮�娉ㄩ噴
// if (obMap.get("state_id").equals("0")) {
// // 璇存槑鎵撻�氫簡
@@ -103,12 +108,39 @@
// redisCache.setCacheObject(uuid + "state_id", "0", 10, TimeUnit.MINUTES);
// }
// }
+ System.out.println("OB鐨勫�间负锛�" + ob);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ } else if (phonePath.equals("2")) {
+ //鏉窞鐨勭數璇濇嫧鎵�
+ RobotScritpTemplateVO robotScritpTemplateVO = new RobotScritpTemplateVO();
+ robotScritpTemplateVO.setNotes("aa");
+ robotScritpTemplateVO.setBs_uuid(UUID.randomUUID().toString());
+ robotScritpTemplateVO.setDnis(ivrTaskSingle.getPhone());
+ robotScritpTemplateVO.setSpecify_ch(false);
+ robotScritpTemplateVO.setTime_stamp(1566227782278333L);
+ robotScritpTemplateVO.setEngine("ali");
+ robotScritpTemplateVO.setAsr_sample("8000");
+ robotScritpTemplateVO.setAsr_ent("ZurNHpaQLq6P55YS");
+ robotScritpTemplateVO.setTts_ent("ZurNHpaQLq6P55YS");
+ robotScritpTemplateVO.setTts_vcn("Aixia");
+ robotScritpTemplateVO.setTts_volume(100);
+ robotScritpTemplateVO.setTts_speed(-300);
+ robotScritpTemplateVO.setDial_mode("鍛煎彨瀵规帴鏂瑰紡锛孎S娉ㄥ唽鍒扮綉鍏炽�佺綉鍏虫敞鍐屽埌FS銆両P瀵规帴銆両P鏍¢獙璐﹀彿瀵规帴");
+ robotScritpTemplateVO.setDial_server("call_out_group,192.168.2.108:5060");
+ robotScritpTemplateVO.setOutbound_codes("PCMU,PCMA,OPUS,G722");
+ robotScritpTemplateVO.setAuto_test(true);
+ RobotData robotData = new RobotData();
+ RobotDataConfig robotDataConfig = new RobotDataConfig();
+ robotDataConfig.setTemplate_name("inbound_88008001_16k_utf8.json");
+ robotData.setConfig(robotDataConfig);
+ robotScritpTemplateVO.setData(robotData);
-
- System.out.println("OB鐨勫�间负锛�" + ob);
- } catch (Exception e) {
- e.printStackTrace();
-
+ RobotIdlenumVO robotIdlenumVO = DtoConversionUtils.sourceToTarget(robotScritpTemplateVO, RobotIdlenumVO.class);
+// String idlenum = robotPhoneUtils.idlenum(robotIdlenumVO);
+// System.out.println(idlenum);
+ robotPhoneUtils.outbound(robotScritpTemplateVO);
}
}
}
--
Gitblit v1.9.3