浏览代码

Update LikePipeline, prevent duplicate like notifications

Daniel Supernault 7 年之前
父节点
当前提交
86efcceb4c
共有 1 个文件被更改,包括 8 次插入1 次删除
  1. 8 1
      app/Jobs/LikePipeline/LikePipeline.php

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

@@ -37,7 +37,14 @@ class LikePipeline implements ShouldQueue
         $status = $this->like->status;
         $actor = $this->like->actor;
 
-        if($actor->id === $status->profile_id) {
+        $exists = Notification::whereProfileId($status->profile_id)
+                  ->whereActorId($actor->id)
+                  ->whereAction('like')
+                  ->whereItemId($status->id)
+                  ->whereItemType('App\Status')
+                  ->count();
+
+        if($actor->id === $status->profile_id || $exists !== 0) {
             return true;
         }