liusheng
2025-03-12 4d7b0c1dc2f1a400005feb93a945a09b52e5d101
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;
    }
    /**
@@ -276,7 +279,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 +287,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 +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) {