Administrator
5 days ago e3f9f30e2f814e39157017e7f9bf2be886335877
src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberAnswerServiceImpl.java
@@ -34,10 +34,7 @@
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Set;
import java.util.*;
import java.util.stream.Collectors;
/**
@@ -112,30 +109,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 +123,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{
@@ -411,9 +408,10 @@
            List<ApiMemberAnswerPreviousItemVo> answerList = new ArrayList<>();
            LambdaQueryWrapper<AiProductQuestionItem> productQuestionItemLambdaQueryWrapper = Wrappers.lambdaQuery(AiProductQuestionItem.class);
            productQuestionItemLambdaQueryWrapper.eq(AiProductQuestionItem::getProductQuestionId,productQuestionId);
            productQuestionItemLambdaQueryWrapper.orderByAsc(AiProductQuestionItem::getCreatedTime);
            List<AiProductQuestionItem> listByQuery = aiProductQuestionItemService.getListByQuery(productQuestionItemLambdaQueryWrapper);
            if(CollUtil.isNotEmpty(listByQuery)){
                //让listByQuery随机排序一次
                Collections.shuffle(listByQuery);
                for (AiProductQuestionItem aiProductQuestionItem : listByQuery){
                    ApiMemberAnswerPreviousItemVo apiMemberAnswerPreviousItemVo = new ApiMemberAnswerPreviousItemVo();
                    apiMemberAnswerPreviousItemVo.setId(aiProductQuestionItem.getId());