From 5d1d54e83546ba9fc85c69b32287883d04f4a475 Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期五, 01 十一月 2024 18:56:13 +0800 Subject: [PATCH] 代码提交 --- smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java | 79 ++++++++++++++++++++++++++++++--------- 1 files changed, 60 insertions(+), 19 deletions(-) diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java index c55649a..c1286ec 100644 --- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java +++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java @@ -368,7 +368,7 @@ serviceSubtask.setSendname(patTaskRelevance.getName()); serviceSubtask.setAge(patTaskRelevance.getAge()); serviceSubtask.setSfzh(patTaskRelevance.getSfzh()); - serviceSubtask.setPhone(patTaskRelevance.getPhone()); + serviceSubtask.setPhone(patTaskRelevance.getTelcode()); serviceSubtask.setAddr(patTaskRelevance.getAddr()); serviceSubtask.setPatid(patTaskRelevance.getPatid()); serviceSubtask.setOpenid(patTaskRelevance.getOpenid()); @@ -702,9 +702,12 @@ return phoneCallBackYQVO; } //鑾峰彇鏀鹃煶鏄惁缁撴潫 - boolean isPlayEventOver = redisCache.getCacheObject(phoneCallReqYQVO.getUuid() + "PlayEventCallbackPlaystop"); - if (!isPlayEventOver) { - return phoneCallBackYQVO; + Object isPlayEventOverObj = redisCache.getCacheObject(phoneCallReqYQVO.getUuid() + "PlayEventCallbackPlaystop"); + if (ObjectUtils.isNotEmpty(isPlayEventOverObj)) { + Boolean isPlayEventOver = (Boolean) isPlayEventOverObj; + if (!isPlayEventOver) { + return phoneCallBackYQVO; + } } //閫氳繃瀛愪换鍔D鑾峰彇鍒版ā鏉夸俊鎭� @@ -764,7 +767,7 @@ serviceSubtask.setFinishtime(new Date()); serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); Map<String, String> map = delRedisValue(null, id.toString()); - redisCache.setCacheObject(map.get("cacheName"), map.get("val")); + if (ObjectUtils.isNotEmpty(map)) redisCache.setCacheObject(map.get("cacheName"), map.get("val")); redisCache.deleteObject(serviceSubtask.getId() + "-" + serviceSubtask.getPhone()); redisCache.deleteObject(phoneCallReqYQVO.getUuid() + "SCORE"); redisCache.deleteObject(phoneCallReqYQVO.getUuid() + "PlayEventCallbackPlaystop"); @@ -817,7 +820,15 @@ //鍦╮edis涓繚瀛樹竴涓嬬粨鏉熻锛屽湪璋冪敤鎸傜數璇濈殑鏂规硶鏃跺垹闄� ServiceTask serviceTask = serviceTaskService.selectServiceTaskByTaskid(serviceSubtask.getTaskid()); redisCache.setCacheObject(phoneCallReqYQVO.getUuid() + "- jsy", serviceTask.getJsy(), 120, TimeUnit.MINUTES); - phoneCallBackYQVO.setValue(phoneCallBackYQVO.getCommonValue() + serviceTask.getJsy()); + phoneCallBackYQVO.setType("text"); + phoneCallBackYQVO.setValue(phoneCallBackYQVO.getCommonValue() + les.getSwitchText()); + //灏嗙粨鏋滃啓杩沝etail琛� + ServiceSubTaskDetailReq serviceSubTaskDetailReq = new ServiceSubTaskDetailReq(); + List<ServiceSubtaskDetail> serviceSubtaskDetailList = new ArrayList<>(); + ivrTaskTemplateScriptVO.setExtemplateText(les.getSwitchText()); + serviceSubtaskDetailList.add(getServiceSubtaskDetail(phoneCallReqYQVO, ivrTaskTemplateScriptVO, serviceSubtask, ivrTaskTemplate)); + serviceSubTaskDetailReq.setServiceSubtaskDetailList(serviceSubtaskDetailList); + saveQuestionAnswerPhone(serviceSubTaskDetailReq); return phoneCallBackYQVO; } } @@ -859,6 +870,20 @@ serviceSubtaskDetailList.add(getServiceSubtaskDetail(phoneCallReqYQVO, ivrTaskTemplateScriptVO, serviceSubtask, ivrTaskTemplate)); serviceSubTaskDetailReq.setServiceSubtaskDetailList(serviceSubtaskDetailList); saveQuestionAnswerPhone(serviceSubTaskDetailReq); + //鍒ゆ柇涓�涓嬶紝杩欎釜閫夐」缁撴灉鏄笉鏄繕鏈夌户缁棶涓嬪幓鐨勫繀瑕侊紝渚嬪閫夐」缁撴灉鏄埆浜轰笉鎯崇户缁洖绛旈棶棰橈紝灏辫缁撴潫鎺� + if (ivrTaskTemplateScriptVO.getIvrTaskScriptTargetoptionList().get(j).getIsEnd() == 1) { + redisCache.deleteObject(serviceSubtask.getId() + "-" + serviceSubtask.getPhone()); + redisCache.deleteObject(phoneCallReqYQVO.getUuid() + "SCORE"); + redisCache.deleteObject(phoneCallReqYQVO.getUuid() + "PlayEventCallbackPlaystop"); + redisCache.deleteObject(phoneCallReqYQVO.getUuid() + "noVoice"); + //鍦╮edis涓繚瀛樹竴涓嬬粨鏉熻锛屽湪璋冪敤鎸傜數璇濈殑鏂规硶鏃跺垹闄� + ServiceTask serviceTask = serviceTaskService.selectServiceTaskByTaskid(serviceSubtask.getTaskid()); + redisCache.setCacheObject(phoneCallReqYQVO.getUuid() + "- jsy", serviceTask.getJsy(), 120, TimeUnit.MINUTES); + phoneCallBackYQVO.setType("text"); + phoneCallBackYQVO.setValue(phoneCallBackYQVO.getCommonValue() + serviceTask.getJsy()); + return phoneCallBackYQVO; + } + flag = 1; //灏嗗綋鍓嶅墠鐨勬挱鎶ョ姸鎬佸垹闄わ紝缁欎笅涓�棰樿浣� redisCache.deleteObject(phoneCallReqYQVO.getUuid() + "PlayEventCallbackPlaystop"); @@ -899,7 +924,9 @@ phoneCallBackYQVO.setType("text"); phoneCallBackYQVO.setSilent_interval(ivrTaskTemplate.getSilencetime().intValue()); //鏇存柊涓�涓嬪垎鏁� - double score = redisCache.getCacheObject(phoneCallReqYQVO.getUuid() + "SCORE"); + double score = 0.0; + Object scoreObj = redisCache.getCacheObject(phoneCallReqYQVO.getUuid() + "SCORE"); + if (ObjectUtils.isNotEmpty(scoreObj)) score = (double) scoreObj; serviceSubtask.setScore(BigDecimal.valueOf(score)); serviceSubtask.setFinishtime(new Date()); serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); @@ -907,7 +934,9 @@ phoneCallBackYQVO.setValue(phoneCallBackYQVO.getCommonValue() + serviceTask1.getJsy()); Long id = serviceSubtask.getId(); Map<String, String> map = delRedisValue(null, id.toString()); - redisCache.setCacheObject(map.get("cacheName"), map.get("val")); + log.error("map鐨勫�间负锛歿}", map); + if (ObjectUtils.isNotEmpty(map)) + redisCache.setCacheObject(map.get("cacheName"), map.get("val")); redisCache.deleteObject(serviceSubtask.getId() + "-" + serviceSubtask.getPhone()); redisCache.deleteObject(phoneCallReqYQVO.getTaskid().trim() + "&&" + "mate" + "&&" + phoneCallReqYQVO.getUuid()); redisCache.deleteObject(phoneCallReqYQVO.getUuid() + "SCORE"); @@ -932,7 +961,9 @@ } //閮芥病鏈夊尮閰嶅埌 if (StringUtils.isEmpty(phoneCallBackYQVO.getValue())) { - Integer count = redisCache.getCacheObject(phoneCallReqYQVO.getTaskid().trim() + "&&" + "mate" + "&&" + phoneCallReqYQVO.getUuid()); + Integer count = null; + Object countObj = redisCache.getCacheObject(phoneCallReqYQVO.getTaskid().trim() + "&&" + "mate" + "&&" + phoneCallReqYQVO.getUuid()); + if (ObjectUtils.isNotEmpty(countObj)) count = (Integer) countObj; if (count != null && count >= ivrTaskTemplate.getMateNum()) { //濡傛灉count宸茬粡澶т簬鎴栫瓑浜庢病鏈夊尮閰嶆鏁� if (ivrTaskTemplateScriptVO.getBranchFlag().equals("0") && ivrTaskTemplateScriptVO.getNextScriptno() == null || ivrTaskTemplateScriptVO.getBranchFlag().equals("0") && ivrTaskTemplateScriptVO.getNextScriptno() == 0 || ivrTaskTemplateScriptVO.getBranchFlag().equals("1") && ivrTaskTemplateScriptVO.getNextScriptno() == null || ivrTaskTemplateScriptVO.getBranchFlag().equals("1") && ivrTaskTemplateScriptVO.getNextScriptno() == 0) { @@ -945,7 +976,9 @@ else phoneCallBackYQVO.setValue(phoneCallBackYQVO.getCommonValue() + serviceTask1.getJsy()); //鏇存柊涓�涓嬪垎鏁� - double score = redisCache.getCacheObject(phoneCallReqYQVO.getUuid() + "SCORE"); + Double score = null; + Object scoreObj = redisCache.getCacheObject(phoneCallReqYQVO.getUuid() + "SCORE"); + if (ObjectUtils.isNotEmpty(scoreObj)) score = (Double) scoreObj; serviceSubtask.setScore(BigDecimal.valueOf(score)); serviceSubtask.setFinishtime(new Date()); serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); @@ -972,7 +1005,9 @@ redisCache.setCacheObject(phoneCallReqYQVO.getTaskid().trim() + "-" + phoneCallReqYQVO.getPhone().trim(), script.getId().toString(), 120, TimeUnit.MINUTES); //鏇存柊涓�涓嬪垎鏁� - double score = redisCache.getCacheObject(phoneCallReqYQVO.getUuid() + "SCORE"); + Double score = null; + Object scoreObj = redisCache.getCacheObject(phoneCallReqYQVO.getUuid() + "SCORE"); + if (ObjectUtils.isNotEmpty(scoreObj)) score = (Double) scoreObj; score = BigDecimal.valueOf(score).add(script.getScore()).doubleValue(); redisCache.setCacheObject(phoneCallReqYQVO.getUuid() + "SCORE", score, 120, TimeUnit.MINUTES); @@ -1012,7 +1047,9 @@ redisCache.setCacheObject(serviceSubtask.getId() + "-" + serviceSubtask.getPhone(), ivrTaskTemplateScript1.getId().toString()); //鏇存柊涓�涓嬪垎鏁� - double score = redisCache.getCacheObject(phoneCallReqYQVO.getUuid() + "SCORE"); + Double score = null; + Object scoreObj = redisCache.getCacheObject(phoneCallReqYQVO.getUuid() + "SCORE"); + if (ObjectUtils.isNotEmpty(scoreObj)) score = (Double) scoreObj; score = BigDecimal.valueOf(score).add(ivrTaskTemplateScriptVO.getScore()).doubleValue(); redisCache.setCacheObject(phoneCallReqYQVO.getUuid() + "SCORE", score, 120, TimeUnit.MINUTES); @@ -1026,7 +1063,9 @@ phoneCallBackYQVO.setValue(phoneCallBackYQVO.getCommonValue() + serviceTask1.getJsy()); //鏇存柊涓�涓嬪垎鏁� - double score = redisCache.getCacheObject(phoneCallReqYQVO.getUuid() + "SCORE"); + Double score = null; + Object scoreObj = redisCache.getCacheObject(phoneCallReqYQVO.getUuid() + "SCORE"); + if (ObjectUtils.isNotEmpty(scoreObj)) score = (Double) scoreObj; serviceSubtask.setScore(BigDecimal.valueOf(score)); serviceSubtask.setFinishtime(new Date()); serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); @@ -1054,9 +1093,9 @@ scriptContent = scriptContent.replace(key, StringUtils.isNotEmpty(map.get(key)) ? map.get(key) : ""); } } - scriptContent.replace("${name}", StringUtils.isNotEmpty(serviceSubtask.getName()) ? serviceSubtask.getName() : ""); - scriptContent.replace("${dzz}", StringUtils.isNotEmpty(serviceSubtask.getPlaceOfResidence()) ? serviceSubtask.getPlaceOfResidence() : ""); - scriptContent.replace("${phone}", StringUtils.isNotEmpty(serviceSubtask.getTelcode()) ? serviceSubtask.getTelcode() : ""); + scriptContent = scriptContent.replace("${name}", StringUtils.isNotEmpty(serviceSubtask.getSendname()) ? serviceSubtask.getSendname() : ""); + scriptContent = scriptContent.replace("${dzz}", StringUtils.isNotEmpty(serviceSubtask.getAddr()) ? serviceSubtask.getAddr() : ""); + scriptContent = scriptContent.replace("${phone}", StringUtils.isNotEmpty(serviceSubtask.getTelcode()) ? serviceSubtask.getTelcode() : ""); return scriptContent; } @@ -1125,7 +1164,7 @@ // cache-0涓虹珛鍗冲彂璧风殑,鍏跺畠鐨勫厛鎺ㄨ繜 if (!StringUtils.isEmpty(value0)) { pullTaskVOList = getPullTaskList(value0, "cache-0"); - //灏哻ache-0鐨勬暟鎹紝杞Щ涓嶅鍔瞔ache-00涓� + //灏哻ache-0鐨勬暟鎹紝杞Щ鍒癱ache-00涓� redisCache.deleteObject("cache-00"); String cache00 = redisCache.getCacheObject("cache-00"); if (!StringUtils.isEmpty(cache00)) @@ -1200,7 +1239,8 @@ pullTaskVO.setSections(LocalTime.now().format(DateTimeFormatter.ofPattern("hh:mm")) + "-" + LocalTime.now().plusMinutes(1).format(DateTimeFormatter.ofPattern("hh:mm"))); pullTaskVO.setPhones(serviceSubtask.getPhone()); pullTaskVO.setPrologue(kcb); - pullTaskVO.setDisplayNo("85129866"); + if (cacheName.equals("cache-0")) pullTaskVO.setDisplayNo("2"); + else pullTaskVO.setDisplayNo("2"); pullTaskVOList.add(pullTaskVO); redisCache.setCacheObject(subId.trim() + "-" + serviceSubtask.getPhone().trim(), ivrTaskTemplateScript.getId().toString()); // redisCache.setCacheObject(subId.trim() + "-" + serviceSubtask.getPhone().trim() + "-firstSort", 1, 120, TimeUnit.MINUTES); @@ -1527,7 +1567,6 @@ return null; } - private ServiceSubtaskDetail getServiceSubtaskDetail(PhoneCallReqYQVO phoneCallReqYQVO, IvrTaskTemplateScriptVO ivrTaskTemplateScriptVO, ServiceSubtask serviceSubtask, IvrTaskTemplate ivrTaskTemplate) { ServiceSubtaskDetail serviceSubtaskDetail = new ServiceSubtaskDetail(); serviceSubtaskDetail.setSubId(Long.valueOf(phoneCallReqYQVO.getTaskid())); @@ -1547,8 +1586,10 @@ serviceSubtaskDetail.setTemplateid(ivrTaskTemplate.getId().toString()); serviceSubtaskDetail.setTemplatequestionnum(ivrTaskTemplateScriptVO.getId()); serviceSubtaskDetail.setQuestiontext(ivrTaskTemplateScriptVO.getScriptContent()); + serviceSubtaskDetail.setQuestionvoice(phoneCallReqYQVO.getRecordpath()); serviceSubtaskDetail.setCategoryname(ivrTaskTemplateScriptVO.getScriptType()); serviceSubtaskDetail.setTargetoptions(ivrTaskTemplateScriptVO.getTargetOptions()); + serviceSubtaskDetail.setExtemplateText(ivrTaskTemplateScriptVO.getExtemplateText()); int i = 1; for (IvrTaskTemplateTargetoption ivrTaskTemplateTargetoption : ivrTaskTemplateScriptVO.getIvrTaskScriptTargetoptionList()) { -- Gitblit v1.9.3