diff --git a/api/service/QuestionQa.go b/api/service/QuestionQa.go index a274ee9..274c4db 100644 --- a/api/service/QuestionQa.go +++ b/api/service/QuestionQa.go @@ -1094,35 +1094,21 @@ func (r *QuestionQaService) GetShareQuestionQaForTypeThree(questionQa *model.Que for _, v2 := range tokenQuestionContents { shareDtoForTwo := &dto.ShareDtoForTwo{} - // 题目数据 - var questions []*model.Question - - // 必选数据 - for _, v3 := range mustQuestions { - // 判断此题目是否已被选中 - if utils.IsInSlice(v3.QuestionId, isUseQuestionId) { - continue - } - - // 类型相同,加入该组数据中 - if v2.QuestionType == v3.Question.QuestionType { - // 当数量超出时,跳出 - if len(questions) >= v2.Quantity { - continue - } - - questions = append(questions, v3.Question) - - // 标记已被使用 - isUseQuestionId = append(isUseQuestionId, v3.QuestionId) + // 处理对应飞花令数据 + for _, item := range baseTokenItems { + if len(shareDtoForTwo.BaseTokenItem) < (v2.Quantity * *questionQa.RoundNum) { + questionDto := dto.GetBaseTokenItemDto(item) + shareDtoForTwo.BaseTokenItem = append(shareDtoForTwo.BaseTokenItem, questionDto) } } - // 题目数据-剩余随机数量 - remainingQuantity := v2.Quantity - len(questions) - if remainingQuantity > 0 { - // 非必选数据 - for _, v3 := range notMustQuestions { + // 飞花令数量 + for i3 := 0; i3 < *questionQa.TokenNum; i3++ { + // 题目数据 + var questions []*model.Question + + // 必选数据 + for _, v3 := range mustQuestions { // 判断此题目是否已被选中 if utils.IsInSlice(v3.QuestionId, isUseQuestionId) { continue @@ -1141,36 +1127,53 @@ func (r *QuestionQaService) GetShareQuestionQaForTypeThree(questionQa *model.Que isUseQuestionId = append(isUseQuestionId, v3.QuestionId) } } - } - // 处理返回值 - var questionDtoList []*dto.QuestionDto + // 题目数据-剩余随机数量 + remainingQuantity := v2.Quantity - len(questions) + if remainingQuantity > 0 { + // 非必选数据 + for _, v3 := range notMustQuestions { + // 判断此题目是否已被选中 + if utils.IsInSlice(v3.QuestionId, isUseQuestionId) { + continue + } - // 处理数据 - for _, v3 := range questions { - // 处理返回值 - questionDto := dto.GetShareQuestionDto(v3) + // 类型相同,加入该组数据中 + if v2.QuestionType == v3.Question.QuestionType { + // 当数量超出时,跳出 + if len(questions) >= v2.Quantity { + continue + } - // 加载选项 - questionDto.LoadQuestionOptionSimplify(v3.QuestionOption) + questions = append(questions, v3.Question) - // 加载图片 - questionDto.LoadQuestionImage(v3.QuestionImage) - - // 加载答案 - questionDto.LoadQuestionAnswer(v3) - - questionDtoList = append(questionDtoList, questionDto) - } - - shareDtoForTwo.Question = append(shareDtoForTwo.Question, questionDtoList) - - // 处理对应飞花令数据 - for _, item := range baseTokenItems { - if len(shareDtoForTwo.BaseTokenItem) < (v2.Quantity * *questionQa.RoundNum) { - questionDto := dto.GetBaseTokenItemDto(item) - shareDtoForTwo.BaseTokenItem = append(shareDtoForTwo.BaseTokenItem, questionDto) + // 标记已被使用 + isUseQuestionId = append(isUseQuestionId, v3.QuestionId) + } + } } + + // 处理返回值 + var questionDtoList []*dto.QuestionDto + + // 处理数据 + for _, v3 := range questions { + // 处理返回值 + questionDto := dto.GetShareQuestionDto(v3) + + // 加载选项 + questionDto.LoadQuestionOptionSimplify(v3.QuestionOption) + + // 加载图片 + questionDto.LoadQuestionImage(v3.QuestionImage) + + // 加载答案 + questionDto.LoadQuestionAnswer(v3) + + questionDtoList = append(questionDtoList, questionDto) + } + + shareDtoForTwo.Question = append(shareDtoForTwo.Question, questionDtoList) } // 填入对应类别