first(); if (isset($request['behavior_flag']) && $request['behavior_flag'] == 'read') { $post->pv += 1; $post->pv_real += 1; } elseif (isset($request['behavior_flag']) && $request['behavior_flag'] == 'unlike') { $post->dislike += 1; } elseif (isset($request['behavior_flag']) && $request['behavior_flag'] == 'like') { if($request['behavior_value']){ $post->praise_count += 1; $post->praise_real_count += 1; PostLike::create(['uid'=>$request['target_id'],'post_id'=>$request['post_id']]); }else{ $post->praise_count -= 1; $post->praise_real_count -= 1; PostLike::where(['uid'=>$request['target_id'],'post_id'=>$request['post_id']])->delete(); } } elseif (isset($request['behavior_flag']) && $request['behavior_flag'] == 'forward') { $post->share_count += 1; $post->share_real_count += 1; } elseif (isset($request['behavior_flag']) && $request['behavior_flag'] == 'comment') { $post->comment_count += 1; } elseif (isset($request['behavior_flag']) && $request['behavior_flag'] == 'collect') { if($request['behavior_value']) { $post->collect_count += 1; $post->collect_real_count += 1; PostCollect::create(['uid'=>$request['target_id'],'post_id'=>$request['post_id']]); }else{ $post->collect_count -= 1; $post->collect_real_count -= 1; PostCollect::where(['uid'=>$request['target_id'],'post_id'=>$request['post_id']])->delete(); } } return $post->save(); } /** * 收集所有有操作的帖子,存入redis * 供后续计算帖子权重 * @param $id */ public function collectPostId($id) { $key = "community_calc_post_score"; Redis::sadd($key,$id); } }