|
@@ -554,7 +554,6 @@ class PostRepositories
|
|
|
public function myTopicList($request)
|
|
|
{
|
|
|
$perPage = isset($request['per_page']) ? $request['per_page'] : 20;
|
|
|
-
|
|
|
$uid = 0;
|
|
|
$user = $this->getUserInfo();
|
|
|
if($user){
|
|
@@ -580,31 +579,45 @@ class PostRepositories
|
|
|
Log::debug("非帖子类操作,不操作帖子统计数量".json_encode($request));
|
|
|
return true;
|
|
|
}
|
|
|
+ //帖子缓存信息key
|
|
|
+ $postInfoKey = "post_info_".$postId;
|
|
|
$post = PostData::where('post_id', $postId)->first();
|
|
|
if(!$post) return true;
|
|
|
if (isset($request['behavior_flag']) && $request['behavior_flag'] == 'read') {
|
|
|
$post->pv += 1;
|
|
|
$post->pv_real += 1;
|
|
|
+ Redis::HINCRBY($postInfoKey,'pv',1);
|
|
|
Log::debug("帖子:".$postId."被阅读,pv +1");
|
|
|
} elseif (isset($request['behavior_flag']) && $request['behavior_flag'] == 'unlike') {
|
|
|
+ //用户不喜欢帖子key
|
|
|
+ $postUnLikeKey = "post_unlike_".$postId;
|
|
|
$post->dislike_count += 1;
|
|
|
PostDislike::create(['uid'=>$request['target_id'],'post_id'=>$request['post_id']]);
|
|
|
+ Redis::sadd($postUnLikeKey,$request['target_id']);
|
|
|
+ Redis::HINCRBY($postInfoKey,'dislike_count',1);
|
|
|
Log::debug("帖子:".$postId."被不喜欢,unlike +1");
|
|
|
} elseif (isset($request['behavior_flag']) && $request['behavior_flag'] == 'like') {
|
|
|
+ //用户点赞帖子
|
|
|
+ $postLikeKey = "post_like_".$postId;
|
|
|
if($request['behavior_value']){
|
|
|
$post->praise_count += 1;
|
|
|
$post->praise_real_count += 1;
|
|
|
PostLike::create(['uid'=>$request['target_id'],'post_id'=>$request['post_id']]);
|
|
|
+ Redis::sadd($postLikeKey,$request['target_id']);
|
|
|
+ Redis::HINCRBY($postInfoKey,'praise_count',1);
|
|
|
Log::debug("帖子:".$postId."被点赞,praise_count +1");
|
|
|
}else{
|
|
|
$post->praise_count -= 1;
|
|
|
$post->praise_real_count -= 1;
|
|
|
PostLike::where(['uid'=>$request['target_id'],'post_id'=>$request['post_id']])->delete();
|
|
|
+ Redis::srem($postLikeKey,$request['target_id']);
|
|
|
+ Redis::HINCRBY($postInfoKey,'praise_count',-1);
|
|
|
Log::debug("帖子:".$postId."被取消点赞,praise_count -1");
|
|
|
}
|
|
|
} elseif (isset($request['behavior_flag']) && $request['behavior_flag'] == 'forward') {
|
|
|
$post->share_count += 1;
|
|
|
$post->share_real_count += 1;
|
|
|
+ Redis::HINCRBY($postInfoKey,'share_count',1);
|
|
|
$shareRow = PostShare::where(['uid'=>$request['target_id'],'post_id'=>$request['post_id']])->first();
|
|
|
if($shareRow){
|
|
|
PostShare::where(['uid'=>$request['target_id'],'post_id'=>$request['post_id']])->update(['uid'=>$request['target_id'],'post_id'=>$request['post_id']]);
|
|
@@ -614,17 +627,24 @@ class PostRepositories
|
|
|
Log::debug("帖子:".$postId."被分享,share_count +1");
|
|
|
} elseif (isset($request['behavior_flag']) && $request['behavior_flag'] == 'comment') {
|
|
|
$post->comment_count += 1;
|
|
|
+ Redis::HINCRBY($postInfoKey,'comment_count',1);
|
|
|
Log::debug("帖子:".$postId."被评论,comment_count +1");
|
|
|
} elseif (isset($request['behavior_flag']) && $request['behavior_flag'] == 'collect') {
|
|
|
+ //用户收藏帖子
|
|
|
+ $postCollectKey = "post_collect_".$postId;
|
|
|
if($request['behavior_value']) {
|
|
|
$post->collect_count += 1;
|
|
|
$post->collect_real_count += 1;
|
|
|
PostCollect::create(['uid'=>$request['target_id'],'post_id'=>$request['post_id']]);
|
|
|
+ Redis::sadd($postCollectKey,$request['target_id']);
|
|
|
+ Redis::HINCRBY($postInfoKey,'collect_count',1);
|
|
|
Log::debug("帖子:".$postId."被收藏,collect_count +1");
|
|
|
}else{
|
|
|
$post->collect_count -= 1;
|
|
|
$post->collect_real_count -= 1;
|
|
|
PostCollect::where(['uid'=>$request['target_id'],'post_id'=>$request['post_id']])->delete();
|
|
|
+ Redis::srem($postCollectKey,$request['target_id']);
|
|
|
+ Redis::HINCRBY($postInfoKey,'collect_count',-1);
|
|
|
Log::debug("帖子:".$postId."被取消收藏,collect_count -1");
|
|
|
}
|
|
|
}
|