Update FollowerService

This commit is contained in:
Daniel Supernault 2021-12-04 17:37:44 -07:00
parent 0342027867
commit 19d140b020
No known key found for this signature in database
GPG key ID: 0DEF1C662C9033F7
2 changed files with 27 additions and 1 deletions

View file

@ -4,6 +4,7 @@ namespace App\Services;
use Illuminate\Support\Facades\Redis; use Illuminate\Support\Facades\Redis;
use Cache; use Cache;
use DB;
use App\{ use App\{
Follower, Follower,
Profile, Profile,
@ -12,6 +13,7 @@ use App\{
class FollowerService class FollowerService
{ {
const CACHE_KEY = 'pf:services:followers:';
const FOLLOWING_KEY = 'pf:services:follow:following:id:'; const FOLLOWING_KEY = 'pf:services:follow:following:id:';
const FOLLOWERS_KEY = 'pf:services:follow:followers:id:'; const FOLLOWERS_KEY = 'pf:services:follow:followers:id:';
@ -87,4 +89,29 @@ class FollowerService
}); });
} }
public static function mutualCount($pid, $mid)
{
return Cache::remember(self::CACHE_KEY . ':mutualcount:' . $pid . ':' . $mid, 3600, function() use($pid, $mid) {
return DB::table('followers as u')
->join('followers as s', 'u.following_id', '=', 's.following_id')
->where('s.profile_id', $mid)
->where('u.profile_id', $pid)
->count();
});
}
public static function mutualIds($pid, $mid, $limit = 3)
{
$key = self::CACHE_KEY . ':mutualids:' . $pid . ':' . $mid . ':limit_' . $limit;
return Cache::remember($key, 3600, function() use($pid, $mid, $limit) {
return DB::table('followers as u')
->join('followers as s', 'u.following_id', '=', 's.following_id')
->where('s.profile_id', $mid)
->where('u.profile_id', $pid)
->limit($limit)
->pluck('s.following_id')
->toArray();
});
}
} }

View file

@ -55,7 +55,6 @@ class Bouncer {
} }
if( $status->profile->created_at->gt(now()->subMonths(6)) && if( $status->profile->created_at->gt(now()->subMonths(6)) &&
$status->profile->status_count < 2 &&
$status->profile->bio && $status->profile->bio &&
$status->profile->website $status->profile->website
) { ) {