liusheng
2025-03-18 7469d35bf8a8f86dab3abc056eae8417fb88482d
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java
@@ -236,6 +236,8 @@
                        }
                    }
                }
            } else {
                continue;
            }
            //将该key和value从redis中,删除
            redisCache.deleteObject(key);
@@ -246,12 +248,13 @@
            serviceSubtask.setSendstate(6L);
            serviceSubtask.setExcep(serviceSubTaskAnswerReq.getExcep());
            serviceSubtask.setFinishtime(new Date());
            serviceSubtask.setUpdateTime(new Date());
            log.error("将该key和value从redis中,serviceSubtask的值为--------:{}", serviceSubtask);
            if (score != null) serviceSubtask.setScore(BigDecimal.valueOf(score));
            serviceSubtaskMapper.updateServiceSubtaskByCondition(serviceSubtask);
        }
        return 1;
    }
    /**
@@ -297,6 +300,7 @@
        }
        return 0;
    }
    @Override
    public Map<String, Object> getQuestionCache(ServiceSubTaskCacheReq serviceSubTaskCacheReq, Long flag) {
        Map<String, Object> map = new HashMap<>();
@@ -307,7 +311,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));
            //这个是有问题的,先这样,合并代码的时候没有把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 +348,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", scriptInfoByCondition);
                map.put("taskName", scriptInfoByCondition.get("taskName"));
                return map;
            } else if (scriptInfoByCondition.get("type").equals("3")) {
                //宣教不需要查看
                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")) {
            //宣教不需要查看
            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) {
@@ -455,6 +465,7 @@
        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.setValueType(svyTaskTemplateScriptVO.getScriptType());
@@ -517,6 +528,7 @@
                }
            }
        }
        serviceSubtaskDetailVO.setTargetid(ivrTaskTemplateScriptVO.getTargetid() != null ? ivrTaskTemplateScriptVO.getTargetid().intValue() : null);
        serviceSubtaskDetailVO.setQuestiontext(ivrTaskTemplateScriptVO.getScriptContent());
        serviceSubtaskDetailVO.setTaskid(Long.valueOf(taskid));
        serviceSubtaskDetailVO.setPatid(Long.valueOf(patid));