diff --git a/api/requests/QuestionQa.go b/api/requests/QuestionQa.go index fab1d33..9fc6612 100644 --- a/api/requests/QuestionQa.go +++ b/api/requests/QuestionQa.go @@ -63,7 +63,13 @@ type AddQuestionQa struct { BaseTokenItem []AddQuestionQaBaseTokenItem `json:"base_token_item" form:"base_token_item" label:"飞花令明细"` // 展示类型为飞花令时存在 TokenQuestionContent []TokenQuestionContent `json:"token_question_content" form:"token_question_content" label:"飞花令题目数量规则"` // -json(当题库类型为2、3时存在。2表示飞花令后固定题目数量,3表示飞花令后单个类型题目数量) QuestionQaTimer []QuestionQaTimer `json:"question_qa_timer" form:"question_qa_timer" label:"计时设置"` // - RepeatQaId string `json:"repeat_qa_id" form:"repeat_qa_id" label:"禁止重复id合集"` // 禁止重复id合集 + RepeatQaId []RepeatQaId `json:"repeat_qa_id" form:"repeat_qa_id" label:"禁止重复id合集"` // 禁止重复id合集 +} + +// RepeatQaId 禁止重复id合集 +type RepeatQaId struct { + QaId string `json:"qa_id" form:"qa_id" label:"唯一标识" validate:"required"` + QaName string `json:"qa_name" form:"qa_name" label:"名称" validate:"required"` } // QuestionQaItem 新增问答题库-题目明细 @@ -111,7 +117,7 @@ type PutQuestionQa struct { BaseTokenItem []PutQuestionQaBaseTokenItem `json:"base_token_item" form:"base_token_item" label:"飞花令明细"` // 展示类型为飞花令时存在 TokenQuestionContent []TokenQuestionContent `json:"token_question_content" form:"token_question_content" label:"飞花令题目数量规则"` // -json(当题库类型为2、3时存在。2表示飞花令后固定题目数量,3表示飞花令后单个类型题目数量) QuestionQaTimer []QuestionQaTimer `json:"question_qa_timer" form:"question_qa_timer" label:"计时设置"` // - RepeatQaId string `json:"repeat_qa_id" form:"repeat_qa_id" label:"禁止重复id合集"` // 禁止重复id合集(逗号分割) + RepeatQaId []RepeatQaId `json:"repeat_qa_id" form:"repeat_qa_id" label:"禁止重复id合集"` // 禁止重复id合集 } // PutQuestionQaBaseTokenItem 修改问答题库-飞花令明细 diff --git a/api/service/QuestionQa.go b/api/service/QuestionQa.go index 0b113cc..8c84e0f 100644 --- a/api/service/QuestionQa.go +++ b/api/service/QuestionQa.go @@ -217,9 +217,12 @@ func (r *QuestionQaService) AddQuestionQa(req requests.AddQuestionQa) (bool, err questionQaItemDao := dao.QuestionQaItemDao{} var notQuestionIds []int64 // 处理需排除的题目id - if req.RepeatQaId != "" { + if len(req.RepeatQaId) > 0 { // 获取正常题库的明细列表 - repeatQaId := strings.Split(req.RepeatQaId, ",") + var repeatQaId []string + for _, item := range req.RepeatQaId { + repeatQaId = append(repeatQaId, item.QaId) + } questionQaItems, _ := questionQaItemDao.GetQuestionQaItemListByQaIdDistinctQuestionId(repeatQaId) if len(questionQaItems) > 0 { for _, item := range questionQaItems { @@ -361,8 +364,16 @@ func (r *QuestionQaService) PutQuestionQa(qaId int64, req requests.PutQuestionQa } // 是否允许重复 - if req.RepeatQaId != questionQa.RepeatQaId { - questionQaData["repeat_qa_id"] = req.RepeatQaId + if len(req.RepeatQaId) > 0 { + var repeatQaId []string + for _, item := range req.RepeatQaId { + repeatQaId = append(repeatQaId, item.QaId) + } + + repeatQaIdStr := strings.Join(repeatQaId, ",") + if repeatQaIdStr != questionQa.RepeatQaId { + questionQaData["repeat_qa_id"] = req.RepeatQaId + } } // 背景图 @@ -424,9 +435,12 @@ func (r *QuestionQaService) PutQuestionQa(qaId int64, req requests.PutQuestionQa } var notQuestionIds []int64 // 处理需排除的题目id - if req.RepeatQaId != "" { + if len(req.RepeatQaId) > 0 { // 获取正常题库的明细列表 - repeatQaId := strings.Split(req.RepeatQaId, ",") + var repeatQaId []string + for _, item := range req.RepeatQaId { + repeatQaId = append(repeatQaId, item.QaId) + } questionQaItems, _ := questionQaItemDao.GetQuestionQaItemListByQaIdDistinctQuestionId(repeatQaId) if len(questionQaItems) > 0 { for _, item := range questionQaItems {