xielin 5 vuotta sitten
vanhempi
commit
805619b33d

+ 2 - 44
app/Http/Controllers/V1/BeanDetailController.php

@@ -18,46 +18,6 @@ class BeanDetailController extends Controller
         $this->beanRepository = $beanRepository;
     }
 
-    //获取指定时间彩虹豆收支明细
-    public function beanDetail(Request $request)
-    {
-        $validator = Validator::make($request->all(), [
-            'type' => ['required',Rule::in([0,1, 2])],
-        ]);
-        if ($validator->fails()) {
-            return $this->jsonError($validator->errors()->first());
-        }
-
-        $beanDetail = $this->beanRepository->beanDetail($request->all());
-        if ($beanDetail){
-            return $this->jsonSuccess($beanDetail);
-        }else{
-            return $this->jsonError('没有找到对应彩虹豆明细');
-        }
-    }
-
-    //获取星球-用户彩虹豆相关信息
-    public function getBean(Request $request)
-    {
-        $user_bean = $this->beanRepository->getBean($request->all());
-        if ($user_bean){
-            return $this->jsonSuccess($user_bean);
-        }else{
-            return $this->jsonError('没有找到星球彩虹豆信息');
-        }
-    }
-
-    //昨日优秀居民
-    public function excellentResidents(Request $request)
-    {
-        $excellent_residents = $this->beanRepository->excellentResidents($request->all());
-        if ($excellent_residents){
-            return $this->jsonSuccess($excellent_residents);
-        }else{
-            return $this->jsonError('没有找到昨日优秀居民相关信息');
-        }
-    }
-
     //排行榜
     public function rankingList(Request $request)
     {
@@ -71,9 +31,8 @@ class BeanDetailController extends Controller
         if ($top_most){
             return $this->jsonSuccess($top_most);
         }else{
-            return $this->jsonError('没有找到排行榜相关信息');
+            return $this->jsonSuccess();
         }
-
     }
 
     //星球首页
@@ -83,8 +42,7 @@ class BeanDetailController extends Controller
         if ($star_home){
             return $this->jsonSuccess($star_home);
         }else{
-            return $this->jsonError('没有找到星球首页相关信息');
+            return $this->jsonSuccess();
         }
-
     }
 }

+ 9 - 0
app/Http/Controllers/V1/BehaviorController.php

@@ -36,4 +36,13 @@ class BehaviorController extends Controller
         $row = $this->behaviorRepositories->getBehavior($request['identify']);
         return jsonSuccess($row);
     }
+
+    /**
+     * 获取所有行为
+     */
+    public function getAllBehavior()
+    {
+        $data = $this->behaviorRepositories->getAllBehavior();
+        return jsonSuccess($data);
+    }
 }

+ 34 - 0
app/Http/Controllers/V1/FeedController.php

@@ -0,0 +1,34 @@
+<?php
+/**
+ * Created by PhpStorm.
+ * User: Administrator
+ * Date: 2019-06-24
+ * Time: 14:40
+ */
+
+namespace App\Http\Controllers\V1;
+
+
+use App\Repositories\FeedRepositories;
+use App\Transformers\FeedTransformer;
+use Illuminate\Support\Facades\Validator;
+use League\Fractal\Manager;
+use League\Fractal\Pagination\IlluminatePaginatorAdapter;
+use League\Fractal\Resource\Collection;
+use Illuminate\Http\Request;
+
+class FeedController extends Controller {
+    public function __construct(FeedRepositories $feedRepositories) {
+        $this->feedRepositories = $feedRepositories;
+    }
+    //关注feed流
+    public function index(Request $request){
+        $data = $request->all();
+        $list = $this->feedRepositories->myFeed($data);
+        $fractal = new Manager();
+        $resource = new Collection($list, new FeedTransformer());
+        $resource->setPaginator(new IlluminatePaginatorAdapter($list));
+        $data = $fractal->createData($resource)->toArray();
+        return jsonSuccess($data);
+    }
+}

+ 4 - 0
app/Models/Post.php

@@ -32,4 +32,8 @@ class Post extends Model
         return Topic::whereIn('id', explode(',', $this->topic_ids))->pluck('name', 'id');
     }
 
+    public function comment(){
+        return $this->hasOne('App\Models\PostComment', 'post_id', 'id');
+    }
+
 }

