liusheng
2024-09-18 907641e56c2085aaa81f267946dc3e3e9fca73e7
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java
@@ -1,5 +1,6 @@
package com.smartor.service.impl;
import afu.org.checkerframework.checker.oigj.qual.O;
import com.alibaba.fastjson2.JSON;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.utils.DateUtils;
@@ -142,12 +143,13 @@
            String[] split = key.split("-");
            if (key.contains("-WJscriptCache")) {
                List<SvyLibTemplateScriptVO> cacheList = redisCache.getCacheList(key);
                cacheList.sort(Comparator.comparingLong(SvyLibTemplateScriptVO::getSort));
                log.error("问卷回答结果:{}", cacheList);
                for (int i = 0; i < cacheList.size(); i++) {
                    if (i == 0) {
                        //这个时间要找到第一题
                        for (SvyLibTemplateScriptVO svyLibTemplateScriptVO : cacheList) {
                            if (svyLibTemplateScriptVO.getSort() == 1) {
                            if (svyLibTemplateScriptVO.getSort() == 1L) {
                                //说明是第一题
                                SvyTaskTemplateScriptVO svyTaskTemplateScriptVO = DtoConversionUtils.sourceToTarget(cacheList.get(0), SvyTaskTemplateScriptVO.class);
                                List<SvyLibTemplateTargetoption> svyLibTemplateTargetoptions = cacheList.get(0).getSvyLibTemplateTargetoptions();
@@ -170,6 +172,7 @@
                        if (svyTaskTemplateScriptVO.getSort() == nextScriptno) {
                            Map<String, String> map = setWJInfo(svyTaskTemplateScriptVO, 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"));
@@ -185,6 +188,8 @@
            ServiceSubtask serviceSubtask = new ServiceSubtask();
            serviceSubtask.setTaskid(tid);
            serviceSubtask.setPatid(pid);
            serviceSubtask.setSubmit(1L);
            serviceSubtask.setExcep(serviceSubTaskAnswerReq.getExcep());
            serviceSubtask.setFinishtime(new Date());
            if (score != null) serviceSubtask.setScore(BigDecimal.valueOf(score));
            serviceSubtaskMapper.updateServiceSubtaskByCondition(serviceSubtask);
@@ -213,13 +218,27 @@
    }
    @Override
    public List<SvyLibTemplateScriptVO> getQuestionCache(ServiceSubTaskCacheReq serviceSubTaskCacheReq) {
    public Map<String, Object> getQuestionCache(ServiceSubTaskCacheReq serviceSubTaskCacheReq) {
        Map<String, Object> map = new HashMap<>();
        RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample();
        Long tid = Long.valueOf(rsaPublicKeyExample.decryptedData(serviceSubTaskCacheReq.getParam1(), pri_key));
        Long pid = Long.valueOf(rsaPublicKeyExample.decryptedData(serviceSubTaskCacheReq.getParam2(), pri_key));
        ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO();
        serviceSubtaskVO.setTaskid(tid);
        serviceSubtaskVO.setPatid(pid);
        List<ServiceSubtask> selectServiceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
        if (CollectionUtils.isEmpty(selectServiceSubtaskList) || selectServiceSubtaskList.size() == 0) {
            map.put("submit", 0);
        } else {
            map.put("submit", selectServiceSubtaskList.get(0).getSubmit());
            if (selectServiceSubtaskList.get(0).getSubmit() == 1) {
                return map;
            }
        }
        //问卷
        List<SvyLibTemplateScriptVO> svyTaskTemplateScriptVOList = redisCache.getCacheList(pid + "-" + tid + "-WJscriptCache");
        return svyTaskTemplateScriptVOList;
        map.put("result", svyTaskTemplateScriptVOList);
        return map;
    }
    @Override