feed = $feed; $this->postRepositories = $postRepositories; } public function getFeedType($action) { $type = [ 'like' => 1, 'forward' => 2, 'collect' => 3, 'comment' => 4, 'focus' => 5, 'publish' => 6 ]; return isset($type[$action]) ? $type[$action] : 0; } /** * 创建feed流 * 更新帖子统计数 * @param $request */ public function contentCreate($request){ $this->feedCreate($request); //关注操作不需要调用 if($request['behavior_flag']!='focus'){ $this->postRepositories->updatePostData($request); } } /** * 创建feed流内容 * @param $request */ public function feedCreate($request) { Log::debug('创建Feed流-请求参数:'.json_encode($request)); $fans = isset($request['fans'])?$request['fans']:[]; if(empty($fans)){//没有粉丝,不用插入 Log::debug('创建Feed流-没有粉丝,不用创建相关feed流'); return true; } $behaviorFlag = isset($request['behavior_flag'])?$request['behavior_flag']:''; $feedType = $this->getFeedType($behaviorFlag); Log::debug('创建Feed流-feed类型:'.$feedType); 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'] = isset($request['target_avatar'])?$request['target_avatar']:''; $data['type'] = $feedType; if(in_array($feedType,[1,2,3])){ $data['relate_id'] = $request['post_id']; $content['post_desc'] = $request['post_desc']; }elseif ($feedType==4){//评论 $data['relate_id'] = $request['post_id']; $content['post_desc'] = $request['post_desc']; $content['comment_desc'] = $request['comment_content']; }elseif ($feedType==6){//发布 $data['relate_id'] = $request['post_id']; $content['post_desc'] = $request['post_desc']; }elseif ($feedType==5){//关注 $data['relate_id'] = $request['focus_uid']; $content = ""; } $data['content'] = json_encode($content); $data['created_at'] = Carbon::now(); $data['updated_at'] = Carbon::now(); Log::debug('创建Feed流-data:'.json_encode($data)); $this->feed->insert($data); } } return true; } }