From 5deae4fb892a994c8f6c2ecfb3438e88298d7cd8 Mon Sep 17 00:00:00 2001 From: Michael Li Date: Wed, 27 Sep 2023 13:15:59 +0800 Subject: [PATCH] optimize get index trends data logic --- internal/dao/jinzhu/trends.go | 2 +- internal/dao/jinzhu/user.go | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/internal/dao/jinzhu/trends.go b/internal/dao/jinzhu/trends.go index 8e1f1237..44e56c67 100644 --- a/internal/dao/jinzhu/trends.go +++ b/internal/dao/jinzhu/trends.go @@ -18,7 +18,7 @@ type trendsSrvA struct { func (s *trendsSrvA) GetIndexTrends(userId int64, limit int, offset int) (res []*cs.TrendsItem, total int64, err error) { db := s.db.Table(_user_). - Joins(fmt.Sprintf("JOIN %s c ON c.friend_id=%s.id AND c.user_id=? AND c.is_del=0", _contact_, _user_), userId). + Joins(fmt.Sprintf("JOIN %s c ON c.friend_id=%s.id AND c.user_id=? AND c.status=2 AND c.is_del=0", _contact_, _user_), userId). Joins(fmt.Sprintf("JOIN %s m ON c.friend_id=m.user_id AND m.tweets_count>0 AND m.is_del=0", _userMetric_)). Where(fmt.Sprintf("%s.is_del=0", _user_)) if err = db.Count(&total).Error; err != nil || total == 0 { diff --git a/internal/dao/jinzhu/user.go b/internal/dao/jinzhu/user.go index 9ffb3fe5..3c8bb251 100644 --- a/internal/dao/jinzhu/user.go +++ b/internal/dao/jinzhu/user.go @@ -28,7 +28,7 @@ type userRelationSrv struct { func newUserManageService(db *gorm.DB, ums core.UserMetricServantA) core.UserManageService { return &userManageSrv{ - db: db, + db: db, ums: ums, } } @@ -101,12 +101,12 @@ func (s *userManageSrv) GetRegisterUserCount() (res int64, err error) { } func (s *userRelationSrv) MyFriendIds(userId int64) (res []int64, err error) { - err = s.db.Table(_contact_).Where("user_id=?", userId).Select("friend_id").Find(&res).Error + err = s.db.Table(_contact_).Where("user_id=? AND status=2 AND is_del=0", userId).Select("friend_id").Find(&res).Error return } func (s *userRelationSrv) MyFollowIds(userId int64) (res []int64, err error) { - err = s.db.Table(_following_).Where("user_id=?", userId).Select("follow_id").Find(&res).Error + err = s.db.Table(_following_).Where("user_id=? AND is_del=0", userId).Select("follow_id").Find(&res).Error return }