Kaynağa Gözat

Merge branch 'develop' of http://git.caihongxingqiu.net/rainbow/community-service into develop

xielin 5 yıl önce
ebeveyn
işleme
ddc32e0462

+ 7 - 0
app/Http/Controllers/V1/BeanDetailController.php

@@ -35,4 +35,11 @@ class BeanDetailController extends Controller
             return $this->jsonError('没有找到对应彩虹豆明细');
         }
     }
+
+    //获取星球-用户彩虹豆相关信息
+    public function getBean(Request $request)
+    {
+        $user_bean = $this->memberRepository->getBean($request->all());
+        return jsonSuccess($user_bean);
+    }
 }

+ 49 - 1
app/Http/Controllers/V1/PostController.php

@@ -165,7 +165,23 @@ class PostController extends Controller
             $newData = [];
             foreach($data['data'] as $key => $val){
                 if(isset($floor[$key+1])){
-                    $newData[] = $floor[$key+1];
+                    if($floor[$key+1]['show_type'] == 'banner'){
+                        $newData[] = [
+                            'show_type' => 'banner',
+                        ];
+                    }elseif($floor[$key+1]['show_type'] == 'user'){
+                        $newData[] = [
+                            'show_type' => 'user',
+                        ];
+                    }elseif($floor[$key+1]['show_type'] == 'video'){
+                        $newData[] = [
+                            'show_type' => 'video',
+                        ];
+                    }elseif($floor[$key+1]['show_type'] == 'topic'){
+                        $newData[] = [
+                            'show_type' => 'topic',
+                        ];
+                    }
                 }
                 $newData[] = $val;
             }
@@ -303,5 +319,37 @@ class PostController extends Controller
         return jsonSuccess($data);
     }
 
+    /**
+     * 获取话题
+     */
+    public function getTopic(Request $request)
+    {
+        $validator = Validator::make($request->all(), [
+            'ids' => 'required|string',
+        ]);
+        if ($validator->fails()) {
+            return jsonError($validator->errors()->first());
+        }
+
+        $data = $this->postRepositories->getTopic($request['ids']);
+        return jsonSuccess($data);
+    }
+
+    /**
+     * 获取内容视频组
+     */
+    public function getPostVideo(Request $request)
+    {
+        $validator = Validator::make($request->all(), [
+            'ids' => 'required|string',
+        ]);
+        if ($validator->fails()) {
+            return jsonError($validator->errors()->first());
+        }
+
+        $data = $this->postRepositories->getPostVideo($request['ids']);
+        return jsonSuccess($data);
+    }
+
 
 }

+ 10 - 1
app/Repositories/MemberRepository.php

@@ -12,7 +12,7 @@ namespace App\Repositories;
 use App\Service\RabbitMqUtil;
 use Illuminate\Support\Facades\Log;
 use Tymon\JWTAuth\Facades\JWTAuth;
-
+use Illuminate\Support\Facades\Redis;
 class MemberRepository
 {
 
@@ -80,4 +80,13 @@ class MemberRepository
             return [];
         }
     }
+
+    public function getBean($request)
+    {
+        $user_bean = [];
+        $user_bean['user_count'] = Redis::get('user_count');
+        $user_bean['yesterday_add_user'] = Redis::get('yesterday_add_user');
+        $user_bean['yesterday_add_bean'] = Redis::get('yesterday_add_bean');
+        return $user_bean;
+    }
 }

+ 36 - 2
app/Repositories/PostRepositories.php

@@ -318,14 +318,16 @@ class PostRepositories
         $perPage = isset($request['per_page']) ? $request['per_page'] : 20;
 
         $where = [];
+        $id = 0;
         if(isset($request['id'])){
-            $where[] = ['post.id', '<>', $request['id']];
+            $id = $request['id'];
         }
         $where[] = ['type', 'video'];
         return $this->post
             ->join('post_data', 'post_data.post_id', '=', 'post.id')
-            ->select('post.*')
+            ->select('post.*', DB::raw("IF (post.id = {$id},1,0) as sort"))
             ->where($where)
+            ->orderBy('sort', 'desc')
             ->orderBy('weight','desc')
             ->paginate($perPage);
     }
@@ -536,5 +538,37 @@ class PostRepositories
             ->find($id);
     }
 
+    /**
+     * 获取话题
+     */
+    public function getTopic($ids)
+    {
+        $topics = $this->topic
+            ->whereIn('id', explode(',',$ids))
+            ->get();
+        $data = [];
+        foreach($topics as $topic){
+            $data[] = [
+                'id' => $topic->id,
+                'name' => $topic->name,
+                'img' => $topic->img,
+                'follow_count' => $topic->follow->count() + 9876,
+            ];
+        }
+        return $data;
+    }
+
+    /**
+     * 获取内容视频组
+     */
+    public function getPostVideo($ids)
+    {
+        return $this->post
+            ->select('id', 'img', 'uid', 'username', 'avatar')
+            ->whereIn('id', explode(',',$ids))
+            ->where('type', 'video')
+            ->get();
+    }
+
 
 }

+ 6 - 0
routes/api.php

@@ -46,6 +46,10 @@ $api->version('v1', [
         $api->get('post/topic', 'PostController@topicPost');
         //话题列表
         $api->get('topic', 'PostController@topicList');
+        //获取话题
+        $api->get('topic/group', 'PostController@getTopic');
+        //获取内容视频组
+        $api->get('post/video/group', 'PostController@getPostVideo');
         //话题详情
         $api->get('topic/detail', 'PostController@topicDetail');
         //关注推荐话题
@@ -63,6 +67,8 @@ $api->version('v1', [
 
         //用户彩虹豆明细获取
         $api->get('beanDetail', 'BeanDetailController@beanDetail');
+        //用户彩虹豆信息获取
+        $api->get('getBean', 'BeanDetailController@getBean');
     });
 
 });