From f91fb16996a989c6007dd9c067caab3d9de7daf9 Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Sun, 29 Sep 2024 17:03:46 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E9=97=AE=E7=AD=94=E9=A2=98=E5=BA=93=E6=89=93=E5=BC=80=E6=AC=A1?= =?UTF-8?q?=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/controller/share.go | 6 ++++++ api/dao/QuestionQa.go | 18 ++++++++++++++++++ api/service/QuestionQa.go | 12 ++++++++++++ 3 files changed, 36 insertions(+) diff --git a/api/controller/share.go b/api/controller/share.go index 6efd8ec..7601bf2 100644 --- a/api/controller/share.go +++ b/api/controller/share.go @@ -8,6 +8,7 @@ import ( "knowledge/api/model" "knowledge/api/requests" "knowledge/api/responses" + "knowledge/api/service" "knowledge/consts" "knowledge/global" "knowledge/utils" @@ -300,5 +301,10 @@ func (r *Share) GetQuestion(c *gin.Context) { } } + // 记录问答题库打开次数 + questionQaService := service.QuestionQaService{} + _ = questionQaService.RecordQuestionQaOpenNum(global.Db, questionQa.QaId) + + // 返回 responses.OkWithData(g, c) } diff --git a/api/dao/QuestionQa.go b/api/dao/QuestionQa.go index 39c5624..2e16c9c 100644 --- a/api/dao/QuestionQa.go +++ b/api/dao/QuestionQa.go @@ -188,3 +188,21 @@ func (r *QuestionQaDao) GetQuestionQaPageSearch(req requests.GetQuestionQaPage, } return m, totalRecords, nil } + +// Inc 自增 +func (r *QuestionQaDao) Inc(tx *gorm.DB, qaId int64, field string, numeral int) error { + err := tx.Model(&model.QuestionQa{}).Where("qa_id = ?", qaId).UpdateColumn(field, gorm.Expr(field+" + ?", numeral)).Error + if err != nil { + return err + } + return nil +} + +// Dec 自减 +func (r *QuestionQaDao) Dec(tx *gorm.DB, qaId int64, field string, numeral int) error { + err := tx.Model(&model.QuestionQa{}).Where("qa_id = ?", qaId).UpdateColumn(field, gorm.Expr(field+" - ?", numeral)).Error + if err != nil { + return err + } + return nil +} diff --git a/api/service/QuestionQa.go b/api/service/QuestionQa.go index e8e0dac..c5a6c3a 100644 --- a/api/service/QuestionQa.go +++ b/api/service/QuestionQa.go @@ -4,6 +4,7 @@ import ( "errors" "fmt" "github.com/goccy/go-json" + "gorm.io/gorm" "knowledge/api/dao" "knowledge/api/model" "knowledge/api/requests" @@ -556,3 +557,14 @@ func (r *QuestionQaService) PutQuestionQaRule(qaId int64, req requests.PutQuesti tx.Commit() return true, nil } + +// RecordQuestionQaOpenNum 记录问答题库打开次数 +func (r *QuestionQaService) RecordQuestionQaOpenNum(tx *gorm.DB, qaId int64) error { + questionQaDao := dao.QuestionQaDao{} + err := questionQaDao.Inc(tx, qaId, "open_number", 1) + if err != nil { + return err + } + + return nil +}