Skip to content

Commit 48f59fb

Browse files
committed
chore: Refactor RetrieveQuestions function to improve code readability and annotation
1 parent d36654a commit 48f59fb

3 files changed

Lines changed: 12 additions & 30 deletions

File tree

apis/cache.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -227,8 +227,6 @@ LOAD_FILES:
227227
GlobalQuestionConfig.Lock()
228228
GlobalQuestionConfig.Questions = newQuestions
229229
GlobalQuestionConfig.CurrentVersion = newQuestionCurrentVersion
230-
jsonQuestions, _ := json.Marshal(GlobalQuestionConfig.Questions)
231-
log.Debug().Msgf("questionsResponse: %s", string(jsonQuestions))
232230
GlobalQuestionConfig.Unlock()
233231

234232
return nil

apis/question.go

Lines changed: 4 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,10 @@ func RetrieveQuestions(c *fiber.Ctx) (err error) {
7777
return common.InternalServerError("[retrieve questions]: number of campus questions invalid")
7878
}
7979

80+
if number == 0 {
81+
return common.InternalServerError("[retrieve questions]: number of questions too small")
82+
}
83+
8084
var questionsResponse = QuestionConfig{
8185
Version: version,
8286
Spec: QuestionSpec{
@@ -89,25 +93,8 @@ func RetrieveQuestions(c *fiber.Ctx) (err error) {
8993

9094
questionsResponse.Questions = make([]Question, number)
9195
tmpQuestions := make([]*Question, 0, number)
92-
93-
if number == 0 {
94-
return common.InternalServerError("[retrieve questions]: number of questions too small")
95-
}
96-
9796
tmpQuestions = append(tmpQuestions, requiredQuestions...)
9897

99-
jsonTmpQuestions, _ := json.Marshal(questionConfig)
100-
log.Debug().Msgf("questionsResponse: %s", string(jsonTmpQuestions))
101-
102-
jsonTmpQuestions, _ = json.Marshal(tmpQuestions)
103-
log.Debug().Msgf("questionsResponse: %s", string(jsonTmpQuestions))
104-
105-
// for i, question := range requiredQuestions {
106-
// tmpQuestions[i] = question
107-
// // questionsResponse.Questions[i] = *question
108-
// }
109-
110-
// questionConfig.Questions = append(questionConfig.Questions, optionalQuestions...)
11198
if numberOfOptionalQuestions == -1 {
11299
// send all opntional questions
113100
tmpQuestions = append(tmpQuestions, optionalQuestions...)
@@ -136,9 +123,6 @@ func RetrieveQuestions(c *fiber.Ctx) (err error) {
136123
tmpQuestions = append(tmpQuestions, chosenCampusQuestions[:numberOfCampusQuestions]...)
137124
}
138125

139-
jsonTmpQuestions, _ = json.Marshal(tmpQuestions)
140-
log.Debug().Msgf("questionsResponse: %s", string(jsonTmpQuestions))
141-
142126
if !inOrder {
143127
rand.Shuffle(len(tmpQuestions), func(i, j int) {
144128
tmpQuestions[i], tmpQuestions[j] = tmpQuestions[j], tmpQuestions[i]
@@ -149,9 +133,6 @@ func RetrieveQuestions(c *fiber.Ctx) (err error) {
149133
})
150134
}
151135

152-
jsonTmpQuestions, _ = json.Marshal(tmpQuestions)
153-
log.Debug().Msgf("questionsResponse: %s", string(jsonTmpQuestions))
154-
155136
for i, question := range tmpQuestions {
156137
questionsResponse.Questions[i] = *question
157138
}

apis/schemas.go

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -132,16 +132,19 @@ type Question struct {
132132

133133
// QuestionSpec 题库的发题、判题的规格 schema
134134
type QuestionSpec struct {
135+
// 总题目数量
136+
// Deprecated
135137
NumberOfQuestions int `json:"number_of_questions" yaml:"number_of_questions"`
136138

137-
// 表示可选题的题目数量。
138-
// 发送题目时,题库中的必做题都会发送,可选题会根据题目数量随机发送
139-
// 如果总的题目数量小于题库中的必做题数量,将会在解析时返回错误
140-
// 如果设置为 0 或者不设置,则题库中的所有题目都会发送
141-
// 如果设置为 -1,则题库中的必做题都会发送,可选题不会发送
139+
// 可选题的题目数量
140+
// 发送题目时,题库中的必做题都会发送,可选题会根据题目数量随机发送
141+
// 如果可选题的题目数量大于题库中的可选题数量,将会在解析时返回错误
142+
// 如果设置为 0 或者不设置,可选题不会发送
143+
// 如果设置为 -1,则题库中的可选题都会发送
142144
NumberOfOptionalQuestions int `json:"number_of_optional_questions" yaml:"number_of_optional_questions"`
143145

144146
// 校园题的数量
147+
// 其余规则同可选题
145148
NumberOfCampusQuestions int `json:"number_of_campus_questions" yaml:"number_of_campus_questions"`
146149

147150
// 表示是否由题目声明顺序由上到下顺序出题,默认为 false,即乱序出题

0 commit comments

Comments
 (0)