Kaynağa Gözat

Update LikePipeline jobs, fix likes_count calculation

Daniel Supernault 3 yıl önce
ebeveyn
işleme
fe64e18712

+ 4 - 1
app/Jobs/LikePipeline/LikePipeline.php

@@ -2,7 +2,7 @@
 
 namespace App\Jobs\LikePipeline;
 
-use Cache, Log;
+use Cache, DB, Log;
 use Illuminate\Support\Facades\Redis;
 use App\{Like, Notification};
 use Illuminate\Bus\Queueable;
@@ -59,6 +59,9 @@ class LikePipeline implements ShouldQueue
             return;
         }
 
+        $status->likes_count = DB::table('likes')->whereStatusId($status->id)->count();
+        $status->save();
+
         StatusService::refresh($status->id);
 
         if($status->url && $actor->domain == null) {

+ 3 - 4
app/Jobs/LikePipeline/UnlikePipeline.php

@@ -2,7 +2,7 @@
 
 namespace App\Jobs\LikePipeline;
 
-use Cache, Log;
+use Cache, DB, Log;
 use Illuminate\Support\Facades\Redis;
 use App\{Like, Notification};
 use Illuminate\Bus\Queueable;
@@ -59,9 +59,8 @@ class UnlikePipeline implements ShouldQueue
 			return;
 		}
 
-		$count = $status->likes_count > 1 ? $status->likes_count : $status->likes()->count();
-		$status->likes_count = $count - 1;
-		$status->save();
+		$status->likes_count = DB::table('likes')->whereStatusId($status->id)->count();
+        $status->save();
 
 		StatusService::refresh($status->id);