From 1967693c5d760ade002f8a5fbea10b51aef5693f Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期四, 10 四月 2025 13:39:32 +0800 Subject: [PATCH] 代码提交 --- smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java | 96 ++++++++++++++++++++++++++++++----------------- 1 files changed, 61 insertions(+), 35 deletions(-) diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java index 75515fe..265a0c7 100644 --- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java +++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java @@ -151,8 +151,18 @@ } Long nextScriptno = null; + aa: for (String key : allKeys) { String[] split = key.split("-"); + //鍏堝垽鏂紝鏄笉鏄綋鍓嶆彁浜や汉鐨勶紝涓嶆槸褰撳墠鎻愪氦浜虹殑锛岃烦杩� + try { + if (ObjectUtils.isNotEmpty(split[0]) && ObjectUtils.isNotEmpty(split[1]) && Long.valueOf(split[0]) != pid && Long.valueOf(split[1]) != tid) { + continue; + } + } catch (Exception e) { + //杩欓噷涔嬫墍浠ヨ澶勭悊寮傚父锛屾槸鍥犱负鏈夌殑KEY灏变笉鏄垜浠鐨凨EY,娌℃湁鍘绘埅鍙栵紱鏈夊紓甯镐笉澶勭悊锛岀洿鎺ヤ笅涓�涓� + continue; + } if (key.contains("-WJscriptCache")) { List<SvyLibTemplateScriptVO> cacheList = redisCache.getCacheList(key); cacheList.sort(Comparator.comparingLong(SvyLibTemplateScriptVO::getSort)); @@ -168,6 +178,7 @@ List<SvyTaskTemplateTargetoption> svyTaskTemplateTargetoptions = DtoConversionUtils.sourceToTarget(svyLibTemplateTargetoptions, SvyTaskTemplateTargetoption.class); svyTaskTemplateScriptVO.setSvyTaskTemplateTargetoptions(svyTaskTemplateTargetoptions); Map<String, String> map = setWJInfo(svyTaskTemplateScriptVO, tid, pid); + if (map == null) continue aa; nextScriptno = Long.valueOf(map.get("nextScriptNo")); if (score == null) { score = Double.valueOf(map.get("score")); @@ -236,6 +247,8 @@ } } } + } else { + continue; } //灏嗚key鍜寁alue浠巖edis涓紝鍒犻櫎 redisCache.deleteObject(key); @@ -246,12 +259,13 @@ serviceSubtask.setSendstate(6L); serviceSubtask.setExcep(serviceSubTaskAnswerReq.getExcep()); serviceSubtask.setFinishtime(new Date()); + serviceSubtask.setUpdateTime(new Date()); + log.error("灏嗚key鍜寁alue浠巖edis涓�,serviceSubtask鐨勫�间负--------锛歿}", serviceSubtask); if (score != null) serviceSubtask.setScore(BigDecimal.valueOf(score)); serviceSubtaskMapper.updateServiceSubtaskByCondition(serviceSubtask); } return 1; } - /** @@ -276,7 +290,7 @@ if (serviceSubTaskCacheReq.getType() != null && serviceSubTaskCacheReq.getType() == 2) { //闂嵎 redisCache.deleteObject(pid + "-" + tid + "-WJscriptCache"); - redisCache.setCacheList(pid + "-" + tid + "-WJscriptCache", serviceSubTaskCacheReq.getSvyLibTemplateScriptVOS()); + redisCache.setCacheListRight(pid + "-" + tid + "-WJscriptCache", serviceSubTaskCacheReq.getSvyLibTemplateScriptVOS()); //璁剧疆杩囨湡鏃堕棿 3澶� Long tims = Long.valueOf(3 * 24 * 3600); boolean expire = redisCache.expire(pid + "-" + tid + "-WJscriptCache", tims); @@ -284,7 +298,7 @@ } else if (serviceSubTaskCacheReq.getType() != null && serviceSubTaskCacheReq.getType() == 1) { //闂嵎 redisCache.deleteObject(pid + "-" + tid + "-SFscriptCache"); - redisCache.setCacheList(pid + "-" + tid + "-SFscriptCache", serviceSubTaskCacheReq.getIvrLibaTemplateScriptVOList()); + redisCache.setCacheListRight(pid + "-" + tid + "-SFscriptCache", serviceSubTaskCacheReq.getIvrLibaTemplateScriptVOList()); //璁剧疆杩囨湡鏃堕棿 3澶� Long tims = Long.valueOf(3 * 24 * 3600); redisCache.expire(pid + "-" + tid + "-SFscriptCache", tims); @@ -297,6 +311,7 @@ } return 0; } + @Override public Map<String, Object> getQuestionCache(ServiceSubTaskCacheReq serviceSubTaskCacheReq, Long flag) { Map<String, Object> map = new HashMap<>(); @@ -307,7 +322,10 @@ if (flag == 0L) { tid = Long.valueOf(rsaPublicKeyExample.decryptedData(serviceSubTaskCacheReq.getParam1(), pri_key)); pid = Long.valueOf(rsaPublicKeyExample.decryptedData(serviceSubTaskCacheReq.getParam2(), pri_key)); - subId = Long.valueOf(rsaPublicKeyExample.decryptedData(serviceSubTaskCacheReq.getParam6(), pri_key)); + //杩欎釜鏄湁闂鐨勶紝鍏堣繖鏍凤紝鍚堝苟浠g爜鐨勬椂鍊欐病鏈夋妸param6鍚堣繘鏉� + if (StringUtils.isNotEmpty(serviceSubTaskCacheReq.getParam6())) { + subId = Long.valueOf(rsaPublicKeyExample.decryptedData(serviceSubTaskCacheReq.getParam6(), pri_key)); + } } else if (flag == 1L) { tid = Long.valueOf(serviceSubTaskCacheReq.getParam1()); pid = Long.valueOf(serviceSubTaskCacheReq.getParam2()); @@ -341,39 +359,42 @@ Map<String, Object> map = new HashMap<>(); Map<String, Object> scriptInfoByCondition = serviceTaskService.getScriptInfoByCondition(serviceSubTaskQueryReq.getTaskid(), serviceSubTaskQueryReq.getPatid(), serviceSubTaskQueryReq.getIsFinish(), serviceSubTaskQueryReq.getPatfrom()); - if (scriptInfoByCondition.get("type").equals("1")) { - List<IvrLibaTemplateScriptVO> ivrLibaTemplateScriptVOList = (List) scriptInfoByCondition.get("script"); - for (IvrLibaTemplateScriptVO ivrLibaTemplateScriptVO : ivrLibaTemplateScriptVOList) { - Map<String, String> scriptResult = getScriptResult(serviceSubTaskQueryReq.getSubId(), serviceSubTaskQueryReq.getPatid(), ivrLibaTemplateScriptVO.getId()); - if (ObjectUtils.isNotEmpty(scriptResult)) { - ivrLibaTemplateScriptVO.setScriptResult(scriptResult.get("asrtext")); - ivrLibaTemplateScriptVO.setScriptResultId(scriptResult.get("asrtextId")); + if (ObjectUtils.isNotEmpty(scriptInfoByCondition) && ObjectUtils.isNotEmpty(scriptInfoByCondition.get("script"))) { + log.error("-----------scriptInfoByCondition鐨勫�间负锛歿}", scriptInfoByCondition); + if (scriptInfoByCondition.get("type").equals("1")) { + List<IvrLibaTemplateScriptVO> ivrLibaTemplateScriptVOList = (List) scriptInfoByCondition.get("script"); + for (IvrLibaTemplateScriptVO ivrLibaTemplateScriptVO : ivrLibaTemplateScriptVOList) { + Map<String, String> scriptResult = getScriptResult(serviceSubTaskQueryReq.getSubId(), serviceSubTaskQueryReq.getPatid(), ivrLibaTemplateScriptVO.getId()); + if (ObjectUtils.isNotEmpty(scriptResult)) { + ivrLibaTemplateScriptVO.setScriptResult(scriptResult.get("asrtext")); + ivrLibaTemplateScriptVO.setScriptResultId(scriptResult.get("asrtextId")); + } } - } - map.put("scriptResult", ivrLibaTemplateScriptVOList); - map.put("taskName", scriptInfoByCondition.get("taskName")); - return map; - } else if (scriptInfoByCondition.get("type").equals("2")) { - List<SvyLibTemplateScriptVO> svyLibTemplateScriptVOList = (List) scriptInfoByCondition.get("script"); - for (SvyLibTemplateScriptVO svyLibTemplateScriptVO : svyLibTemplateScriptVOList) { - Map<String, String> scriptResult = getScriptResult(serviceSubTaskQueryReq.getSubId(), serviceSubTaskQueryReq.getPatid(), svyLibTemplateScriptVO.getId()); - if (ObjectUtils.isNotEmpty(scriptResult)) { - svyLibTemplateScriptVO.setScriptResult(scriptResult.get("asrtext")); - svyLibTemplateScriptVO.setScriptResultId(scriptResult.get("asrtextId")); + map.put("scriptResult", ivrLibaTemplateScriptVOList); + map.put("taskName", scriptInfoByCondition.get("taskName")); + return map; + } else if (scriptInfoByCondition.get("type").equals("2")) { + List<SvyLibTemplateScriptVO> svyLibTemplateScriptVOList = (List) scriptInfoByCondition.get("script"); + for (SvyLibTemplateScriptVO svyLibTemplateScriptVO : svyLibTemplateScriptVOList) { + Map<String, String> scriptResult = getScriptResult(serviceSubTaskQueryReq.getSubId(), serviceSubTaskQueryReq.getPatid(), svyLibTemplateScriptVO.getId()); + if (ObjectUtils.isNotEmpty(scriptResult)) { + if (StringUtils.isNotEmpty(scriptResult.get("asrtext"))) + svyLibTemplateScriptVO.setScriptResult(StringUtils.isNotEmpty(scriptResult.get("asrtext")) ? scriptResult.get("asrtext").replaceAll("^(\"|')(.*)\\1$", "$2") : ""); + svyLibTemplateScriptVO.setScriptResultId(scriptResult.get("asrtextId")); + } } + map.put("scriptResult", svyLibTemplateScriptVOList); + map.put("taskName", scriptInfoByCondition.get("taskName")); + return map; + } else if (scriptInfoByCondition.get("type").equals("3")) { + //瀹f暀涓嶉渶瑕佹煡鐪� + List<HeLibrary> heLibraryList = (List) scriptInfoByCondition.get("script"); + map.put("scriptResult", heLibraryList); + map.put("taskName", scriptInfoByCondition.get("taskName")); + return map; } - map.put("scriptResult", scriptInfoByCondition); - map.put("taskName", scriptInfoByCondition.get("taskName")); - return map; - } else if (scriptInfoByCondition.get("type").equals("3")) { - //瀹f暀涓嶉渶瑕佹煡鐪� - List<HeLibrary> heLibraryList = (List) scriptInfoByCondition.get("script"); - map.put("scriptResult", heLibraryList); - map.put("taskName", scriptInfoByCondition.get("taskName")); - return map; } - - return null; + return map; } private Map<String, String> getScriptResult(Long subid, Long pid, Long sid) { @@ -437,7 +458,8 @@ if (svyTaskTemplateScriptVO.getScore() != null) { score = String.valueOf(svyTaskTemplateScriptVO.getScore()); } - serviceSubtaskDetailVO.setAsrtext(svyTaskTemplateScriptVO.getScriptResult()); + serviceSubtaskDetailVO.setAsrtext(svyTaskTemplateScriptVO.getScriptResult().replaceAll("^\"|\"$", "")); + serviceSubtaskDetailVO.setMatchedtext(svyTaskTemplateScriptVO.getScriptResult().replaceAll("^\"|\"$", "")); // if (StringUtils.isEmpty(serviceSubtaskDetailVO.getAsrtext())) { // nextScriptNo = svyTaskTemplateScriptVO.getNextScriptno().toString(); // } @@ -455,8 +477,10 @@ ServiceTask serviceTask = serviceTaskService.selectServiceTaskByTaskid(taskid); serviceSubtaskDetailVO.setQuestiontext(svyTaskTemplateScriptVO.getScriptContent()); serviceSubtaskDetailVO.setTaskid(Long.valueOf(taskid)); + serviceSubtaskDetailVO.setTargetid(svyTaskTemplateScriptVO.getTargetid() != null ? svyTaskTemplateScriptVO.getTargetid().intValue() : null); serviceSubtaskDetailVO.setPatid(Long.valueOf(patid)); serviceSubtaskDetailVO.setScriptid(svyTaskTemplateScriptVO.getId()); + serviceSubtaskDetailVO.setTemplatequestionnum(StringUtils.isNotEmpty(svyTaskTemplateScriptVO.getScriptno()) ? Long.valueOf(svyTaskTemplateScriptVO.getScriptno()) : null); serviceSubtaskDetailVO.setValueType(svyTaskTemplateScriptVO.getScriptType()); serviceSubtaskDetailVO.setComment(null); serviceSubtaskDetailVO.setCreateTime(new Date()); @@ -517,10 +541,12 @@ } } } + serviceSubtaskDetailVO.setTargetid(ivrTaskTemplateScriptVO.getTargetid() != null ? ivrTaskTemplateScriptVO.getTargetid().intValue() : null); serviceSubtaskDetailVO.setQuestiontext(ivrTaskTemplateScriptVO.getScriptContent()); serviceSubtaskDetailVO.setTaskid(Long.valueOf(taskid)); serviceSubtaskDetailVO.setPatid(Long.valueOf(patid)); - serviceSubtaskDetailVO.setScriptid(ivrTaskTemplateScriptVO.getId()); + serviceSubtaskDetailVO.setScriptid(ivrTaskTemplateScriptVO.getScriptID()); + serviceSubtaskDetailVO.setTemplatequestionnum(ivrTaskTemplateScriptVO.getId()); serviceSubtaskDetailVO.setValueType(ivrTaskTemplateScriptVO.getScriptType()); serviceSubtaskDetailVO.setComment(null); serviceSubtaskDetailVO.setCreateTime(new Date()); -- Gitblit v1.9.3