From f36b3173af03626a47992717d6b3c54e296055cb Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Thu, 21 Nov 2024 13:36:29 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=BA=86=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E6=97=B6=E6=A3=80=E6=B5=8B=E5=89=A9=E4=BD=99=E9=A2=98=E7=9B=AE?= =?UTF-8?q?=E6=95=B0=E9=87=8F=E6=98=AF=E5=90=A6=E6=BB=A1=E8=B6=B3=E4=BD=BF?= =?UTF-8?q?=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/requests/QuestionQaItem.go | 1 + api/service/QuestionQaItem.go | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/api/requests/QuestionQaItem.go b/api/requests/QuestionQaItem.go index 70aadfa..75becfa 100644 --- a/api/requests/QuestionQaItem.go +++ b/api/requests/QuestionQaItem.go @@ -30,6 +30,7 @@ type GetQuestionQaItemPageOrder struct { // DeleteQuestionQaItem 删除问答题库明细 type DeleteQuestionQaItem struct { ItemId []string `json:"item_id" form:"item_id" validate:"required" label:"明细id"` + QaId string `json:"qa_id" form:"qa_id" label:"题库id" validate:"required"` } // PutQuestionQaItemMust 修改必选 diff --git a/api/service/QuestionQaItem.go b/api/service/QuestionQaItem.go index 2a6da42..8d5e2d2 100644 --- a/api/service/QuestionQaItem.go +++ b/api/service/QuestionQaItem.go @@ -15,6 +15,29 @@ type QuestionQaItemService struct { func (r *QuestionQaItemService) DeleteQuestionQaItem(req requests.DeleteQuestionQaItem) (bool, error) { questionQaItemDao := dao.QuestionQaItemDao{} + qaId, err := strconv.ParseInt(req.QaId, 10, 64) + if err != nil { + return false, errors.New("删除失败") + } + + // 获取题库数据 + questionQaDao := dao.QuestionQaDao{} + questionQa, err := questionQaDao.GetQuestionQaById(qaId) + if err != nil { + return false, errors.New("题库错误") + } + + // 获取题库明细数据 + questionQaItems, err := questionQaItemDao.GetQuestionQaItemListByQaId(qaId) + if err != nil { + return false, errors.New("题库错误") + } + + // 检测剩余题目数量是否满足使用 + if questionQa.QaQuantity > (len(questionQaItems) - len(req.ItemId)) { + return false, errors.New("删除后剩余题目不满足题库使用") + } + // 开始事务 tx := global.Db.Begin() defer func() {