Commit 4198311c authored by hujiebin's avatar hujiebin

榜单黑名单

parent 241f35d3
...@@ -23,12 +23,24 @@ func GetPastTop50SendGiftUsers(model *domain.Model) []recommendUserGift { ...@@ -23,12 +23,24 @@ func GetPastTop50SendGiftUsers(model *domain.Model) []recommendUserGift {
if data, err := recommendUserGiftCache.Get(recommendUserGiftKey); err == nil { if data, err := recommendUserGiftCache.Get(recommendUserGiftKey); err == nil {
return data.([]recommendUserGift) return data.([]recommendUserGift)
} }
limitUserIds, _ := GetBillboardLimitUserList(model)
var res []recommendUserGift var res []recommendUserGift
if err := model.DB().Table("gift_operate").Select("send_user_id,SUM(send_user_diamond) send_user_diamond"). 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 { Having("send_user_diamond > 100000").Order("send_user_diamond DESC").Limit(34).Find(&res).Error; err != nil {
model.Log.Errorf("GetPastTop50SendGiftUsers fail:%v", err) model.Log.Errorf("GetPastTop50SendGiftUsers fail:%v", err)
} }
recommendUserGiftCache.SetWithExpire(recommendUserGiftKey, res, time.Minute*5) recommendUserGiftCache.SetWithExpire(recommendUserGiftKey, res, time.Minute*5)
return res 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
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment