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 }