+ 51 - 84
app/Repositories/BeanRepository.php

@@ -66,7 +66,7 @@ class BeanRepository
             ->groupBy('related_content_id', 'content_author_id')->orderBy('count', 'desc')->limit(1)->get();
         $collent = $collent->toArray();
         foreach ($collent as $k=>$v){
-            $collent[$k]['type'] = 'collent';
+            $collent[$k]['type'] = 'collect';
         }
 
         //文章被喜欢最多用户
@@ -150,97 +150,63 @@ class BeanRepository
 
     public function rankingList($request)
     {
-        $yesterday_start = Carbon::now()->addDays(-1)->startOfDay()->toDateTimeString();
-        $yesterday_end = Carbon::now()->addDays(-1)->endOfDay()->toDateTimeString();
         if ($request['type'] == 0){//排行榜赚豆达人
-            $all_beans = Redis::ZREVRANGEBYSCORE('user_rainbow_bean2019-06-21', 100000000, 0, array('WITHSCORES'=>true,'limit' => array(0, 20)));//.$yesterday
+            $yesterday = Carbon::yesterday()->toDateString();
+            $all_beans = Redis::ZREVRANGEBYSCORE('user_rainbow_bean'.$yesterday, 100000000, 0, array('WITHSCORES'=>true,'limit' => array(0, 20)));
 
                 $new_arr = [];
+            if ($all_beans) {
                 $i = 0;
                 foreach ($all_beans as $key => $val) {
                     $new_arr[$i]['uid'] = $key;
                     $new_arr[$i]['count'] = $val;
                     $i++;
                 }
-            $uids = implode(',', array_column($new_arr,'uid'));
-            $user_data = $this->getFollowMembersStatus($uids);
-            if ($user_data){
-                foreach ($new_arr as $k=>$v){
-                    if(!isset($user_data[$v['uid']])) continue;
-                    $new_arr[$k]['follow_status'] = $user_data[$v['uid']]['follow_status'];
-                    $new_arr[$k]['username'] = $user_data[$v['uid']]['username'];
-                    $new_arr[$k]['avatar'] = $user_data[$v['uid']]['avatar'];
+                $uids = implode(',', array_column($new_arr, 'uid'));
+                $user_data = $this->getFollowMembersStatus($uids);
+                if ($user_data) {
+                    foreach ($new_arr as $k => $v) {
+                        if (!isset($user_data[$v['uid']])) continue;
+                        $new_arr[$k]['follow_status'] = $user_data[$v['uid']]['follow_status'];
+                        $new_arr[$k]['username'] = $user_data[$v['uid']]['username'];
+                        $new_arr[$k]['avatar'] = $user_data[$v['uid']]['avatar'];
+                    }
                 }
             }
             return $new_arr;
 
         }elseif ($request['type'] == 1){//排行榜人脉达人
-//            $registered_most = Redis::get('yesterday_registered_most');
-//            $registered_mosts = json_decode($registered_most,true);
-
-            //昨日拉新最多前十人
-            $registered_most = RegisteredRecord::
-//                whereBetween('created_at', [$yesterday_start,$yesterday_end])
-                select(DB::raw('count(*) as count'),'superior_uid')
-                ->groupBy('superior_uid')->orderBy('count','desc')->limit(10)->get();
-            $registered_most = $registered_most->toArray();
-
-            $superior_uid = array_column($registered_most,'superior_uid');
-            $uids = implode(',', array_unique($superior_uid));
-            $user_data = $this->getFollowMembersStatus($uids);
-            if ($user_data){
-                foreach ($registered_most as $k=>$v){
-                    if(!isset($user_data[$v['superior_uid']])) continue;
-                    $registered_most[$k]['follow_status'] = $user_data[$v['superior_uid']]['follow_status'];
-                    $registered_most[$k]['username'] = $user_data[$v['superior_uid']]['username'];
-                    $registered_most[$k]['avatar'] = $user_data[$v['superior_uid']]['avatar'];
+            $registered_mosts = Redis::get('yesterday_registered_most');
+            $registered_most = json_decode($registered_mosts,true);
+            if ($registered_most){
+                $superior_uid = array_column($registered_most,'superior_uid');
+                $uids = implode(',', array_unique($superior_uid));
+                $user_data = $this->getFollowMembersStatus($uids);
+                if ($user_data){
+                    foreach ($registered_most as $k=>$v){
+                        if(!isset($user_data[$v['superior_uid']])) continue;
+                        $registered_most[$k]['follow_status'] = $user_data[$v['superior_uid']]['follow_status'];
+                        $registered_most[$k]['username'] = $user_data[$v['superior_uid']]['username'];
+                        $registered_most[$k]['avatar'] = $user_data[$v['superior_uid']]['avatar'];
+                    }
                 }
             }
             return $registered_most;
 
         }else{//排行榜最佳作者
-//            $all_best_author = Redis::get('yesterday_best_author');
-//            $all_best_authors = json_decode($all_best_author,true);
-            //昨日文章产生彩虹豆最多前十人
-            $comment_author = CommentRecord::select(DB::raw('count(*) as count'),'generation_quantity','content_author_id','related_content_id')->groupBy('generation_quantity','related_content_id','content_author_id')
-                ->orderBy('generation_quantity','desc')
-                ->limit(10)
-                ->get();;
-            $comment_best_author = $comment_author->toArray();
-            foreach ($comment_best_author as $k=>$v){
-                $comment_best_author[$k]['type'] = 'comment';
-            }
-            $general_author = GeneralRecord::select(DB::raw('count(*) as count'),'generation_quantity','content_author_id','related_content_id')->groupBy('generation_quantity','related_content_id','content_author_id')
-                ->orderBy('generation_quantity','desc')
-                ->limit(10)
-                ->get();;;
-            $general_best_author = $general_author->toArray();
-            foreach ($general_best_author as $k=>$v){
-                $general_best_author[$k]['type'] = 'general';
-            }
-            $release_author =ReleaseRecord::
-//                ->where('created_at', '>=', $time)
-                select(DB::raw('count(*) as count'),'generation_quantity','uid as content_author_id','related_content_id')
-                ->groupBy('generation_quantity','content_author_id','related_content_id')->orderBy('generation_quantity','desc')->limit(10)->get();
-            $release_best_author = $release_author->toArray();
-            foreach ($release_best_author as $k=>$v){
-                $release_best_author[$k]['type'] = 'release';
-            }
-            $all_best_author = array_merge($comment_best_author,$general_best_author,$release_best_author);
-
-            $column = array_column($all_best_author,'generation_quantity');
-            array_multisort($column,SORT_DESC,$all_best_author);
-
-            $all_best_author = array_slice($all_best_author,0,10);
-            $content_author_id = array_column($all_best_author,'content_author_id');
-            $uids = implode(',', array_unique($content_author_id));
-            $user_data = $this->getFollowMembersStatus($uids);
-            if ($user_data){
-                foreach ($all_best_author as $k=>$v){
-                    if(!isset($user_data[$v['content_author_id']])) continue;
-                    $all_best_author[$k]['follow_status'] = $user_data[$v['content_author_id']]['follow_status'];
-                    $all_best_author[$k]['username'] = $user_data[$v['content_author_id']]['username'];
-                    $all_best_author[$k]['avatar'] = $user_data[$v['content_author_id']]['avatar'];
+            $all_best_authors = Redis::get('yesterday_best_author');
+            $all_best_author = json_decode($all_best_authors,true);
+            if ($all_best_author){
+                $content_author_id = array_column($all_best_author,'content_author_id');
+                $uids = implode(',', array_unique($content_author_id));
+                $user_data = $this->getFollowMembersStatus($uids);
+                if ($user_data){
+                    foreach ($all_best_author as $k=>$v){
+                        if(!isset($user_data[$v['content_author_id']])) continue;
+                        $all_best_author[$k]['follow_status'] = $user_data[$v['content_author_id']]['follow_status'];
+                        $all_best_author[$k]['username'] = $user_data[$v['content_author_id']]['username'];
+                        $all_best_author[$k]['avatar'] = $user_data[$v['content_author_id']]['avatar'];
+                    }
                 }
             }
             return $all_best_author;
@@ -264,18 +230,19 @@ class BeanRepository
 
     public function starHome($request)
     {
-        $star_home['star'] = [];
-        $my_bean = [];
-        $star_home['star'][0]['mybean'] = $my_bean;
-        $star_home['star'][0]['mybean']['user_all_bean'] = Redis::get('user_all_bean');//用户总彩虹豆
-        $star_home['star'][0]['mybean']['yesterday_add_bean'] = Redis::get('yesterday_add_bean');//昨日发放彩虹豆
-        $star_home['star'][0]['mybean']['user_count'] = Redis::get('user_count');//已入驻居民
-        $star_home['star'][0]['mybean']['yesterday_add_user'] = Redis::get('yesterday_add_user');//昨日新增居民
-        $star_home['star'][0]['mybean']['yesterday_quantity_issued'] = Redis::get('yesterday_quantity_issued');//昨日发放总彩虹豆
+        $star_home = [];
+        $user_bean = Redis::get('my_bean');
+        $user_bean = json_decode($user_bean,true);
+        $yesterday_quantity_issued = Redis::get('yesterday_quantity_issued');
+        $star_home['mybean']['user_all_bean'] = $user_bean['user_all_bean'] ?? 0;//用户总彩虹豆
+        $star_home['mybean']['yesterday_add_bean'] = $user_bean['yesterday_add_bean'] ?? 0;//昨日发放彩虹豆
+        $star_home['mybean']['user_count'] = $user_bean['user_count'] ?? 0;//已入驻居民
+        $star_home['mybean']['yesterday_add_user'] = $user_bean['yesterday_add_user'] ?? 0;//昨日新增居民
+        $star_home['mybean']['yesterday_quantity_issued'] = $yesterday_quantity_issued ?? 0;//昨日发放总彩虹豆
 
-        $star_home['star'][1]['excellent_residents'] = $this->excellentResidents($request);
-        $star_home['star'][2]['daily_news'] = $this->getNews($request);
-        $star_home['star'][3]['tips'] = $this->getPlatformContent($id = 1);
+        $star_home['excellent_residents'] = $this->excellentResidents($request);
+        $star_home['daily_news'] = $this->getNews($request);
+        $star_home['tips'] = $this->getPlatformContent($id = 1);
 
         return $star_home;
 

+ 8 - 0
app/Repositories/BehaviorRepositories.php

@@ -33,5 +33,13 @@ class BehaviorRepositories
         return [];
     }
 
+    /**
+     * 获取所有行为
+     */
+    public function getAllBehavior()
+    {
+        return Behavior::pluck('virus_behavior_id', 'behavior_identification');
+    }
+
 
 }

+ 81 - 2
app/Repositories/FeedRepositories.php

@@ -11,15 +11,23 @@ namespace App\Repositories;
 
 use App\Models\Behavior;
 use App\Models\Feed;
+use App\Models\PostComment;
 use Carbon\Carbon;
 use Illuminate\Support\Facades\Log;
+use Tymon\JWTAuth\Facades\JWTAuth;
+use App\Models\PostDislike;
+use App\Models\PostLike;
+use App\Models\PostCollect;
+use App\Traits\UserTrait;
 
 class FeedRepositories
 {
-    public function __construct(Feed $feed,PostRepositories $postRepositories)
+    use UserTrait;
+    public function __construct(Feed $feed,PostRepositories $postRepositories,PostComment $postComment)
     {
         $this->feed = $feed;
         $this->postRepositories = $postRepositories;
+        $this->postComment = $postComment;
     }
 
     public function getFeedType($action)
@@ -99,6 +107,77 @@ class FeedRepositories
         }
         return true;
     }
+    //我的feed
+    public function myFeed($request){
+        $token =  JWTAuth::decode(JWTAuth::getToken());
+        $perPage = isset($request['per_page']) ? $request['per_page'] : 20;
+        $where[] = ['uid',$token['user']->uid];
+        $data = $this->feed
+            ->where($where)
+            ->orderBy('id','desc')
+            ->paginate($perPage);
+        if($data){
+            foreach ($data as &$value){
+                if($value['type'] == 6){
+                    $post = $this->postRepositories->detail($value['relate_id']);
+                    $value['relate_data'] = $this->postDetail($post);
+                }
+                if($value['type'] == 5){
+                    $value['content'] = null;
+                    $value['relate_data'] = $this->getFollowMemberFans($value['relate_id']);
+                }
+                //$data[] = $value;
+            }
+        }
+        return $data;
+    }
+    public function postDetail($post){
+        $token =  JWTAuth::decode(JWTAuth::getToken());
+        $uid = $token['user']->uid;
+        $imgs = [];
+        foreach($post->imgs as $img){
+            $imgs[] = $img['img'];
+        }
 
-
+        $topic = [];
+        foreach($post->topic() as $key => $val){
+            $topic[] = [
+                'id' => $key,
+                'name' => $val
+            ];
+        }
+        $isFollow = 0;
+        $followStatus = $this->getFollowStatus($uid, $post['follow_uid']);
+        if($followStatus){
+            $isFollow = $followStatus;
+        }
+        return [
+            'id' => $post['id'],
+            'type' => $post['type'],
+            'created_at' => Carbon::parse($post['created_at'])->diffForHumans(),
+            'uid' => $post['uid'],
+            'username' => $post['username'],
+            'avatar' => $post['avatar'],
+            'topic' => $topic,
+            'title' => $post['title'],
+            'content' => $post['content'],
+            'location' => $post['location'],
+            'img' => $post['img'],
+            'imgs' => $imgs,
+            'video' => $post['video'],
+            'pv' => $post->data->pv,
+            'praise_count' => $post->data->praise_count,
+            'comment_count' => $post->data->comment_count,
+            'available_bean' => $post->data->available_bean,
+            'will_collect_bean' => $post->data->will_collect_bean,
+            'post_comment' => $this->getPostComment($post['id']),
+            'is_like' => PostLike::where('post_id', $post['id'])->where('uid', $uid)->exists()?1:0,
+            'is_dislike' => PostDislike::where('post_id', $post['id'])->where('uid', $uid)->exists()?1:0,
+            'is_collect' => PostCollect::where('post_id', $post['id'])->where('uid', $uid)->exists()?1:0,
+            'is_follow' => $isFollow,
+        ];
+    }
+    public function getPostComment($post_id){
+       return $this->postComment->where(['post_id'=>$post_id,'parent_id'=>0,'is_delete'=>0  ])->select('id','uid','username','content')->orderBy('id','desc')->take(2)->get();
+    }
 }

+ 32 - 4
app/Repositories/MemberFollowTopicRepository.php

@@ -9,8 +9,10 @@
 namespace App\Repositories;
 
 use App\Models\MemberFollowTopic;
+use Illuminate\Support\Facades\DB;
 use Tymon\JWTAuth\Facades\JWTAuth;
 use Illuminate\Support\Facades\Auth;
+use Illuminate\Support\Facades\Log;
 
 class MemberFollowTopicRepository {
     public function __construct(MemberFollowTopic $memberFollowTopic,CategoryRepository $categoryRepository) {
@@ -31,12 +33,38 @@ class MemberFollowTopicRepository {
                     'topic_id' => $value['id'],
                 ];
             }
-            $res = $this->memberFollowTopic->insert($category_topic_data);
-            if($res){
-                return jsonSuccess();
-            }else{
+            DB::beginTransaction();
+            try{
+                $res = $this->memberFollowTopic->insert($category_topic_data);
+                $topic = $this->updataMemberFollowSuggestTopic();
+                DB::commit();
+                if($res){
+                    //更改关注状态
+
+                    return jsonSuccess();
+                }else{
+                    return jsonError('关注失败');
+                }
+            }catch (QueryException $exception){
+                DB::rollBack();
+                Log::debug('新增话题:'.$exception->getMessage());
                 return jsonError('关注失败');
             }
+
+        }
+    }
+    //修改关注状态
+    public function updataMemberFollowSuggestTopic(){
+        try {
+            $sign = generateSign([], config('customer.app_secret'));
+            $url = config("customer.app_service_url").'/user/v2/member/updateFollowSuggestTopic';
+            //$url = 'http://localhost:8080/v2/member/updateFollowSuggestTopic';
+            $array = [
+                'json' => ['sign' => $sign], 'query' => [], 'http_errors' => false,'headers'=>['Authorization'=>"Bearer ".JWTAuth::getToken()]
+            ];
+            return http($url,$array,'put');
+        } catch (\Exception $e) {
+            return [];
         }
     }
     //关注单个话题

+ 0 - 37
app/Repositories/PostRepositories.php

@@ -20,7 +20,6 @@ use App\Models\PostLike;
 use App\Models\PostShare;
 use App\Models\Topic;
 use App\Service\DetectionService;
-use App\Service\RabbitMqUtil;
 use App\Traits\PostTrait;
 use App\Traits\UserTrait;
 use Illuminate\Database\QueryException;
@@ -42,7 +41,6 @@ class PostRepositories
                                 PostCollect $postCollect,
                                 PostShare $postShare,
                                 DetectionService $detectionService,
-                                RabbitMqUtil $rabbitMqUtil,
                                 Topic $topic)
     {
         $this->post = $post;
@@ -52,7 +50,6 @@ class PostRepositories
         $this->postCollect = $postCollect;
         $this->postShare = $postShare;
         $this->detectionService = $detectionService;
-        $this->rabbitMqUtil = $rabbitMqUtil;
         $this->topic = $topic;
     }
 
@@ -227,44 +224,10 @@ class PostRepositories
             if(isset($request['reply_uid']) && isset($request['reply_username'])){
                 $data['reply_uid'] = $request['reply_uid'];
                 $data['reply_username'] = $request['reply_username'];
-                $this->rabbitMqUtil->push('add_message', [
-                    'uid' => $request['reply_uid'],
-                    'message_show_type' => 'post_reply_main',
-                    'param' => [
-                        'uid' => $userInfo['uid'],
-                        'username' => $userInfo['username'],
-                        'post_id' => $post->id,
-                        'cover' => $post->img,
-                        'content' => subtext($request['content'], 20),
-                    ]
-                ]);
             }else{
                 $data['reply_uid'] = 0;
                 $data['reply_username'] = '';
-                $this->rabbitMqUtil->push('add_message', [
-                    'uid' => $comment->uid,
-                    'message_show_type' => 'post_reply',
-                    'param' => [
-                        'uid' => $userInfo['uid'],
-                        'username' => $userInfo['username'],
-                        'post_id' => $post->id,
-                        'cover' => $post->img,
-                        'content' => subtext($request['content'], 20),
-                    ]
-                ]);
             }
-        }else{
-            $this->rabbitMqUtil->push('add_message', [
-                'uid' => $post->uid,
-                'message_show_type' => 'post_comment',
-                'param' => [
-                    'uid' => $userInfo['uid'],
-                    'username' => $userInfo['username'],
-                    'post_id' => $post->id,
-                    'cover' => $post->img,
-                    'content' => subtext($request['content'], 20),
-                ]
-            ]);
         }
 
         DB::beginTransaction();

+ 12 - 0
app/Traits/PostTrait.php

@@ -8,10 +8,15 @@
  */
 namespace App\Traits;
 
+use App\Models\Post;
 use Illuminate\Support\Facades\Redis;
 
 trait PostTrait
 {
+//    public function __construct(Post $post) {
+//        $this->post = $post;
+//    }
+
     //预计可获得彩虹豆数
     public function availableBean()
     {
@@ -31,4 +36,11 @@ trait PostTrait
         }
         return intval($num * $t);
     }
+    //详情
+    public function detail($id)
+    {
+        return Post::join('post_data', 'post_data.post_id', '=', 'post.id')
+            ->select('post.*')
+            ->find($id);
+    }
 }

+ 19 - 4
app/Traits/UserTrait.php

@@ -12,7 +12,7 @@ use Tymon\JWTAuth\Facades\JWTAuth;
 
 trait UserTrait
 {
-
+    //获取用户
     public function getUserInfo() {
         try {
             $sign = generateSign([], config('customer.app_secret'));
@@ -26,11 +26,12 @@ trait UserTrait
         }
 
     }
-
+    //检查关注状态
     public function getFollowStatus($uid, $followUid) {
         try {
             $sign = generateSign([], config('customer.app_secret'));
             $url = config("customer.app_service_url").'/user/v2/follow/checkStatus';
+            //$url = 'http://localhost:8080/v2/follow/checkStatus';
             $array = [
                 'json' => ['sign' => $sign, 'uid' => $followUid, 'follow_uid' => $uid], 'query' => [], 'http_errors' => false,'headers'=>['Authorization'=>"Bearer ".JWTAuth::getToken()]
             ];
@@ -40,7 +41,7 @@ trait UserTrait
         }
 
     }
-
+    //检查关注状态 多个uid
     public function getFollowMembersStatus($uids) {
         try {
             $sign = generateSign([], config('customer.app_secret'));
@@ -53,6 +54,20 @@ trait UserTrait
             Log::debug($e->getMessage());
             return [];
         }
-
+    }
+    //检查关注状态 多个uid
+    public function getFollowMemberFans($follow_id) {
+        try {
+            $sign = generateSign([], config('customer.app_secret'));
+            $url = config("customer.app_service_url").'/user/v2/member/getFollowMemberFans';
+            //$url = 'http://localhost:8080/v2/member/getFollowMemberFans';
+            $array = [
+                'json' => ['sign' => $sign, 'follow_id' => $follow_id], 'query' => [], 'http_errors' => false,'headers'=>['Authorization'=>"Bearer ".JWTAuth::getToken()]
+            ];
+            return http($url,$array,'get');
+        } catch (\Exception $e) {
+            Log::debug($e->getMessage());
+            return [];
+        }
     }
 }

+ 46 - 0
app/Transformers/FeedTransformer.php

@@ -0,0 +1,46 @@
+<?php
+/**
+ * Created by PhpStorm.
+ * User: Administrator
+ * Date: 2019-06-24
+ * Time: 14:45
+ */
+
+namespace App\Transformers;
+
+
+use App\Models\Feed;
+use App\Repositories\PostRepositories;
+use App\Traits\PostTrait;
+use App\Traits\UserTrait;
+use League\Fractal\TransformerAbstract;
+use Carbon\Carbon;
+use App\Models\PostDislike;
+use App\Models\PostLike;
+
+class FeedTransformer extends TransformerAbstract {
+    use UserTrait;
+    use PostTrait;
+    public function transform(Feed $feed)
+    {
+        return [
+            'id' => $feed['id'],
+            'uid' => $feed['uid'],
+            'follow_uid' => $feed['follow_uid'],
+            'follow_username' => $feed['follow_username'],
+            'follow_avatar' => $feed['follow_avatar'],
+           // 'follow_status' => $this->getFollowStatus($feed['uid'],$feed['follow_uid']),
+            'type' => $feed['type'],
+            'relate_id' => $feed['relate_id'],
+            'relate_data' => $feed['relate_data'],
+            'content' => json_decode($feed['content']),
+            'created_at' => Carbon::parse($feed['created_at'])->diffForHumans(),
+        ];
+    }
+    public function getData($feed){
+//        if($feed['type'] == 6){
+//           return $this->detail($feed['relate_id']);
+//        }
+    }
+
+}

+ 4 - 4
composer.json

@@ -33,14 +33,14 @@
         ],
         "psr-4": {
             "App\\": "app/"
-        },
-        "files" : [
-            "app/Helper/helper.php"
-        ]
+        }
     },
     "autoload-dev": {
         "classmap": [
             "tests/"
+        ],
+        "files" : [
+            "app/Helper/helper.php"
         ]
     },
     "scripts": {

+ 4 - 5
routes/api.php

@@ -20,6 +20,8 @@ $api->version('v1', [
     $api->get('getBehaviorByIdentify', 'BehaviorController@getBehaviorByIdentify');
     $api->get('getVodUploadAuth', 'AliYunVodController@getVodUploadAuth');
     $api->get('getPlayUrlByVideoId', 'AliYunVodController@getPlayUrlByVideoId');
+    //获取所有行为
+    $api->get('getAllBehavior', 'BehaviorController@getAllBehavior');
     //登录+验签
     $api->group(['middleware' => ['chxq_jwt_auth']], function ($api) {
         //发布内容
@@ -67,11 +69,6 @@ $api->version('v1', [
         //收藏列表
         $api->get('postCollect', 'PostCollectController@index');
 
-        //用户彩虹豆明细获取
-        $api->get('beanDetail', 'BeanDetailController@beanDetail');
-        //用户彩虹豆信息获取
-        $api->get('getBean', 'BeanDetailController@getBean');
-
         //优秀居民信息获取
         $api->get('excellentResidents', 'BeanDetailController@excellentResidents');
         //排行榜
@@ -81,6 +78,8 @@ $api->version('v1', [
 
         //用户发布数,收藏数,转发数
         $api->get('post/memberPostStatistics', 'PostController@memberPostStatistics');
+        //关注feed流
+        $api->get('feed', 'FeedController@index');
     });
 
 });