xielin 5 년 전
부모
커밋
5f5414cf0c
6개의 변경된 파일137개의 추가작업 그리고 7개의 파일을 삭제
  1. 22 0
      app/Feed.php
  2. 22 0
      app/Post.php
  3. 22 0
      app/PostCollect.php
  4. 22 0
      app/PostLike.php
  5. 29 3
      app/Repositories/FeedRepositories.php
  6. 20 4
      app/Repositories/PostRepositories.php

+ 22 - 0
app/Feed.php

@@ -0,0 +1,22 @@
+<?php
+/**
+ * Created by PhpStorm.
+ * User: wangzhiqiang
+ * Date: 2019/4/24
+ * Time: 15:21
+ */
+
+namespace App\Models;
+
+use Illuminate\Database\Eloquent\Model;
+use Illuminate\Database\Eloquent\SoftDeletes;
+
+class Feed extends Model
+{
+    //
+    use SoftDeletes;
+    protected $table = 'feed';
+    protected $guarded = [];
+
+
+}

+ 22 - 0
app/Post.php

@@ -0,0 +1,22 @@
+<?php
+/**
+ * Created by PhpStorm.
+ * User: wangzhiqiang
+ * Date: 2019/4/24
+ * Time: 15:21
+ */
+
+namespace App\Models;
+
+use Illuminate\Database\Eloquent\Model;
+use Illuminate\Database\Eloquent\SoftDeletes;
+
+class Post extends Model
+{
+    //
+    use SoftDeletes;
+    protected $table = 'post';
+    protected $guarded = [];
+
+
+}

+ 22 - 0
app/PostCollect.php

@@ -0,0 +1,22 @@
+<?php
+/**
+ * Created by PhpStorm.
+ * User: wangzhiqiang
+ * Date: 2019/4/24
+ * Time: 15:21
+ */
+
+namespace App\Models;
+
+use Illuminate\Database\Eloquent\Model;
+use Illuminate\Database\Eloquent\SoftDeletes;
+
+class PostCollect extends Model
+{
+    //
+    use SoftDeletes;
+    protected $table = 'post_collect';
+    protected $guarded = [];
+
+
+}

+ 22 - 0
app/PostLike.php

@@ -0,0 +1,22 @@
+<?php
+/**
+ * Created by PhpStorm.
+ * User: wangzhiqiang
+ * Date: 2019/4/24
+ * Time: 15:21
+ */
+
+namespace App\Models;
+
+use Illuminate\Database\Eloquent\Model;
+use Illuminate\Database\Eloquent\SoftDeletes;
+
+class PostLike extends Model
+{
+    //
+    use SoftDeletes;
+    protected $table = 'post_like';
+    protected $guarded = [];
+
+
+}

+ 29 - 3
app/Repositories/FeedRepositories.php

@@ -18,11 +18,37 @@ class FeedRepositories
     {
     }
 
-    public function feedCreate($request){
-        $fans = $request['fans'];
-        foreach ($fans as $fan){
+    public function getFeedType($action)
+    {
+        $type = [
+            'like' => 1,
+            'forward' => 2,
+            'collect' => 3,
+            'comment' => 4,
+            'focus' => 5,
+            'publish' => 6
+        ];
+        return isset($type[$action]) ? $type[$action] : 0;
+    }
 
+    public function feedCreate($request)
+    {
+        $fans = $request['fans'];
+        $behaviorFlag = $request['behavior_flag'];
+        $feedType = $this->feedCreate($behaviorFlag);
+        if($feedType){
+            $data = [];
+            foreach ($fans as $fan) {
+                $data['uid'] = $fan;
+                $data['follow_uid'] = $request['target_id'];
+                $data['follow_username'] = $request['target_username'];
+                $data['follow_avatar'] = $request['target_avatar'];
+                $data['type'] = $feedType;
+                $data['relate_id'] = $request['post_id'];
+                $data['content'] = $request['post_desc'];
+            }
         }
+
     }
 
 

+ 20 - 4
app/Repositories/PostRepositories.php

@@ -10,7 +10,9 @@ namespace App\Repositories;
 
 
 use App\Models\Behavior;
+use App\Models\PostCollect;
 use App\Models\PostData;
+use App\Models\PostLike;
 use Illuminate\Support\Facades\Log;
 use Illuminate\Support\Facades\Redis;
 
@@ -35,16 +37,30 @@ class PostRepositories
         } elseif (isset($request['behavior_flag']) && $request['behavior_flag'] == 'unlike') {
             $post->dislike += 1;
         } elseif (isset($request['behavior_flag']) && $request['behavior_flag'] == 'like') {
-            $post->praise_count += 1;
-            $post->praise_real_count += 1;
+            if($request['behavior_value']){
+                $post->praise_count += 1;
+                $post->praise_real_count += 1;
+                PostLike::create(['uid'=>$request['target_id'],'post_id'=>$request['post_id']]);
+            }else{
+                $post->praise_count -= 1;
+                $post->praise_real_count -= 1;
+                PostLike::where(['uid'=>$request['target_id'],'post_id'=>$request['post_id']])->delete();
+            }
         } elseif (isset($request['behavior_flag']) && $request['behavior_flag'] == 'forward') {
             $post->share_count += 1;
             $post->share_real_count += 1;
         } elseif (isset($request['behavior_flag']) && $request['behavior_flag'] == 'comment') {
             $post->comment_count += 1;
         } elseif (isset($request['behavior_flag']) && $request['behavior_flag'] == 'collect') {
-            $post->collect_count += 1;
-            $post->collect_real_count += 1;
+            if($request['behavior_value']) {
+                $post->collect_count += 1;
+                $post->collect_real_count += 1;
+                PostCollect::create(['uid'=>$request['target_id'],'post_id'=>$request['post_id']]);
+            }else{
+                $post->collect_count -= 1;
+                $post->collect_real_count -= 1;
+                PostCollect::where(['uid'=>$request['target_id'],'post_id'=>$request['post_id']])->delete();
+            }
         }
         return $post->save();
     }