From 30c8e3a9a53908904aa25c8a64ea34a519a3f953 Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Wed, 30 Oct 2024 08:42:15 +0800 Subject: [PATCH] 1111 --- api/requests/QuestionQa.go | 6 +++--- api/service/Question.go | 20 ++++++++++++++++++++ 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/api/requests/QuestionQa.go b/api/requests/QuestionQa.go index 3e48df4..e999154 100644 --- a/api/requests/QuestionQa.go +++ b/api/requests/QuestionQa.go @@ -40,12 +40,12 @@ type AddQuestionQa struct { QaExpireTime string `json:"qa_expire_time" form:"qa_expire_time" label:"过期时间" validate:"required"` // 注意:这里假设LocalTime转换为字符串格式处理 QaPassword string `json:"qa_password" form:"qa_password" label:"分享密码" validate:"required"` Image string `json:"image" form:"image" label:"背景图" validate:"required"` - QuestionQaItem []AddQuestionQaItem `json:"question_qa_item" form:"question_qa_item" label:"题目明细" validate:"required"` + QuestionQaItem []QuestionQaItem `json:"question_qa_item" form:"question_qa_item" label:"题目明细" validate:"required"` BaseTokenItem []AddQuestionQaBaseTokenItem `json:"base_token_item" form:"base_token_item" label:"飞花令明细"` // 展示类型为飞花令时存在 } -// AddQuestionQaItem 新增问答题库-题目明细 -type AddQuestionQaItem struct { +// QuestionQaItem 新增问答题库-题目明细 +type QuestionQaItem struct { QuestionType int `json:"question_type" form:"question_type" validate:"required,number,oneof=1 2 3 4" label:"题目类型"` // 题目类型(1:单选 2:多选 3:问答 4:判断) FirstLabelId string `json:"first_label_id" form:"first_label_id" validate:"required" label:"一级标签id"` SecondLabelId string `json:"second_label_id" form:"second_label_id" label:"二级标签id"` diff --git a/api/service/Question.go b/api/service/Question.go index f1bffb1..db57570 100644 --- a/api/service/Question.go +++ b/api/service/Question.go @@ -12,6 +12,7 @@ import ( "knowledge/utils" "strconv" "strings" + "time" ) type QuestionService struct { @@ -168,6 +169,25 @@ func (r *QuestionService) AddQuestion(req requests.AddQuestion) (bool, error) { return false, err } + // 获取题库数据 + questionQaDao := dao.QuestionQaDao{} + questionQa, err := questionQaDao.GetQuestionQaById(qaId) + if err != nil { + tx.Rollback() + return false, err + } + + if questionQa.QaStatus == 2 { + tx.Rollback() + return false, errors.New("题库已失效") + } + + qaExpireTime := time.Time(questionQa.QaExpireTime) + if qaExpireTime.Before(time.Now()) { + tx.Rollback() + return false, errors.New("题库已过期") + } + // 新增题库明细 questionQaItemDao := dao.QuestionQaItemDao{} questionQaItem := &model.QuestionQaItem{