lizhen_gitee 1 anno fa
parent
commit
84dd90148f

+ 20 - 0
application/api/controller/User.php

@@ -655,6 +655,26 @@ class User extends Api
         Db::commit();
         $this->success();
     }
+    /**
+     * 修改会员权限
+     */
+    public function setpower()
+    {
+        $is_vip = $this->is_vip($this->auth->id);
+        if(!$is_vip){
+            $this->error('VIP才能设置隐私权限');
+        }
+
+        $data = [
+            'yinsi'   => input('yinsi',0),
+            'yinshen' => input('yinshen',0),
+            'wuhen'   => input('wuhen',0),
+        ];
+
+        $update_rs = Db::name('user_power')->where('id',$this->auth->id)->update($data);
+
+        $this->success();
+    }
 
     public function set_status_switch(){
 

+ 16 - 11
application/api/controller/Usercenter.php

@@ -87,22 +87,27 @@ class Usercenter extends Api
 
 
         //查看别人信息,就要留下痕迹
-        $data = [
-            'uid' => $this->auth->id,
-            'to_uid' => $uid,
-        ];
-        $check = Db::name('user_visit')->where($data)->find();
-        if($check){
-            Db::name('user_visit')->where($data)->update(['number'=>$check['number']+1,'updatetime'=>time()]);
-        }else{
-            $data['number'] = 1;
-            $data['updatetime'] = time();
-            Db::name('user_visit')->insertGetId($data);
+        if($this->user_power($this->auth->id,'wuhen') != 1){
+            $data = [
+                'uid' => $this->auth->id,
+                'to_uid' => $uid,
+            ];
+            $check = Db::name('user_visit')->where($data)->find();
+            if($check){
+                Db::name('user_visit')->where($data)->update(['number'=>$check['number']+1,'updatetime'=>time()]);
+            }else{
+                $data['number'] = 1;
+                $data['updatetime'] = time();
+                Db::name('user_visit')->insertGetId($data);
+            }
         }
 
         //活跃,在线
         $userinfo['is_active'] = $this->user_isactive($uid);
 
+        //用户权限
+        //$userinfo['power'] = Db::name('user_power')->where('user_id',$uid)->find();
+
         $this->success('success',$userinfo);
 
     }

+ 1 - 1
application/api/controller/Userfollow.php

@@ -168,7 +168,7 @@ class Userfollow extends Api
         ];
 
         $check = Db::name('user_follow')->where($map2)->find();
-        if(!$check){
+        if(empty($check) && $this->user_power($this->auth->id,'yinsi') != 1){
             $message = [
                 'user_id' => $follow_uid,
                 'title'   => '好友请求',

+ 18 - 6
application/common/controller/Api.php

@@ -453,14 +453,26 @@ class Api
         return $active;
     }
 
-    //当前登录用户是否vip
-    protected function is_vip(){
+    //用户是否vip
+    protected function is_vip($user_id){
         $result = 0;
-        if($this->auth->isLogin()){
-            $vip_endtime = db('user_wallet')->where('user_id',$this->auth->id)->value('vip_endtime');
-            $result = $vip_endtime > time() ? 1 : 0;
-        }
+
+        $vip_endtime = db('user_wallet')->where('user_id',$user_id)->value('vip_endtime');
+        $result = $vip_endtime > time() ? 1 : 0;
+
         return $result;
     }
 
+    protected function user_power($user_id,$power = ''){
+        $is_vip = $this->is_vip($user_id);
+        if($is_vip != 1){
+            return 0;
+        }
+        $power = db('user_power')->where('user_id',$user_id)->value($power);
+        return $power;
+
+    }
+
+
+
 }

+ 6 - 0
application/common/library/Auth.php

@@ -268,6 +268,8 @@ class Auth
             Db::name('user_wallet')->insertGetId(['user_id'=>$user->id]);
             //注册用户活跃
             Db::name('user_active')->insertGetId(['user_id'=>$user->id]);
+            //注册用户权限
+            Db::name('user_power')->insertGetId(['user_id'=>$user->id]);
 
             //注册成功的事件
             Hook::listen("user_register_successed", $this->_user, $data);
@@ -329,6 +331,8 @@ class Auth
             Db::name('user_wallet')->insertGetId(['user_id'=>$user->id]);
             //注册用户活跃
             Db::name('user_active')->insertGetId(['user_id'=>$user->id]);
+            //注册用户权限
+            Db::name('user_power')->insertGetId(['user_id'=>$user->id]);
 
             //注册成功的事件
             Hook::listen("user_register_successed", $this->_user, $data);
@@ -612,6 +616,8 @@ class Auth
         $userinfo['userpop'] = $userpop;
         $userinfo['userandroidpop'] = $userandroidpop;
 
+        //用户权限
+        $userinfo['power'] = Db::name('user_power')->where('user_id',$this->id)->find();
 
         return $userinfo;
     }