Administrator
2 days ago 9880f15c8139a83cff38fa255c7a6612bb6046dc
fix(ai): 修复答题记录初始化逻辑

- 移除批量创建题目列表的方法
- 恢复逐个创建题目的方式
- 修正排序索引从1开始的计算逻辑
- 删除已注释的旧代码块
- 确保题目创建与答题记录的正确关联
1 files modified
50 ■■■■ changed files
src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberAnswerServiceImpl.java 50 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberAnswerServiceImpl.java
@@ -112,30 +112,9 @@
            aiMemberAnswer.setCorrectCnt(0);
            aiMemberAnswerMapper.insert(aiMemberAnswer);
            List<AiMemberAnswerItem> aiMemberAnswerItems = new ArrayList<>();
//            for (int i = 1; i <= questionCount; i++){
//                //初始化答题记录
//                AiProductQuestion aiProductQuestion = aiProductQuestionService.createQuestion(aiProduct.getId());
//                AiMemberAnswerItem aiMemberAnswerItem = new AiMemberAnswerItem();
//                aiMemberAnswerItem.setId(UUID.getSimpleUUIDString());
//                aiMemberAnswerItem.setCompanyId(companyId);
//                aiMemberAnswerItem.setCreatedTime(createdTime);
//                aiMemberAnswerItem.setAnswerId(aiMemberAnswer.getId());
//                aiMemberAnswerItem.setProductId(aiMemberAnswer.getProductId());
//                aiMemberAnswerItem.setMemberId(memberUuid);
//                aiMemberAnswerItem.setProductQuestionId(aiProductQuestion.getId());
//                aiMemberAnswerItem.setTitle(aiProductQuestion.getTitle());
//                aiMemberAnswerItem.setDifficulty(aiProductQuestion.getDifficulty());
//                aiMemberAnswerItem.setMemberAnswerState(0);
//                aiMemberAnswerItem.setSort( i );
//                aiMemberAnswerItems.add(aiMemberAnswerItem);
//            }
            List<AiProductQuestion> questionList = aiProductQuestionService.createQuestionList(aiProduct.getId(), questionCount);
            if (CollUtil.isEmpty(questionList)){
                throw new FebsException("产品没有题目");
            }
            for (int i = 0; i <= questionList.size(); i++){
                AiProductQuestion aiProductQuestion = questionList.get(i);
            for (int i = 1; i <= questionCount; i++){
                //初始化答题记录
                AiProductQuestion aiProductQuestion = aiProductQuestionService.createQuestion(aiProduct.getId());
                AiMemberAnswerItem aiMemberAnswerItem = new AiMemberAnswerItem();
                aiMemberAnswerItem.setId(UUID.getSimpleUUIDString());
                aiMemberAnswerItem.setCompanyId(companyId);
@@ -147,9 +126,30 @@
                aiMemberAnswerItem.setTitle(aiProductQuestion.getTitle());
                aiMemberAnswerItem.setDifficulty(aiProductQuestion.getDifficulty());
                aiMemberAnswerItem.setMemberAnswerState(0);
                aiMemberAnswerItem.setSort( i +1);
                aiMemberAnswerItem.setSort( i );
                aiMemberAnswerItems.add(aiMemberAnswerItem);
            }
//            List<AiProductQuestion> questionList = aiProductQuestionService.createQuestionList(aiProduct.getId(), questionCount);
//            if (CollUtil.isEmpty(questionList)){
//                throw new FebsException("产品没有题目");
//            }
//            for (int i = 0; i <= questionList.size(); i++){
//                AiProductQuestion aiProductQuestion = questionList.get(i);
//                AiMemberAnswerItem aiMemberAnswerItem = new AiMemberAnswerItem();
//                aiMemberAnswerItem.setId(UUID.getSimpleUUIDString());
//                aiMemberAnswerItem.setCompanyId(companyId);
//                aiMemberAnswerItem.setCreatedTime(createdTime);
//                aiMemberAnswerItem.setAnswerId(aiMemberAnswer.getId());
//                aiMemberAnswerItem.setProductId(aiMemberAnswer.getProductId());
//                aiMemberAnswerItem.setMemberId(memberUuid);
//                aiMemberAnswerItem.setProductQuestionId(aiProductQuestion.getId());
//                aiMemberAnswerItem.setTitle(aiProductQuestion.getTitle());
//                aiMemberAnswerItem.setDifficulty(aiProductQuestion.getDifficulty());
//                aiMemberAnswerItem.setMemberAnswerState(0);
//                aiMemberAnswerItem.setSort( i +1);
//                aiMemberAnswerItems.add(aiMemberAnswerItem);
//            }
            aiMemberAnswerItemService.saveBatch(aiMemberAnswerItems);
            apiMemberAnswerVoV2.setCurrent(1);
        }else{