From fdf1b9c1e4489a0c2615fa596268b2f71fad7b4c Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期一, 15 四月 2024 09:08:10 +0800 Subject: [PATCH] 代码提交 --- smartor/src/main/java/com/smartor/service/impl/IvrTaskcallServiceImpl.java | 346 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 340 insertions(+), 6 deletions(-) diff --git a/smartor/src/main/java/com/smartor/service/impl/IvrTaskcallServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/IvrTaskcallServiceImpl.java index 86c1ae2..6d4f7bf 100644 --- a/smartor/src/main/java/com/smartor/service/impl/IvrTaskcallServiceImpl.java +++ b/smartor/src/main/java/com/smartor/service/impl/IvrTaskcallServiceImpl.java @@ -1,21 +1,37 @@ package com.smartor.service.impl; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; import com.google.gson.Gson; +import com.ruoyi.common.core.redis.RedisCache; import com.ruoyi.common.exception.base.BaseException; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DtoConversionUtils; +//import com.smartor.config.PhoneUtils; +import com.smartor.config.PhoneUtils; +import com.smartor.config.RabbitMqConfig; import com.smartor.domain.*; +import com.smartor.mapper.IvrLibaExtemplatescriptMapper; +import com.smartor.mapper.IvrLibaTemplateTargetoptionMapper; import com.smartor.mapper.IvrTaskcallMapper; -import com.smartor.mapper.PatTaskRelevanceMapper; import com.smartor.service.IIvrTaskcallService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.amqp.AmqpException; +import org.springframework.amqp.core.Message; +import org.springframework.amqp.core.MessagePostProcessor; +import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.List; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.concurrent.TimeUnit; +import java.util.regex.Matcher; +import java.util.regex.Pattern; /** * 鍗曚竴浠诲姟锛堥殢璁匡級Service涓氬姟灞傚鐞� @@ -30,7 +46,17 @@ private IvrTaskcallMapper ivrTaskcallMapper; @Autowired - private PatTaskRelevanceMapper patTaskRelevanceMapper; + private IvrLibaTemplateTargetoptionMapper ivrLibaScriptTargetoptionMapper; + + @Autowired + private RedisCache redisCache; + + @Autowired + private IvrLibaExtemplatescriptMapper ivrLibaExtemplatescriptMapper; + + @Autowired + private RabbitTemplate rabbitTemplate; + /** * 鏌ヨ鍗曚竴浠诲姟锛堥殢璁匡級 @@ -103,8 +129,8 @@ @Override public int insertOrUpdateTask(IvrTaskcallVO ivrTaskcallVO) { if (ObjectUtils.isEmpty(ivrTaskcallVO)) { - log.info("瀹f暀浠诲姟鍏ュ弬涓虹┖锛岃妫�鏌ュ叆鍙�"); - throw new BaseException("瀹f暀浠诲姟鍏ュ弬涓虹┖锛岃妫�鏌ュ叆鍙�"); + log.info("浠诲姟鍏ュ弬涓虹┖锛岃妫�鏌ュ叆鍙�"); + throw new BaseException("浠诲姟鍏ュ弬涓虹┖锛岃妫�鏌ュ叆鍙�"); } Integer integer = 0; if (ivrTaskcallVO.getIsoperation() != null && ivrTaskcallVO.getIsoperation() == 1) { @@ -120,6 +146,9 @@ ivrTaskcall.setAddr(patTaskRelevance.getAddr()); ivrTaskcall.setCreateTime(DateUtils.getNowDate()); ivrTaskcall.setTextParam(new Gson().toJson(ivrTaskcallVO.getTextParam())); + if (CollectionUtils.isNotEmpty(ivrTaskcallVO.getSendTimeslot())) { + ivrTaskcall.setSendTimeSlot(ivrTaskcallVO.getSendTimeslot().toString()); + } ivrTaskcallMapper.insertIvrTaskcall(ivrTaskcall); integer = ivrTaskcall.getId().intValue(); } @@ -135,8 +164,10 @@ ivrTaskcall.setPhone(patTaskRelevance.getPhone()); ivrTaskcall.setAddr(patTaskRelevance.getAddr()); ivrTaskcall.setCreateTime(DateUtils.getNowDate()); + if (CollectionUtils.isNotEmpty(ivrTaskcallVO.getSendTimeslot())) { + ivrTaskcall.setSendTimeSlot(ivrTaskcallVO.getSendTimeslot().toString()); + } ivrTaskcall.setTextParam(new Gson().toJson(ivrTaskcallVO.getTextParam())); - ivrTaskcallMapper.updateIvrTaskcall(ivrTaskcall); integer = ivrTaskcall.getId().intValue(); } @@ -150,4 +181,307 @@ return integer; } + /** + * 浠诲姟鍙戦�� + * + * @return + */ + @Override + public int heTaskSend(IvrTaskcallVO ivrTaskcallVO) { + //鍒ゆ柇浠诲姟鏄惁鏄珛鍗冲彂閫� + if (ivrTaskcallVO.getSendType().equals("2") && ivrTaskcallVO.getSendstate() == 1) { + IvrTaskcallMQ ivrTaskcallMQ = new IvrTaskcallMQ(); + ivrTaskcallMQ.setTaskid(ivrTaskcallVO.getTaskid()); + ivrTaskcallMQ.setSendType("1"); + ivrTaskcallMQ.setTemplateid(ivrTaskcallVO.getTemplateid()); + + //绔嬪嵆鍙戦�� + rabbitTemplate.convertAndSend(RabbitMqConfig.phone_exchange, RabbitMqConfig.routing_key, new Gson().toJson(ivrTaskcallMQ), message -> { + //娉ㄦ剰杩欓噷鏃堕棿鍙互浣縧ong锛岃�屼笖鏄缃甴eader + message.getMessageProperties().setHeader("x-delay", 0); + return message; + }); + } else if (ivrTaskcallVO.getSendType().equals("2") && ivrTaskcallVO.getSendstate() == 1) { + //鏃堕棿娈靛彂閫� + if (CollectionUtils.isNotEmpty(ivrTaskcallVO.getSendTimeslot())) { + for (TaskSendTimeVO taskSendTimeVO : ivrTaskcallVO.getSendTimeslot()) { + List<TaskSendTimeVO> list = new ArrayList<>(); + list.add(taskSendTimeVO); + + //鑾峰彇寮�濮嬪彂閫佹椂闂� + String begantime = taskSendTimeVO.getBegantime(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + //璁板綍鐩墠鍒板彂閫佹椂闂寸殑姣鍊� 锛堝彂閫佹椂闂寸殑姣鍊� - 褰撳墠鏃堕棿鐨勬绉掑�硷級 + Long milliseconds = 1000L; + try { + Date date = sdf.parse(begantime); + milliseconds = date.getTime() - System.currentTimeMillis(); + System.out.println("鏃ユ湡姣鏁帮細" + milliseconds); + } catch (Exception e) { + e.printStackTrace(); + } + IvrTaskcallMQ ivrTaskcallMQ = new IvrTaskcallMQ(); + ivrTaskcallMQ.setTaskid(ivrTaskcallVO.getTaskid()); + ivrTaskcallMQ.setSendType("2"); + ivrTaskcallMQ.setTemplateid(ivrTaskcallVO.getTemplateid()); + ivrTaskcallMQ.setSendTimeslot(list); + + Long finalMilliseconds = milliseconds; + rabbitTemplate.convertAndSend(RabbitMqConfig.phone_exchange, RabbitMqConfig.routing_key, new Gson().toJson(ivrTaskcallMQ), message -> { + //娉ㄦ剰杩欓噷鏃堕棿鍙互浣縧ong锛岃�屼笖鏄缃甴eader + message.getMessageProperties().setHeader("x-delay", finalMilliseconds); + return message; + }); + } + } + } + + return 0; + } + + @Override + public PhoneCallBackVO phoneCallBack(PhoneCallBackVO phoneCallBackVO) { + log.info("phoneCallBackVO鐨勫叆鍙傦細{},{},{},{},{},{},{}", phoneCallBackVO.getResultType(), phoneCallBackVO.getUuid(), phoneCallBackVO.getErrResult(), phoneCallBackVO.getTextResult(), phoneCallBackVO.getHangUpResult(), phoneCallBackVO.getEnumState(), phoneCallBackVO.getUint8()); + //鑾峰彇鏁版嵁 + Boolean aBoolean = redisCache.hasKey(phoneCallBackVO.getUuid()); + if (!aBoolean) { + new BaseException("璇uid涓嶅瓨鍦�"); + } + Integer hangupValue = redisCache.getCacheObject(phoneCallBackVO.getUuid() + "hangup"); + if (hangupValue != null && hangupValue == 1) { + //hangupValue == 1 闅忚缁撴潫锛岀洿鎺ュ彲浠ユ寕鐢佃瘽 + PhoneUtils phoneUtils = new PhoneUtils(); + phoneUtils.hangup(phoneCallBackVO.getUuid(), null, null, null, null, null, null, null); + + } + + String cacheObject = redisCache.getCacheObject(phoneCallBackVO.getUuid()); + ObjectMapper objectMapper = new ObjectMapper(); + Map<String, Object> map = null; + try { + map = objectMapper.readValue(cacheObject, Map.class); + } catch (JsonProcessingException e) { + e.printStackTrace(); + } + + IvrTaskcall ivrTaskcall = (IvrTaskcall) map.get("ivrTaskcall"); + List<IvrLibaTemplateScriptVO> ivrLibaTemplateScriptVOs = (List<IvrLibaTemplateScriptVO>) map.get("ivrLibaTemplateScriptVO"); + //灏唘uid鏇存柊鍒版暟鎹簱涓� + ivrTaskcall.setSenduuid(phoneCallBackVO.getUuid()); + ivrTaskcallMapper.updateIvrTaskcall(ivrTaskcall); + + //鑾峰彇妯℃澘淇℃伅 + IvrLibaTemplateVO ivrLibaTemplateVO = redisCache.getCacheObject(phoneCallBackVO.getUuid() + "ivrLibaTemplateVO"); + + + //棣栧厛鍒ゆ柇resultType + if (phoneCallBackVO.getResultType() == 1) { + //鍛煎彨缁撴灉鎺ュ彛: 1 + if (phoneCallBackVO.getUint8() == 1) { + //鍛煎彨澶辫触锛屽幓redis涓褰曚竴涓嬪け璐ユ鏁帮紝杩涜鍐嶆鍛煎彨 + Integer integer = redisCache.getCacheObject(phoneCallBackVO.getUuid() + "uint8"); + if (integer != null) { + redisCache.setCacheObject(phoneCallBackVO.getUuid() + "uint8", integer + 1, 120, TimeUnit.MINUTES); + } else { + redisCache.setCacheObject(phoneCallBackVO.getUuid() + "uint8", 1, 120, TimeUnit.MINUTES); + } + + if (integer != null && integer == ivrTaskcall.getRecallcount().intValue()) { + log.info("鏃犱汉鎺ュ惉锛歿}, {}", phoneCallBackVO.getErrResult(), phoneCallBackVO.getUuid()); + //杩炵画鎵撹瀹氭锛屽鏋滆娌′汉鎺ワ紝閭e氨缁撴潫 + ivrTaskcall.setResult(phoneCallBackVO.getErrResult()); + ivrTaskcallMapper.updateIvrTaskcall(ivrTaskcall); + redisCache.deleteObject(phoneCallBackVO.getUuid() + "uint8"); + } else if (integer != null && integer < ivrTaskcall.getRecallcount().intValue()) { + //杩涜閲嶆嫧 + PhoneUtils phoneUtils = new PhoneUtils(); + phoneUtils.ob(phoneCallBackVO.getUuid(), null, ivrTaskcall.getPhone(), null, null, null, null, null, null, null, null); + } + } + + } else if (phoneCallBackVO.getResultType() == 2) { + //閫氳瘽鐘舵�佹洿鏂版帴鍙�: 2 + if (phoneCallBackVO.getEnumState() == 0) { + // 0-鎸搩 + Integer integer = redisCache.getCacheObject(phoneCallBackVO.getUuid() + "enumState"); + + if (integer != null && integer < ivrTaskcall.getRecallcount().intValue()) { + redisCache.setCacheObject(phoneCallBackVO.getUuid() + "enumState", integer + 1, 120, TimeUnit.MINUTES); + } else if (integer == null) { + redisCache.setCacheObject(phoneCallBackVO.getUuid() + "enumState", 1, 120, TimeUnit.MINUTES); + } else if (integer != null && integer == ivrTaskcall.getRecallcount().intValue()) { + ivrTaskcall.setResult("鏃犱汉鎺ュ惉"); + ivrTaskcallMapper.updateIvrTaskcall(ivrTaskcall); + redisCache.deleteObject(phoneCallBackVO.getUuid() + "enumState"); + } + } else if (phoneCallBackVO.getEnumState() == 2) { + //鎮h�呮寕鏂數璇� + log.info("鎮h�呮寕鏂數璇濓細{}", phoneCallBackVO.getUuid()); + ivrTaskcall.setResult(phoneCallBackVO.getHangUpResult()); + ivrTaskcallMapper.updateIvrTaskcall(ivrTaskcall); + redisCache.deleteObject(phoneCallBackVO.getUuid() + "enumState"); + } + + + } else if (phoneCallBackVO.getResultType() == 3) { + //璇煶璇嗗埆缁撴灉涓婃姤鎺ュ彛: 3 + Integer noVoice = redisCache.getCacheObject(phoneCallBackVO.getUuid() + "noVoice"); + QuestionMessage returnQues = redisCache.getCacheObject(phoneCallBackVO.getUuid() + "returnQues"); + IvrLibaTemplateScriptVO nowQuestion = returnQues.getNowQuestion(); + PhoneUtils phoneUtils = new PhoneUtils(); + + if (StringUtils.isEmpty(phoneCallBackVO.getTextResult())) { + //鏃犲洖璇� + //鍒ゆ柇noVoice鏄惁宸茬粡鍒颁簡鏈�澶у�� + if (noVoice == ivrLibaTemplateVO.getNoVoiceNum().intValue()) { + //宸茬粡闂簡瀵瑰簲鐨勯亶鏁帮紝灏卞垽鏂槸鍚﹁繕鏈変笅涓�棰� + if (nowQuestion.getTargetid() == ivrLibaTemplateScriptVOs.size()) { + //娌℃湁涓嬩竴棰樹簡锛屽氨鎸傛柇鐢佃瘽锛屾挱鏀剧粨鏉熻 + redisCache.setCacheObject(phoneCallBackVO.getUuid() + "hangup", 1, 120, TimeUnit.MINUTES); + phoneUtils.ttsPlayback(ivrLibaTemplateVO.getRevisitAfter(), phoneCallBackVO.getUuid()); + } else { + //鏈変笅涓�棰� + redisCache.setCacheObject(phoneCallBackVO.getUuid() + "noVoice", 0, 120, TimeUnit.MINUTES); + IvrLibaTemplateScriptVO nextQuestion = getNextQuestion(ivrLibaTemplateScriptVOs, nowQuestion); + // 闂锛� 鍘昏皟鐢ㄢ�渢ts鍚堟垚鍜屾挱鏀锯�濇帴鍙� + phoneUtils.ttsPlayback(nowQuestion.getQuestionText(), phoneCallBackVO.getUuid()); + } + } else { + redisCache.setCacheObject(phoneCallBackVO.getUuid() + "noVoice", noVoice + 1, 120, TimeUnit.MINUTES); + //璋冪敤ivrLibaTemplateScriptVO涓殑slienceText(闈欓粯璇濇湳) + String slienceText = nowQuestion.getSlienceText(); + //闈欓粯璇濇湳 + 闂锛� 鍘昏皟鐢ㄢ�渢ts鍚堟垚鍜屾挱鏀锯�濇帴鍙� + phoneUtils.ttsPlayback(slienceText + nowQuestion.getQuestionText(), phoneCallBackVO.getUuid()); + return new PhoneCallBackVO(); + } + + } else { + //鏈夊洖璇濓紝瀵瑰洖绛旂殑闂,杩涜姝e垯鍖归厤锛堣繖閲屽彧閽堝閫夋嫨棰橈紝鍏跺畠棰樺瀷涓嶈锛� + for (int j = 0; j < nowQuestion.getIvrLibaScriptTargetoptionList().size(); j++) { + //鍖呭惈 + Matcher matcher = null; + if (StringUtils.isNotEmpty(nowQuestion.getIvrLibaScriptTargetoptionList().get(j).getTargetregex())) { + Pattern pattern = Pattern.compile(nowQuestion.getIvrLibaScriptTargetoptionList().get(j).getTargetregex()); + matcher = pattern.matcher(phoneCallBackVO.getTextResult()); + } + //涓嶅寘鍚� + Matcher matcher2 = null; + if (StringUtils.isNotEmpty(nowQuestion.getIvrLibaScriptTargetoptionList().get(j).getTargetregex2())) { + Pattern pattern2 = Pattern.compile(nowQuestion.getIvrLibaScriptTargetoptionList().get(j).getTargetregex2()); + matcher2 = pattern2.matcher(phoneCallBackVO.getTextResult()); + } + log.info("phoneCallBack--Targetregex鐨勫�间负锛歿}, phoneCallBack--Targetregex2鐨勫�间负锛歿}", nowQuestion.getIvrLibaScriptTargetoptionList().get(j).getTargetregex(), nowQuestion.getIvrLibaScriptTargetoptionList().get(j).getTargetregex2()); + if (StringUtils.isNotEmpty(nowQuestion.getIvrLibaScriptTargetoptionList().get(j).getTargetregex()) && matcher.matches() && StringUtils.isNotEmpty(nowQuestion.getIvrLibaScriptTargetoptionList().get(j).getTargetregex2()) && matcher2.matches() || StringUtils.isEmpty(nowQuestion.getIvrLibaScriptTargetoptionList().get(j).getTargetregex()) && StringUtils.isNotEmpty(nowQuestion.getIvrLibaScriptTargetoptionList().get(j).getTargetregex2()) && matcher2.matches() || StringUtils.isEmpty(nowQuestion.getIvrLibaScriptTargetoptionList().get(j).getTargetregex2()) && StringUtils.isNotEmpty(nowQuestion.getIvrLibaScriptTargetoptionList().get(j).getTargetregex()) && matcher.matches()) { + //璇存槑鍖归厤姝g‘浜� + //杩欓噷搴旇鍏堝垽鏂被鍨嬶紝鍘诲啀淇敼锛岃缃甀sUserOperation鏄崟閫夐鐨勬敼娉� + nowQuestion.getIvrLibaScriptTargetoptionList().get(j).setIsUserOperation(true); + ivrLibaScriptTargetoptionMapper.updateIvrLibaTemplateTargetoption(nowQuestion.getIvrLibaScriptTargetoptionList().get(j)); + + + //灏嗛潤榛樼疆涓�0 + redisCache.setCacheObject(phoneCallBackVO.getUuid() + "noVoice", 0, 120, TimeUnit.MINUTES); + redisCache.setCacheObject(phoneCallBackVO.getUuid() + "mateNum", 0, 120, TimeUnit.MINUTES); + //鑾峰彇涓嬩竴棰� + Integer nextQuestion = nowQuestion.getIvrLibaScriptTargetoptionList().get(j).getNextQuestion(); + for (IvrLibaTemplateScriptVO script : ivrLibaTemplateScriptVOs) { + if (script.getTargetid() == nextQuestion) { + QuestionMessage questionMessage = new QuestionMessage(); + questionMessage.setNowQuestion(script); + questionMessage.setQuestionList(ivrLibaTemplateScriptVOs); + redisCache.setCacheObject(phoneCallBackVO.getUuid() + "returnQues", questionMessage, 120, TimeUnit.MINUTES); + break; + } + } + break; + } else { + //娌℃湁鍖归厤鍒� + Integer mateNum = redisCache.getCacheObject(phoneCallBackVO.getUuid() + "mateNum"); + //鏃犲尮閰嶆鏁板幓鍒ゆ柇鏄惁鍒版渶澶ц闂鏁帮紝骞朵笖鎵�鏈夌殑閫夐」閮藉尮閰嶅畬浜� + if (mateNum == ivrLibaTemplateVO.getMateNum().intValue() && j == nowQuestion.getIvrLibaScriptTargetoptionList().size() - 1) { + //濡傛灉涓嬩竴棰樹负绌�.鍒欐柊鐨勬暟鎹繑鍥�,骞跺姞涓婃劅璋㈣ + if (nowQuestion.getTargetid() < ivrLibaTemplateScriptVOs.size()) { + QuestionMessage questionMessage = new QuestionMessage(); + IvrLibaTemplateScriptVO nextQuestion = getNextQuestion(ivrLibaTemplateScriptVOs, nowQuestion); + questionMessage.setQuestionList(ivrLibaTemplateScriptVOs); + questionMessage.setNowQuestion(nextQuestion); + redisCache.setCacheObject(phoneCallBackVO.getUuid() + "returnQues", questionMessage, 120, TimeUnit.MINUTES); + redisCache.setCacheObject(phoneCallBackVO.getUuid() + "mateNum", 0, 120, TimeUnit.MINUTES); + } else { + //灏卞彲浠ユ寕鏂數璇濅簡 + redisCache.setCacheObject(phoneCallBackVO.getUuid() + "hangup", 1, 120, TimeUnit.MINUTES); + phoneUtils.ttsPlayback(ivrLibaTemplateVO.getRevisitAfter(), phoneCallBackVO.getUuid()); + break; + } + } else if (mateNum < ivrLibaTemplateVO.getMateNum().intValue() && j == nowQuestion.getIvrLibaScriptTargetoptionList().size() - 1) { + //娌℃湁闂埌瑙勫畾娆℃暟 + mateNum = mateNum + 1; + redisCache.setCacheObject(phoneCallBackVO.getUuid() + "mateNum", mateNum, 120, TimeUnit.MINUTES); + } + } + + } + //閫夐」鍖归厤瀹屾垚鍚庯紝闇�瑕佸啀鍘婚�氳繃搴撳啀杩涜鍖归厤涓�娆� + String extemplateID = ivrLibaTemplateVO.getSubmoduleID(); + String[] split = extemplateID.split(","); + List<String> list = Arrays.asList(split); + List<Long> list1 = new ArrayList<>(); + if (StringUtils.isNotEmpty(extemplateID)) { + for (String str : list) { + list1.add(Long.valueOf(str)); + } + List<IvrLibaExtemplatescript> ivrLibaExtemplatescripts = ivrLibaExtemplatescriptMapper.queryIvrLibaExtemplatescriptList(list1); + for (IvrLibaExtemplatescript ivrLibaExtemplatescript : ivrLibaExtemplatescripts) { + Matcher matcher = null; + if (StringUtils.isNotEmpty(ivrLibaExtemplatescript.getSelfRegex())) { + Pattern pattern = Pattern.compile(ivrLibaExtemplatescript.getSelfRegex()); + matcher = pattern.matcher(returnQues.getContent()); + } + + Matcher matcher2 = null; + if (StringUtils.isNotEmpty(ivrLibaExtemplatescript.getSelfRegex2())) { + Pattern pattern2 = Pattern.compile(ivrLibaExtemplatescript.getSelfRegex2()); + matcher2 = pattern2.matcher(returnQues.getContent()); + } + log.info("++++++++++++++++++++++++++閫氱敤搴撴槸鍚︿负绌猴細selfRegex : {} , selfRegex2 : {}", ivrLibaExtemplatescript.getSelfRegex(), ivrLibaExtemplatescript.getSelfRegex2()); + if (StringUtils.isNotEmpty(ivrLibaExtemplatescript.getSelfRegex()) && matcher.matches() && StringUtils.isNotEmpty(ivrLibaExtemplatescript.getSelfRegex2()) && matcher2.matches() || StringUtils.isEmpty(ivrLibaExtemplatescript.getSelfRegex()) && StringUtils.isNotEmpty(ivrLibaExtemplatescript.getSelfRegex2()) && matcher2.matches() || StringUtils.isEmpty(ivrLibaExtemplatescript.getSelfRegex2()) && StringUtils.isNotEmpty(ivrLibaExtemplatescript.getSelfRegex()) && matcher.matches()) { + QuestionMessage questionMessage = redisCache.getCacheObject(phoneCallBackVO.getUuid() + "returnQues"); + IvrLibaTemplateScriptVO ivrLibaTemplateScriptVO = returnQues.getNowQuestion(); + ivrLibaTemplateScriptVO.setSubmoduleText(ivrLibaExtemplatescript.getSwitchText()); + ivrLibaTemplateScriptVO.setSubmoduleVoice(ivrLibaExtemplatescript.getSwitchWav()); + redisCache.setCacheObject(phoneCallBackVO.getUuid() + "returnQues", questionMessage, 120, TimeUnit.MINUTES); + if (ivrLibaExtemplatescript.getIsEnd() == 1) { + //灏嗛棶棰樼疆绌� + IvrLibaTemplateScriptVO nowQuestion1 = questionMessage.getNowQuestion(); + nowQuestion1.setQuestionText(null); + nowQuestion1.setQuestionVoice(null); + questionMessage.setNowQuestion(nowQuestion1); + redisCache.setCacheObject(phoneCallBackVO.getUuid() + "returnQues", questionMessage, 120, TimeUnit.MINUTES); + + redisCache.setCacheObject(phoneCallBackVO.getUuid() + "isOver", 1, 120, TimeUnit.MINUTES); + } + + //璋冪敤鈥�15銆乼ts鍚堟垚鍜屾挱鏀撅紝 tts_playback鈥濆皢缁撴灉浼犲洖 + + + } + break; + } + } + + } + } + return phoneCallBackVO; + } + + private IvrLibaTemplateScriptVO getNextQuestion(List<IvrLibaTemplateScriptVO> ivrLibaTemplateScriptVOList, IvrLibaTemplateScriptVO ivrLibaTemplateScriptVO) { + + for (int j = 0; j < ivrLibaTemplateScriptVOList.size(); j++) { + if (ivrLibaTemplateScriptVOList.get(j).getTargetid() == ivrLibaTemplateScriptVO.getTargetid() + 1) { + // 瀵硅鏉emplateScriptVO杩涜澶勭悊 + return ivrLibaTemplateScriptVOList.get(j); + } + } + return null; + } + } -- Gitblit v1.9.3