From dbbb114c25b2406b6d1fd52019d2f2228ffcacd0 Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期三, 27 十一月 2024 18:04:16 +0800 Subject: [PATCH] 代码提交 --- smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java | 153 ++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 140 insertions(+), 13 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 6b27a89..f5a8fb8 100644 --- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java +++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java @@ -132,10 +132,16 @@ if (ObjectUtils.isNotEmpty(serviceSubTaskAnswerReq)) { //闇�瑕佺珛鍗虫墽琛� RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample(); + tid = Long.valueOf(rsaPublicKeyExample.decryptedData(serviceSubTaskAnswerReq.getParam1(), pri_key)); pid = Long.valueOf(rsaPublicKeyExample.decryptedData(serviceSubTaskAnswerReq.getParam2(), pri_key)); - allKeys = new HashSet<>(); - allKeys.add(pid + "-" + tid + "-WJscriptCache"); + if (serviceSubTaskAnswerReq.getType() != null && serviceSubTaskAnswerReq.getType() == 2) { + allKeys = new HashSet<>(); + allKeys.add(pid + "-" + tid + "-WJscriptCache"); + } else if (serviceSubTaskAnswerReq.getType() != null && serviceSubTaskAnswerReq.getType() == 1) { + allKeys = new HashSet<>(); + allKeys.add(pid + "-" + tid + "-SFscriptCache"); + } } Long nextScriptno = null; @@ -182,6 +188,47 @@ } } } + } else if (key.contains("-SFscriptCache")) { + List<IvrLibaTemplateScriptVO> cacheList = redisCache.getCacheList(key); + cacheList.sort(Comparator.comparingLong(IvrLibaTemplateScriptVO::getSort)); + log.error("鐢佃瘽闅忚闂嵎鍥炵瓟缁撴灉锛歿}", cacheList); + for (int i = 0; i < cacheList.size(); i++) { + if (i == 0) { + //杩欎釜鏃堕棿瑕佹壘鍒扮涓�棰� + for (IvrLibaTemplateScriptVO ivrLibaTemplateScriptVO : cacheList) { + if (ivrLibaTemplateScriptVO.getSort() == 1L) { + //璇存槑鏄涓�棰� + IvrTaskTemplateScriptVO ivrTaskTemplateScriptVO = DtoConversionUtils.sourceToTarget(cacheList.get(0), IvrTaskTemplateScriptVO.class); + List<IvrLibaTemplateTargetoption> ivrLibaTemplateTargetoptions = cacheList.get(0).getIvrLibaScriptTargetoptionList(); + List<IvrTaskTemplateTargetoption> ivrTaskTemplateTargetoptions = DtoConversionUtils.sourceToTarget(ivrLibaTemplateTargetoptions, IvrTaskTemplateTargetoption.class); + ivrTaskTemplateScriptVO.setIvrTaskScriptTargetoptionList(ivrTaskTemplateTargetoptions); + Map<String, String> map = setSFInfo(ivrTaskTemplateScriptVO, tid, pid); + nextScriptno = Long.valueOf(map.get("nextScriptNo")); + if (score == null) { + score = Double.valueOf(map.get("score")); + } else { + score = score + Double.valueOf(map.get("score")); + } + } + } + + } else { + IvrTaskTemplateScriptVO ivrTaskTemplateScriptVO = DtoConversionUtils.sourceToTarget(cacheList.get(i), IvrTaskTemplateScriptVO.class); + List<IvrTaskTemplateTargetoption> ivrTaskTemplateTargetoptions = DtoConversionUtils.sourceToTarget(cacheList.get(i).getIvrLibaScriptTargetoptionList(), IvrTaskTemplateTargetoption.class); + ivrTaskTemplateScriptVO.setIvrTaskScriptTargetoptionList(ivrTaskTemplateTargetoptions); + + if (ivrTaskTemplateScriptVO.getSort() != null && Long.valueOf(ivrTaskTemplateScriptVO.getSort()) == nextScriptno) { + Map<String, String> map = setSFInfo(ivrTaskTemplateScriptVO, Long.valueOf(split[1]), Long.valueOf(split[0])); + log.error("map鐨勪俊鎭负锛歿}", map); + nextScriptno = Long.valueOf(map.get("nextScriptNo")); + if (score == null) { + score = Double.valueOf(map.get("score")); + } else { + score = score + Double.valueOf(map.get("score")); + } + } + } + } } //灏嗚key鍜寁alue浠巖edis涓紝鍒犻櫎 redisCache.deleteObject(key); @@ -206,16 +253,35 @@ */ @Override public Integer saveQuestionCache(ServiceSubTaskCacheReq serviceSubTaskCacheReq) { - RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample(); - Long tid = Long.valueOf(rsaPublicKeyExample.decryptedData(serviceSubTaskCacheReq.getParam1(), pri_key)); - Long pid = Long.valueOf(rsaPublicKeyExample.decryptedData(serviceSubTaskCacheReq.getParam2(), pri_key)); - //闂嵎 - redisCache.deleteObject(pid + "-" + tid + "-WJscriptCache"); - redisCache.setCacheList(pid + "-" + tid + "-WJscriptCache", serviceSubTaskCacheReq.getSvyLibTemplateScriptVOS()); - //璁剧疆杩囨湡鏃堕棿 3澶� - Long tims = Long.valueOf(3 * 24 * 3600); - redisCache.expire(pid + "-" + tid + "-WJscriptCache", tims); - return 1; + try { + + + RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample(); + Long tid = Long.valueOf(rsaPublicKeyExample.decryptedData(serviceSubTaskCacheReq.getParam1(), pri_key)); + Long pid = Long.valueOf(rsaPublicKeyExample.decryptedData(serviceSubTaskCacheReq.getParam2(), pri_key)); + if (serviceSubTaskCacheReq.getType() != null && serviceSubTaskCacheReq.getType() == 2) { + //闂嵎 + redisCache.deleteObject(pid + "-" + tid + "-WJscriptCache"); + redisCache.setCacheList(pid + "-" + tid + "-WJscriptCache", serviceSubTaskCacheReq.getSvyLibTemplateScriptVOS()); + //璁剧疆杩囨湡鏃堕棿 3澶� + Long tims = Long.valueOf(3 * 24 * 3600); + boolean expire = redisCache.expire(pid + "-" + tid + "-WJscriptCache", tims); + return 1; + } else if (serviceSubTaskCacheReq.getType() != null && serviceSubTaskCacheReq.getType() == 1) { + //闂嵎 + redisCache.deleteObject(pid + "-" + tid + "-SFscriptCache"); + redisCache.setCacheList(pid + "-" + tid + "-SFscriptCache", serviceSubTaskCacheReq.getIvrLibaTemplateScriptVOList()); + //璁剧疆杩囨湡鏃堕棿 3澶� + Long tims = Long.valueOf(3 * 24 * 3600); + redisCache.expire(pid + "-" + tid + "-SFscriptCache", tims); + return 1; + } + } catch (Exception e) { + e.printStackTrace(); + log.error("缂撳瓨淇濆瓨澶辫触锛歿}", e.getMessage()); + return 0; + } + return 0; } @Override @@ -307,7 +373,7 @@ if (StringUtils.isEmpty(serviceSubtaskDetailVO.getTargetvalue())) { serviceSubtaskDetailVO.setTargetvalue(svyTaskTemplateTargetoption.getOptioncontent()); } else { - serviceSubtaskDetailVO.setTargetvalue(serviceSubtaskDetailVO.getTargetvalue() + " " + svyTaskTemplateTargetoption.getOptioncontent()); + serviceSubtaskDetailVO.setTargetvalue(serviceSubtaskDetailVO.getTargetvalue() + "&" + svyTaskTemplateTargetoption.getOptioncontent()); } // if (svyTaskTemplateTargetoption.getIsUserOperation() == true) { // //灏嗛�変腑鐨勭粨鏋滄斁鍒癮srtext涓� @@ -359,6 +425,67 @@ serviceSubtaskDetailVO.setCreateTime(new Date()); serviceSubtaskDetailVO.setUpdateTime(new Date()); serviceSubtaskDetailVO.setSubId(selectServiceSubtaskList.get(0).getId()); + serviceSubtaskDetailVO.setTemplatequestionnum(svyTaskTemplateScriptVO.getId()); + ServiceSubtaskDetail serviceSubtaskDetail = DtoConversionUtils.sourceToTarget(serviceSubtaskDetailVO, ServiceSubtaskDetail.class); + serviceSubtaskDetailMapper.insertServiceSubtaskDetail(serviceSubtaskDetail); + + Map<String, String> map = new HashMap<>(); + map.put("nextScriptNo", nextScriptNo); + map.put("score", score); + return map; + } + + private Map<String, String> setSFInfo(IvrTaskTemplateScriptVO ivrTaskTemplateScriptVO, Long taskid, Long patid) { + ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO(); + serviceSubtaskVO.setTaskid(taskid); + serviceSubtaskVO.setPatid(patid); + List<ServiceSubtask> selectServiceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO); + + String score = "0"; + //涓嬮璺宠浆 + String nextScriptNo = null; + ServiceSubtaskDetailVO serviceSubtaskDetailVO = new ServiceSubtaskDetailVO(); + List<ServiceSubtaskOptionAnswer> answerList = new ArrayList<>(); + if (ivrTaskTemplateScriptVO.getScriptType().equals("1") || ivrTaskTemplateScriptVO.getScriptType().equals("2")) { + //1銆�2涓哄崟閫夋垨澶氶�� + for (IvrTaskTemplateTargetoption ivrTaskTemplateTargetoption : ivrTaskTemplateScriptVO.getIvrTaskScriptTargetoptionList()) { + //灏嗛棶棰橀�夐」璁板綍涓嬫潵 + if (StringUtils.isEmpty(serviceSubtaskDetailVO.getTargetvalue())) { + serviceSubtaskDetailVO.setTargetvalue(ivrTaskTemplateTargetoption.getTargetvalue()); + } else { + serviceSubtaskDetailVO.setTargetvalue(serviceSubtaskDetailVO.getTargetvalue() + "&" + ivrTaskTemplateTargetoption.getTargetvalue()); + } + + } + nextScriptNo = ivrTaskTemplateScriptVO.getNextScriptno().toString(); + if (ivrTaskTemplateScriptVO.getScore() != null) { + score = String.valueOf(ivrTaskTemplateScriptVO.getScore()); + } + if (StringUtils.isNotEmpty(ivrTaskTemplateScriptVO.getQuestionResult())) { + serviceSubtaskDetailVO.setAsrtext(ivrTaskTemplateScriptVO.getQuestionResult().replaceAll("^\"|\"$", "")); + serviceSubtaskDetailVO.setMatchedtext(ivrTaskTemplateScriptVO.getQuestionResult().replaceAll("^\"|\"$", "")); + } + } else { + //闈炲崟澶氶�� + if (StringUtils.isNotEmpty(ivrTaskTemplateScriptVO.getQuestionResult())) { + serviceSubtaskDetailVO.setAsrtext(ivrTaskTemplateScriptVO.getQuestionResult().replaceAll("^\"|\"$", "")); + serviceSubtaskDetailVO.setMatchedtext(ivrTaskTemplateScriptVO.getQuestionResult().replaceAll("^\"|\"$", "")); + nextScriptNo = ivrTaskTemplateScriptVO.getNextScriptno().toString(); + if (ivrTaskTemplateScriptVO.getScore() != null) { + score = String.valueOf(ivrTaskTemplateScriptVO.getScore()); + } + } + } + serviceSubtaskDetailVO.setQuestiontext(ivrTaskTemplateScriptVO.getScriptContent()); + serviceSubtaskDetailVO.setTaskid(Long.valueOf(taskid)); + serviceSubtaskDetailVO.setPatid(Long.valueOf(patid)); + serviceSubtaskDetailVO.setScriptid(ivrTaskTemplateScriptVO.getId()); + serviceSubtaskDetailVO.setValueType(ivrTaskTemplateScriptVO.getScriptType()); + serviceSubtaskDetailVO.setComment(null); + serviceSubtaskDetailVO.setCreateTime(new Date()); + serviceSubtaskDetailVO.setUpdateTime(new Date()); + serviceSubtaskDetailVO.setSubId(selectServiceSubtaskList.get(0).getId()); + serviceSubtaskDetailVO.setTemplatequestionnum(ivrTaskTemplateScriptVO.getId()); ServiceSubtaskDetail serviceSubtaskDetail = DtoConversionUtils.sourceToTarget(serviceSubtaskDetailVO, ServiceSubtaskDetail.class); serviceSubtaskDetailMapper.insertServiceSubtaskDetail(serviceSubtaskDetail); -- Gitblit v1.9.3