From 4198311ceba0064dc0519ed687af5e8550d6c278 Mon Sep 17 00:00:00 2001 From: hujiebin Date: Wed, 19 Jul 2023 16:42:54 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A6=9C=E5=8D=95=E9=BB=91=E5=90=8D=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- domain/model/recommend_m/gift.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/domain/model/recommend_m/gift.go b/domain/model/recommend_m/gift.go index 0ca4f3f..01cf680 100644 --- a/domain/model/recommend_m/gift.go +++ b/domain/model/recommend_m/gift.go @@ -23,12 +23,24 @@ func GetPastTop50SendGiftUsers(model *domain.Model) []recommendUserGift { if data, err := recommendUserGiftCache.Get(recommendUserGiftKey); err == nil { return data.([]recommendUserGift) } + limitUserIds, _ := GetBillboardLimitUserList(model) var res []recommendUserGift if err := model.DB().Table("gift_operate").Select("send_user_id,SUM(send_user_diamond) send_user_diamond"). - Where("created_time >= ?", time.Now().Add(-time.Hour*12)).Group("send_user_id"). + Where("created_time >= ?", time.Now().Add(-time.Hour*12)). + Where("send_user_id NOT in ?", limitUserIds). + Group("send_user_id"). Having("send_user_diamond > 100000").Order("send_user_diamond DESC").Limit(34).Find(&res).Error; err != nil { model.Log.Errorf("GetPastTop50SendGiftUsers fail:%v", err) } recommendUserGiftCache.SetWithExpire(recommendUserGiftKey, res, time.Minute*5) return res } + +// 榜单黑名单 +func GetBillboardLimitUserList(model *domain.Model) ([]uint64, error) { + var userIds []uint64 + if err := model.Db.Table("billboard_limit_user").Select("user_id").Find(&userIds).Error; err != nil { + return nil, err + } + return userIds, nil +} -- 2.22.0