From 3007140e8428ac4e0f9d18620a8acfdaddd15ba8 Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Fri, 20 Sep 2024 09:21:53 +0800 Subject: [PATCH] =?UTF-8?q?=E7=8C=9C=E4=BD=A0=E5=96=9C=E6=AC=A2=E5=8E=BB?= =?UTF-8?q?=E9=99=A4=E9=87=8D=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/controller/Question.go | 1 + api/dao/OrderSingle.go | 15 +++++++++++++++ api/service/Question.go | 2 +- 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/api/controller/Question.go b/api/controller/Question.go index 9bd09d6..43811d9 100644 --- a/api/controller/Question.go +++ b/api/controller/Question.go @@ -354,6 +354,7 @@ func (b *Question) GetGuessUserLikeList(c *gin.Context) { questions, err := questionService.GetGuessUserLIkeList(userId) if err != nil { responses.OkWithData(nil, c) + return } // 处理返回值 diff --git a/api/dao/OrderSingle.go b/api/dao/OrderSingle.go index 71f1884..5dfe1a4 100644 --- a/api/dao/OrderSingle.go +++ b/api/dao/OrderSingle.go @@ -117,6 +117,21 @@ func (r *OrderSingleDao) GetOrderSingleOrderList(maps interface{}, orderField st return m, nil } +// GetOrderSingleOrderDistinctList 获取列表-排序-不重复 +func (r *OrderSingleDao) GetOrderSingleOrderDistinctList(maps interface{}, orderField string, limit int) (m []*model.OrderSingle, err error) { + err = global.Db.Where(maps). + Preload(clause.Associations). + Distinct("order_single.question_id"). + Order(orderField). + Limit(limit). + Find(&m). + Error + if err != nil { + return nil, err + } + return m, nil +} + // GetOrderSinglePageSearch 获取列表-分页 func (r *OrderSingleDao) GetOrderSinglePageSearch(req requests.GetOrderSinglePage, page, pageSize int) (m []*model.OrderSingle, total int64, err error) { var totalRecords int64 diff --git a/api/service/Question.go b/api/service/Question.go index ad1e6c9..afe8ea0 100644 --- a/api/service/Question.go +++ b/api/service/Question.go @@ -52,7 +52,7 @@ func (r *QuestionService) GetGuessUserLIkeList(userId int64) (m []*model.Questio if userId != 0 { maps := make(map[string]interface{}) maps["user_id"] = userId - orderSingles, err := orderSingleDao.GetOrderSingleOrderList(maps, "created_at desc", 3) + orderSingles, err := orderSingleDao.GetOrderSingleOrderDistinctList(maps, "created_at desc", 3) if err != nil { return nil, err }