Просмотр исходного кода

Merge branch 'suggest' into develop

wzq лет назад: 5
Родитель
Сommit
a0b564dba6

+ 9 - 6
app/Http/Controllers/V1/PostController.php

@@ -159,15 +159,18 @@ class PostController extends Controller
     public function suggestPost(Request $request)
     {
         $userInfo = $this->getUserInfo();
-        if (empty($userInfo)) {
-            Log::debug('获取用户信息失败suggestPost'.json_encode($request));
-            return jsonError('获取用户信息失败');
+        if ($userInfo) {
+            $uid = $userInfo['uid'];
+            $inviteCode = $userInfo['invite_code'];
+        }else{
+            $uid = 0;
+            $inviteCode = '';
         }
 
         $param = $request->all();
         $list = $this->postRepositories->suggestPost($param);
         $fractal = new Manager();
-        $resource = new Collection($list, new SuggestTransformer($userInfo['uid'], $userInfo['invite_code']));
+        $resource = new Collection($list, new SuggestTransformer($uid, $inviteCode));
         $resource->setPaginator(new IlluminatePaginatorAdapter($list));
         $data = $fractal->createData($resource)->toArray();
 
@@ -184,7 +187,6 @@ class PostController extends Controller
             } else {
                 $floor = json_decode($floor, true);
             }
-
             if ($floor) {
                 $newData = [];
                 foreach ($data['data'] as $key => $val) {
@@ -210,7 +212,8 @@ class PostController extends Controller
                         } elseif ($floor[$key + 1]['show_type'] == 'user') {
                             $userData = [];
                             foreach ($floor[$key + 1]['data'] as $item) {
-                                $userData[] = array_merge($item, ['follow_status' => $this->getFollowStatus($userInfo['uid'], $item['uid'])]);
+                                $followStatus = $uid ? $this->getFollowStatus($userInfo['uid'], $item['uid']) : 0;
+                                $userData[] = array_merge($item, ['follow_status' => $followStatus]);
                             }
                             if ($userData) {
                                 $newData[] = [

+ 11 - 3
app/Transformers/Post/SuggestTransformer.php

@@ -47,6 +47,14 @@ class SuggestTransformer extends TransformerAbstract
                 'name' => $val
             ];
         }
+        $isLike = 0;
+        $isDislike = 0;
+        $isCollect = 0;
+        if($this->uid){
+            $isLike = PostLike::where('post_id', $post['id'])->where('uid', $this->uid)->exists()?1:0;
+            $isDislike = PostDislike::where('post_id', $post['id'])->where('uid', $this->uid)->exists()?1:0;
+            $isCollect = PostCollect::where('post_id', $post['id'])->where('uid', $this->uid)->exists()?1:0;
+        }
         return [
             'show_type' => 'post',
             'id' => $post['id'],
@@ -67,9 +75,9 @@ class SuggestTransformer extends TransformerAbstract
             'comment_count' => $post->data->comment_count,
             'collect_count' => $post->data->collect_count,
             'will_collect_bean' => $post->data->will_collect_bean + 3 * $post->data->pv,
-            'is_like' => PostLike::where('post_id', $post['id'])->where('uid', $this->uid)->exists()?1:0,
-            'is_dislike' => PostDislike::where('post_id', $post['id'])->where('uid', $this->uid)->exists()?1:0,
-            'is_collect' => PostCollect::where('post_id', $post['id'])->where('uid', $this->uid)->exists()?1:0,
+            'is_like' => $isLike,
+            'is_dislike' => $isDislike,
+            'is_collect' => $isCollect,
             'comment' => $comment,
             'is_follow' => $this->getFollowStatus($this->uid, $post['uid']),
             'h5url' => config('customer.share_post_h5url')."?post_id={$post['id']}&invite_code={$this->invite_code}",

+ 2 - 3
routes/api.php

@@ -43,7 +43,8 @@ $api->version('v1', [
         $api->post('music/upload', 'MusicListController@addMusic');
 
     });
-    $api->get('post/suggest2', 'PostController@suggestPost');
+    //推荐内容
+    $api->get('post/suggest', 'PostController@suggestPost');
     //登录+验签
     $api->group(['middleware' => ['chxq_jwt_auth','chxq_sign']], function ($api) {
         //发布内容
@@ -56,8 +57,6 @@ $api->version('v1', [
         $api->get('post', 'PostController@index');
         //视频列表
         $api->get('post/video', 'PostController@video');
-        //推荐内容
-        $api->get('post/suggest', 'PostController@suggestPost');
         //评价&回复
         $api->post('post/comment', 'PostController@comment');
         //评价列表