liusheng
2024-04-25 bc30484ac7a5feea3162d56b9ff76a9c976aba48
ruoyi-admin/src/main/java/com/ruoyi/web/controller/hanler/ChatWebSocketHandler.java
@@ -144,7 +144,7 @@
                        returnQues.setNowQuestion(ivrLibaTemplateScriptVO);
//                        returnQues.setCode(ivrLibaTemplateScriptVO.getTargetid() + 1);
                }
//                returnQues.setKcb("你好,大傻狗,我们是某某某医院,现在需要做一次随访;");
//              设置开场白
                returnQues.setKcb(ivrLibaTemplateVO1.getRevisitBefore());
                //记录响应
@@ -184,7 +184,7 @@
//                            returnQues.setCode(null);
                            List<IvrLibaTemplateScriptVO> backQusetRedis = redisCache.getCacheObject(userId + "backQuset");
                            returnQues.setContent(JSON.toJSONString(backQusetRedis));
                            returnQues.setJsy("感谢您的耐心回答,再见");
                            returnQues.setJsy(ivrLibaTemplateVO1.getRevisitAfter());
                            redisCache.setCacheObject(userId + "returnQues", returnQues, 120, TimeUnit.MINUTES);
                            redisCache.setCacheObject(userId + "isOver", 1, 120, TimeUnit.MINUTES);
@@ -205,7 +205,7 @@
                        redisCache.setCacheObject(userId + "noVoice", noVoice2, 120, TimeUnit.MINUTES);
                    }
                } else {
                    //对回答的问题,进行正则匹配(这里只针对选择题,其它题型不行)
                    //对回答的问题,进行正则匹配(这里只针对选择题,其它题型不行)x
                    for (int j = 0; j < ivrLibaTemplateScriptVO.getIvrLibaScriptTargetoptionList().size(); j++) {
                        //包含
                        Matcher matcher = null;
@@ -232,12 +232,22 @@
                            redisCache.setCacheObject(userId + "noVoice", 0, 120, TimeUnit.MINUTES);
                            //获取下一题
                            Integer nextQuestion = ivrLibaTemplateScriptVO.getIvrLibaScriptTargetoptionList().get(j).getNextQuestion();
                            for (IvrLibaTemplateScriptVO script : ivrLibaTemplateScriptVOList) {
                                if (script.getTargetid() == nextQuestion) {
                                    QuestionMessage returnQues = new QuestionMessage();
                                    returnQues.setNowQuestion(script);
                                    redisCache.setCacheObject(userId + "returnQues", returnQues, 120, TimeUnit.MINUTES);
                                    break;
                            if (nextQuestion > ivrLibaTemplateScriptVOList.size()) {
                                //如果下一题没有了,就结束了
                                QuestionMessage returnQues = new QuestionMessage();
                                List<IvrLibaTemplateScriptVO> backQusetRedis = redisCache.getCacheObject(userId + "backQuset");
                                returnQues.setContent(JSON.toJSONString(backQusetRedis));
                                returnQues.setJsy(ivrLibaTemplateVO1.getRevisitAfter());
                                redisCache.setCacheObject(userId + "returnQues", returnQues, 120, TimeUnit.MINUTES);
                                redisCache.setCacheObject(userId + "isOver", 1, 120, TimeUnit.MINUTES);
                            } else {
                                for (IvrLibaTemplateScriptVO script : ivrLibaTemplateScriptVOList) {
                                    if (script.getTargetid() == nextQuestion) {
                                        QuestionMessage returnQues = new QuestionMessage();
                                        returnQues.setNowQuestion(script);
                                        redisCache.setCacheObject(userId + "returnQues", returnQues, 120, TimeUnit.MINUTES);
                                        break;
                                    }
                                }
                            }
                            break;