From ddd8411ac8ba2e415313fa92c4661359ad1f6669 Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Thu, 21 Nov 2024 13:27:54 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=BF=85=E9=80=89=E6=97=B6?= =?UTF-8?q?=EF=BC=8C=E5=A2=9E=E5=8A=A0=E4=BA=86=E6=A3=80=E6=B5=8B=E5=BF=85?= =?UTF-8?q?=E9=80=89=E6=95=B0=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/service/QuestionQaItem.go | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/api/service/QuestionQaItem.go b/api/service/QuestionQaItem.go index 49d9644..2a6da42 100644 --- a/api/service/QuestionQaItem.go +++ b/api/service/QuestionQaItem.go @@ -62,6 +62,28 @@ func (r *QuestionQaItemService) PutQuestionQaItemMust(itemId int64, req requests return true, nil } + // 检测必选数量 + if req.IsMustSelect == 1 { + // 获取题库数据 + questionQaDao := dao.QuestionQaDao{} + questionQa, err := questionQaDao.GetQuestionQaById(questionQaItem.QaId) + if err != nil { + return false, errors.New("题库错误") + } + + maps := make(map[string]interface{}) + maps["qa_id"] = questionQaItem.QaId + maps["is_must_select"] = 1 + questionQaItems, err := questionQaItemDao.GetQuestionQaItemList(maps) + if err != nil { + return false, errors.New("内部错误") + } + + if len(questionQaItems) > questionQa.QaQuantity { + return false, errors.New("必选题目已超出题库所需数量") + } + } + // 开始事务 tx := global.Db.Begin() defer func() {