xiaogang hace 3 años
padre
commit
8b56b6a888
Se han modificado 2 ficheros con 27 adiciones y 3 borrados
  1. 13 2
      app/Http/Controllers/Api/UserController.php
  2. 14 1
      app/Services/UserService.php

+ 13 - 2
app/Http/Controllers/Api/UserController.php

xqd
@@ -153,14 +153,25 @@ class UserController extends Controller
         $user = auth('api')->user();
         $userinfo = UserInfoModel::query()->where('user_id', $user->id)->first();
 
+        //不看拉黑用户
+        $black_list = UserBlacklistModel::query()
+            ->where('user_id',$user->id)
+            ->orWhere('black_id',$user->id)
+            ->select(['black_id'])
+            ->get()
+            ->toArray();
+        $ids = array_column($black_list,'black_id');
+        $ids[]= $user->id;
+
+
         $userinfo['hobby'] = !empty($userinfo['hobby'])?explode(',',$userinfo['hobby']):[];
         $userinfo['photo'] = !empty($userinfo['photo'])?json_decode($userinfo['photo'],true):[];
         $video_info = !empty($userinfo['video'])?json_decode($userinfo['video'],true):[];
         $userinfo['video'] = array_column($video_info,'url');
         $userinfo['like_num'] = $user->like_num;
         $userinfo['like_me_num'] = $user->like_me_num;
-        $userinfo['look_num'] = $user->look_num;
-        $userinfo['look_num_red'] = UserLookModel::query()->where(['look_id'=>$user->id,'status'=>0])->count();;
+        $userinfo['look_num'] = UserLookModel::query()->where(['look_id'=>$user->id])->whereNotIn('user_id',$ids)->count();;
+        $userinfo['look_num_red'] = UserLookModel::query()->where(['look_id'=>$user->id,'status'=>0])->whereNotIn('user_id',$ids)->count();
         $userinfo['sex'] = $user->sex;
         $userinfo['mobile'] = $user->mobile;
         $userinfo['is_auth'] = $user->is_auth;

+ 14 - 1
app/Services/UserService.php

xqd
@@ -45,12 +45,25 @@ class UserService
      */
     public function looked_me(){
         $user = auth('api')->user();
+
+
+        //不看拉黑用户
+        $black_list = UserBlacklistModel::query()
+            ->where('user_id',$user->id)
+            ->orWhere('black_id',$user->id)
+            ->select(['black_id'])
+            ->get()
+            ->toArray();
+        $ids = array_column($black_list,'black_id');
+        $ids[]= $user->id;
+
+
         $res = UserLookModel::query()
             ->with(['user'=>function($query){
                 $query->select('id','sex','is_vip','tencent_im_user_id');
             },'user_info'])
             ->where('look_id',$user->id)
-            ->whereNotIn('user_id',[$user->id])
+            ->whereNotIn('user_id',$ids)
             ->whereHas("user",function($query){
                 $query->where('is_distory',0)->select();
             })