|
|
|
@@ -144,3 +144,49 @@ func FindRepos(opts FindReposOptions) (*models.FindReposResponse, error) { |
|
|
|
PageSize: opts.PageSize, |
|
|
|
}, nil |
|
|
|
} |
|
|
|
|
|
|
|
type ActiveUser struct { |
|
|
|
User *models.User4Front |
|
|
|
Followed bool |
|
|
|
ShowButton bool |
|
|
|
} |
|
|
|
|
|
|
|
func GetActiveUser4Square(currentUserId int64) ([]*ActiveUser, error) { |
|
|
|
result := make([]*ActiveUser, 0) |
|
|
|
userIds, err := models.QueryLast30DaysHighestIndexUsers(10) |
|
|
|
if err != nil { |
|
|
|
log.Error("ActiveUser err. %v", err) |
|
|
|
return result, err |
|
|
|
} |
|
|
|
if len(userIds) == 0 { |
|
|
|
return result, nil |
|
|
|
} |
|
|
|
|
|
|
|
users, err := models.GetUsersByIDs(userIds) |
|
|
|
if err != nil { |
|
|
|
return result, nil |
|
|
|
} |
|
|
|
usersMap := make(map[int64]*models.User) |
|
|
|
for _, v := range users { |
|
|
|
usersMap[v.ID] = v |
|
|
|
} |
|
|
|
|
|
|
|
for i := 0; i < len(userIds); i++ { |
|
|
|
userId := userIds[i] |
|
|
|
user := usersMap[userId] |
|
|
|
if user == nil { |
|
|
|
continue |
|
|
|
} |
|
|
|
isFollowed := false |
|
|
|
if currentUserId != 0 { |
|
|
|
isFollowed = models.IsFollowing(currentUserId, userId) |
|
|
|
} |
|
|
|
a := &ActiveUser{ |
|
|
|
Followed: isFollowed, |
|
|
|
User: user.ToFrontFormat(), |
|
|
|
ShowButton: currentUserId != userId, |
|
|
|
} |
|
|
|
result = append(result, a) |
|
|
|
} |
|
|
|
return result, nil |
|
|
|
} |