Преглед изворни кода

他人的个人资料,粉丝数,朋友数,关注数

lizhen_gitee пре 1 година
родитељ
комит
e9ac84e9e0
2 измењених фајлова са 12 додато и 19 уклоњено
  1. 3 3
      application/api/controller/Usercenter.php
  2. 9 16
      application/common/model/User.php

+ 3 - 3
application/api/controller/Usercenter.php

@@ -58,14 +58,14 @@ class UserCenter extends Api
         $userInfo['province_text'] = $userInfoA['province_text'];
         $userInfo['city_text']     = $userInfoA['city_text'];
         $userInfo['job_text']      = $userInfoA['job_text'];
-//        $userInfo['friends_num']   = $userInfoA['friends_num'];
+        $userInfo['friends_num']   = $userInfoA['friends_num'];
         $userInfo['look_num']      = $userInfoA['look_num'];
 
         //关注人数,粉丝人数
         $follow_num = Db::name('user_follow')->where(['uid'=>$user_id])->count('id');
         $fans_num   = Db::name('user_follow')->where(['follow_uid'=>$user_id])->count('id');
-        $userinfo['follow_num'] = $follow_num;
-        $userinfo['fans_num'] = $fans_num;
+        $userInfo['follow_num'] = $follow_num;
+        $userInfo['fans_num'] = $fans_num;
 
         // 查看者是否已关注
         $userInfo["is_follow"] = $this->is_follow($this->auth->id,$user_id);

+ 9 - 16
application/common/model/User.php

@@ -69,22 +69,15 @@ class User extends Model
         return isset($list['name']) ? $list['name'] : '';
     }
 
-    /*public function getFriendsNumAttr($value, $data)
+    public function getFriendsNumAttr($userId)
     {
-        $value = $value ? $value : (isset($data['id']) ? $data['id'] : 0);
-        $num = 0;
-        if (!empty($value)) {
-            $where['user_id'] = $value;
-            $userFansFollow = model('UserFansFollow')->field('fans_id')->where($where)->select();
-            $fansIds = array_column($userFansFollow,'fans_id');
-            if (!empty($fansIds)) {
-                $fansWhere['user_id'] = ['in', $fansIds];
-                $fansWhere['fans_id'] = $value;;
-                $num = model('UserFansFollow')->where($fansWhere)->count();
-            }
-        }
-        return $num;
-    }*/
+        $my_follow_uids = db('user_follow')->where('uid',$userId)->column('follow_uid');
+        $my_fans_uids   = db('user_follow')->where('follow_uid',$userId)->column('uid');
+
+        $friend = array_intersect($my_follow_uids,$my_fans_uids);//数组交集
+
+        return count($friend);
+    }
 
     public function getLookNumAttr($value, $data)
     {
@@ -343,7 +336,7 @@ class User extends Model
             $userInfo['province_text'] = isset($areaData[$provinceId]) ? $areaData[$provinceId] : '';
             $userInfo['city_text'] = isset($areaData[$cityId]) ? $areaData[$cityId] : '';
 
-//            $userInfo['friends_num'] = $this->getFriendsNumAttr(false,['id' => $userId]);
+            $userInfo['friends_num'] = $this->getFriendsNumAttr($userId);
             $userInfo['look_num'] = $this->getLookNumAttr(false,['id' => $userId]);
         }
         return $userInfo;