Przeglądaj źródła

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

zhangchangchun 5 lat temu
rodzic
commit
11ea2300e7

+ 3 - 0
app/Repositories/FeedRepositories.php

@@ -86,15 +86,18 @@ class FeedRepositories
                     $data['relate_id'] = $request['post_id'];
                     $content['post_desc'] = $request['post_desc'];
                     $content['beans'] = isset($request['rewards']['bean'])?intval($request['rewards']['bean']):0;
+                    $content['post_type'] = $request['post_type'];
                 }elseif ($feedType==4){//评论
                     $data['relate_id'] = $request['post_id'];
                     $content['post_desc'] = $request['post_desc'];
                     $content['comment_desc'] = $request['comment_content'];
                     $content['beans'] = isset($request['rewards']['bean'])?intval($request['rewards']['bean']):0;
+                    $content['post_type'] = $request['post_type'];
                 }elseif ($feedType==6){//发布
                     $data['relate_id'] = $request['post_id'];
                     $content['post_desc'] = $request['post_desc'];
                     $content['beans'] = isset($request['rewards']['bean'])?intval($request['rewards']['bean']):0;
+                    $content['post_type'] = $request['post_type'];
                 }elseif ($feedType==5){//关注
                     $data['relate_id'] = $request['focus_uid'];
                     $content = [];

+ 30 - 0
app/Repositories/PostRepositories.php

@@ -21,6 +21,7 @@ use App\Models\PostShare;
 use App\Models\Topic;
 use App\Service\AliYunVodService;
 use App\Service\DetectionService;
+use App\Traits\CmsTrait;
 use App\Traits\PostTrait;
 use App\Traits\UserTrait;
 use Illuminate\Database\QueryException;
@@ -35,6 +36,7 @@ class PostRepositories
 {
     use UserTrait;
     use PostTrait;
+    use CmsTrait;
     public function __construct(Post $post,
                                 PostData $postData,
                                 PostImgs $postImgs,
@@ -319,6 +321,34 @@ class PostRepositories
             $id = $request['id'];
         }
         $where[] = ['type', 'video'];
+        if(isset($request['type'])){
+            if($request['type'] == 'hot'){
+                $ids = Redis::get('hotVideoIds');
+                if(!$ids){
+                    $ids = $this->hotVideoIds();
+                    if(!$ids){
+                        $ids = '';
+                    }
+                }
+                Log::debug('热门视频ids'.$ids);
+                return $this->post
+                    ->join('post_data', 'post_data.post_id', '=', 'post.id')
+                    ->select('post.*', DB::raw("IF (post.id = {$id},1,0) as sort"))
+                    ->where($where)
+                    ->whereIn('post.id', explode(',', $ids))
+                    ->orderBy('sort', 'desc')
+                    ->orderByRaw(DB::raw("FIELD(post.id,{$ids})"))
+                    ->paginate($perPage);
+            }elseif($request['type'] == 'one'){
+                $where[] = ['post.id', $id];
+                return $this->post
+                    ->join('post_data', 'post_data.post_id', '=', 'post.id')
+                    ->select('post.*')
+                    ->where($where)
+                    ->paginate($perPage);
+            }
+
+        }
         return $this->post
             ->join('post_data', 'post_data.post_id', '=', 'post.id')
             ->select('post.*', DB::raw("IF (post.id = {$id},1,0) as sort"))

+ 12 - 0
app/Traits/CmsTrait.php

@@ -22,6 +22,18 @@ trait CmsTrait
         } catch (\Exception $e) {
             return [];
         }
+    }
 
+    public function hotVideoIds() {
+        try {
+            $sign = generateSign([], config('customer.app_secret'));
+            $url = config("customer.app_service_url").'/cms/v2/floor/hotVideoIds';
+            $array = [
+                'json' => ['sign' => $sign], 'query' => [], 'http_errors' => false,'headers'=>['Authorization'=>"Bearer ".JWTAuth::getToken()]
+            ];
+            return http($url,$array,'get');
+        } catch (\Exception $e) {
+            return [];
+        }
     }
 }

+ 1 - 0
app/Transformers/Post/ListTransformer.php

@@ -27,6 +27,7 @@ class ListTransformer extends TransformerAbstract
             'username' => subtext($post['username'], 10),
             'avatar' => $post['avatar'],
             'title' => $post['title'],
+            'content' => subtext($post['content'], 20),
             'img' => $post['img'],
             'praise_count' => $post->data->praise_count,
             'is_like' => PostLike::where('post_id', $post['id'])->where('uid', $this->uid)->exists()?1:0,