diff --git a/api/controller/Res.go b/api/controller/Res.go index 5541bb7..2e9e159 100644 --- a/api/controller/Res.go +++ b/api/controller/Res.go @@ -13,6 +13,7 @@ import ( "github.com/gin-gonic/gin" "math" "strconv" + "strings" "time" ) @@ -263,10 +264,6 @@ func (b *Res) GetResCaseRecordList(c *gin.Context) { } if v3.Type == 3 { - response.Credit3 = v3.Score - } - - if v3.Type == 4 { response.Credit4 = v3.Score } } @@ -288,11 +285,57 @@ func (b *Res) GetResCaseRecordList(c *gin.Context) { // 题目 if len(caseUserAnswers) > 0 { + caseItemQuestionOptionDao := dao.CaseItemQuestionOptionDao{} response.QuestionAnswer = make([]*dto.QuestionAnswerDto, len(caseUserAnswers)) for i2, records := range caseUserAnswers { + var answerValues []string + + if records.CaseItemQuestion.QuestionType != 3 { + // 获取对应题目选项 + maps = make(map[string]interface{}) + maps["question_id"] = records.QuestionId + caseItemQuestionOptions, _ := caseItemQuestionOptionDao.GetCaseItemQuestionOptionList(maps) + + answers := strings.Split(records.Answer, "") + for _, answer := range answers { + if answer == "A" { + // 判断题 + if records.CaseItemQuestion.QuestionType == 4 { + answerValues = append(answerValues, "正确") + } else { + if len(caseItemQuestionOptions) >= 1 { + answerValues = append(answerValues, caseItemQuestionOptions[0].OptionValue) + } + } + } + + if answer == "B" { + if records.CaseItemQuestion.QuestionType == 4 { + answerValues = append(answerValues, "错误") + } else { + if len(caseItemQuestionOptions) >= 2 { + answerValues = append(answerValues, caseItemQuestionOptions[1].OptionValue) + } + } + } + + if answer == "C" { + if len(caseItemQuestionOptions) >= 3 { + answerValues = append(answerValues, caseItemQuestionOptions[2].OptionValue) + } + } + + if answer == "D" { + if len(caseItemQuestionOptions) >= 4 { + answerValues = append(answerValues, caseItemQuestionOptions[3].OptionValue) + } + } + } + } + questionAnswerDto := &dto.QuestionAnswerDto{ Question: records.CaseItemQuestion.QuestionName, - Answer: records.Answer, + Answer: strings.Join(answerValues, "|"), Correct: false, Order: i2 + 1, }