Browse Source

iS_vip的值,0,1,2

lizhen_gitee 3 months ago
parent
commit
5dfc92e73c

+ 0 - 5
application/api/controller/Gift.php

@@ -158,15 +158,10 @@ class Gift extends Api
 
     //礼物列表
     public function giftlist() {
-//        $is_vip = $this->is_vip($this->auth->id);
 
         $where = [
             'is_show' => 1,
-//            'is_vip'  => 0,
         ];
-//        if($is_vip){
-//            unset($where['is_vip']);
-//        }
 
         $giftList = Db::name('gift')->where($where)->order('weigh','desc')->select();
         $giftList = list_domain_image($giftList,['image','special']);

+ 2 - 2
application/api/controller/Index.php

@@ -81,7 +81,7 @@ class Index extends Api
 
         $field = [
             'user.id','user.nickname','user.birthday','user.height','user.avatar','user.bio','user.gender','user.idcard_status', 'user.real_status',
-            'user.is_active','user.is_recommend', 'user.cityname','user.is_hideaddress','uw.vip_endtime',
+            'user.is_active','user.is_recommend', 'user.cityname','user.is_hideaddress','uw.vip_endtime','uw.vip_level'
         ];
 
         $list = Db::name('user')->alias('user')->field($field)
@@ -118,7 +118,7 @@ class Index extends Api
             }
 
             //VIP
-            $v['is_vip'] = $v['vip_endtime'] > time() ? 1 : 0;
+            $v['is_vip'] = $this->is_vip($v['vip_endtime'],$v['vip_level']);
 
             //是否打过招呼: 1是  0否
             $v['is_chat'] = in_array($v['id'],$mt_user_greet) ? 1 : 0;

+ 8 - 8
application/api/controller/Topicdongtai.php

@@ -119,7 +119,7 @@ class Topicdongtai extends Api
             ->join('user_wallet uw','user.id = uw.user_id','LEFT')
             ->join('topic_hub th','dt.topic_id = th.id','LEFT')
             ->join('user_remark ur', 'ur.to_user_id = user.id and ur.user_id = '.$this->auth->id, 'LEFT')
-            ->field('dt.*,user.nickname,user.avatar,user.gender,user.birthday,user.idcard_status,user.real_status,user.is_hideaddress,th.name,uw.vip_endtime,ur.nickname_remark')
+            ->field('dt.*,user.nickname,user.avatar,user.gender,user.birthday,user.idcard_status,user.real_status,user.is_hideaddress,th.name,uw.vip_endtime,uw.vip_level,ur.nickname_remark')
             ->where($where)
             ->where($where_follow)
             ->order($orderby)->autopage()->select();
@@ -143,7 +143,7 @@ class Topicdongtai extends Api
                 $val['createtime'] = get_last_time($val['createtime']);
                 $val['cityname'] = $val['is_hideaddress'] ? '' : $val['address'] ;
                 //用户vip
-                $val['is_vip'] = $val['vip_endtime'] > time() ? 1 : 0;
+                $val['is_vip'] = $this->is_vip($val['vip_endtime'],$val['vip_level']);
                 unset($val['vip_endtime']);
 
                 //是否点过赞:0否  1是
@@ -194,7 +194,7 @@ class Topicdongtai extends Api
             ->join('user_wallet uw','user.id = uw.user_id','LEFT')
             ->join('topic_hub th','dt.topic_id = th.id','LEFT')
             ->join('user_remark ur', 'ur.to_user_id = user.id and ur.user_id = '.$this->auth->id, 'LEFT')
-            ->field('dt.*,user.nickname,user.avatar,user.gender,user.birthday,user.idcard_status,user.real_status,user.is_hideaddress,th.name,uw.vip_endtime,ur.nickname_remark')
+            ->field('dt.*,user.nickname,user.avatar,user.gender,user.birthday,user.idcard_status,user.real_status,user.is_hideaddress,th.name,uw.vip_endtime,uw.vip_level,ur.nickname_remark')
             ->where($where)
             ->order($orderby)->autopage()->select();
         $list = list_domain_image($list,['images','avatar']);
@@ -219,7 +219,7 @@ class Topicdongtai extends Api
                 $val['cityname'] = $val['is_hideaddress'] ? '' : $val['address'];
 
                 //用户vip
-                $val['is_vip'] = $val['vip_endtime'] > time() ? 1 : 0;
+                $val['is_vip'] = $this->is_vip($val['vip_endtime'],$val['vip_level']);
                 unset($val['vip_endtime']);
 
                 //是否点过赞:0否  1是
@@ -264,7 +264,7 @@ class Topicdongtai extends Api
             ->join('user_wallet uw','user.id = uw.user_id','LEFT')
             ->join('topic_hub th','dt.topic_id = th.id','LEFT')
             ->join('user_remark ur', 'ur.to_user_id = user.id and ur.user_id = '.$this->auth->id, 'LEFT')
-            ->field('dt.*,user.nickname,user.avatar,user.gender,user.birthday,user.idcard_status,user.real_status,user.is_hideaddress,th.name,uw.vip_endtime,ur.nickname_remark')
+            ->field('dt.*,user.nickname,user.avatar,user.gender,user.birthday,user.idcard_status,user.real_status,user.is_hideaddress,th.name,uw.vip_endtime,uw.vip_level,ur.nickname_remark')
             ->where('dt.id',$id)->find();
         if (!$info) {
             $this->error('您的网络开小差啦~');
@@ -280,7 +280,7 @@ class Topicdongtai extends Api
         $info['createtime'] = get_last_time($info['createtime']);
         $info['cityname'] = $info['is_hideaddress'] ? '' : $info['address'];
         //用户vip
-        $info['is_vip'] = $info['vip_endtime'] > time() ? 1 : 0;
+        $info['is_vip'] = $this->is_vip($info['vip_endtime'],$info['vip_level']);
         unset($info['vip_endtime']);
 
         //是否点赞过
@@ -901,7 +901,7 @@ class Topicdongtai extends Api
             ->join('user_wallet uw','user.id = uw.user_id','LEFT')
             ->join('user_remark ur', 'ur.to_user_id = user.id and ur.user_id = '.$this->auth->id, 'LEFT')
             ->join('topic_hub th','dt.topic_id = th.id','LEFT')
-            ->field('dt.*,user.nickname,user.avatar,user.gender,user.birthday,user.idcard_status,user.real_status,user.is_hideaddress,th.name,uw.vip_endtime,ur.nickname_remark')
+            ->field('dt.*,user.nickname,user.avatar,user.gender,user.birthday,user.idcard_status,user.real_status,user.is_hideaddress,th.name,uw.vip_endtime,uw.vip_level,ur.nickname_remark')
             ->where($where)
             ->order($orderby)->autopage()->select();
         $list = list_domain_image($list,['images','avatar']);
@@ -927,7 +927,7 @@ class Topicdongtai extends Api
                 $val['cityname'] = $val['is_hideaddress'] ? '' : $val['address'];
 
                 //用户vip
-                $val['is_vip'] = $val['vip_endtime'] > time() ? 1 : 0;
+                $val['is_vip'] = $this->is_vip($val['vip_endtime'],$val['vip_level']);
                 unset($val['vip_endtime']);
 
                 //是否点过赞:0否  1是

+ 5 - 6
application/api/controller/Usercenter.php

@@ -109,8 +109,8 @@ class Usercenter extends Api
         $userinfo['hometown_city'] = ($userinfo['hometown_city'] && $userinfo['is_hideaddress'] == 0) ? $userinfo['hometown_city'] : '';
 
         //vip
-        $userinfo['vip_endtime'] = Db::name('user_wallet')->where('user_id',$uid)->value('vip_endtime');
-        $userinfo['is_vip'] = $userinfo['vip_endtime'] > time() ? 1 : 0;
+        $userwallet = Db::name('user_wallet')->where('user_id',$uid)->find();
+        $userinfo['is_vip'] = $this->is_vip($userwallet['vip_endtime'],$userwallet['vip_level']);
 
         //是否喜欢和关注
         $is_follow = Db::name('user_follow')->where(['uid'=>$this->auth->id,'follow_uid'=>$uid])->find();
@@ -1000,7 +1000,7 @@ $resArray['money'] = $money;  //返回给前端的计算结果
         $info['chat_price_vip'] = $info['chat_price']; //vip价格
         $info['voice_price_vip'] = $info['voice_price'];
         $info['video_price_vip'] = $info['video_price'];
-        $info['is_vip'] = 0; //是否vip: 0否  1是
+
         //获取聊天折扣
         $vip_chat_discount = config('site.vip_chat_discount');
         if ($vip_chat_discount >= 0 && $vip_chat_discount <= 10) {
@@ -1029,9 +1029,8 @@ $resArray['money'] = $money;  //返回给前端的计算结果
         } else {
             $wallet_info = Db::name('user_wallet')->where(['user_id' => $this->auth->id])->find();
         }
-        if ($wallet_info['vip_endtime'] >= time()) {
-            $info['is_vip'] = 1;
-        }
+
+        $info['is_vip'] = $this->is_vip($wallet_info['vip_endtime'],$wallet_info['vip_level']);
         $info['gold'] = $wallet_info['gold'];
         $info['plat_scale'] = config('site.gift_plat_scale'); //平台抽成百分比
         $info['money_to_gold'] = config('site.money_to_gold'); //

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

@@ -25,7 +25,7 @@ class Userfollow extends Api
             ->join('user','follow.follow_uid = user.id','LEFT')
             ->join('user_remark ur', 'ur.to_user_id = user.id and ur.user_id = '.$this->auth->id, 'LEFT')
             ->join('user_wallet uw','follow.follow_uid = uw.id','LEFT')
-            ->field('user.id,user.nickname,user.avatar,user.real_status,user.idcard_status,user.birthday,user.gender,follow.status,uw.vip_endtime,ur.nickname_remark')
+            ->field('user.id,user.nickname,user.avatar,user.real_status,user.idcard_status,user.birthday,user.gender,follow.status,uw.vip_endtime,uw.vip_level,ur.nickname_remark')
             ->where('follow.uid',$this->auth->id)->where($where)->order('follow.id desc')->autopage()->select();
 
         $list = list_domain_image($list,['avatar']);
@@ -50,7 +50,7 @@ class Userfollow extends Api
                 } else {
                     $val['charm_level'] = '';
                 }*/
-                $val['is_vip'] = $val['vip_endtime'] > time() ? 1 : 0;
+                $val['is_vip'] = $this->is_vip($val['vip_endtime'],$val['vip_level']);
                 $val['nickname'] = !empty($val['nickname_remark']) ? $val['nickname_remark'] : $val['nickname'];
             }
         }
@@ -66,7 +66,7 @@ class Userfollow extends Api
             ->join('user','follow.uid = user.id','LEFT')
             ->join('user_wallet uw','follow.follow_uid = uw.id','LEFT')
             ->join('user_remark ur', 'ur.to_user_id = user.id and ur.user_id = '.$this->auth->id, 'LEFT')
-            ->field('user.id,user.nickname,user.avatar,user.real_status,user.idcard_status,user.birthday,user.gender,follow.status,uw.vip_endtime,ur.nickname_remark')
+            ->field('user.id,user.nickname,user.avatar,user.real_status,user.idcard_status,user.birthday,user.gender,follow.status,uw.vip_endtime,uw.vip_level,ur.nickname_remark')
             ->where('follow.follow_uid',$this->auth->id)->order('follow.id desc')->autopage()->select();
 
         $list = list_domain_image($list,['avatar']);
@@ -91,7 +91,7 @@ class Userfollow extends Api
                 } else {
                     $val['charm_level'] = '';
                 }*/
-                $val['is_vip'] = $val['vip_endtime'] > time() ? 1 : 0;
+                $val['is_vip'] = $this->is_vip($val['vip_endtime'],$val['vip_level']);
                 $val['nickname'] = !empty($val['nickname_remark']) ? $val['nickname_remark'] : $val['nickname'];
             }
         }

+ 2 - 2
application/api/controller/Userwallet.php

@@ -15,8 +15,8 @@ class Userwallet extends Api
 
     //我的钱包余额
     public function my_wallet(){
-        $wallet = Db::name('user_wallet')->field('money,gold,vip_endtime')->where(['user_id' => $this->auth->id])->find();
-        $wallet['is_vip'] = $wallet['vip_endtime'] > time() ? 1 : 0;
+        $wallet = Db::name('user_wallet')->field('money,gold,vip_endtime,vip_level')->where(['user_id' => $this->auth->id])->find();
+        $wallet['is_vip'] = $this->is_vip($wallet['vip_endtime'],$wallet['vip_level']);
         $this->success('success',$wallet);
     }
 

+ 10 - 5
application/common/controller/Api.php

@@ -398,13 +398,18 @@ class Api
     }
 
     //获取用户是否vip,1是,0否
-    protected function is_vip($user_id){
-        $result = 0;
+    protected function is_vip($vip_endtime,$vip_level){
+        $is_vip = 0;
 
-        $vip_endtime = db('user_wallet')->where('user_id',$user_id)->value('vip_endtime');
-        $result = $vip_endtime > time() ? 1 : 0;
+        if($vip_endtime > time()){
+            $is_vip = 1;
 
-        return $result;
+            if($vip_level == 20){
+                $is_vip = 2;
+            }
+        }
+
+        return $is_vip;
     }
 
     //ip获取地址

+ 3 - 2
application/common/library/Auth.php

@@ -725,8 +725,9 @@ class Auth
         $userinfo['hometown_city'] = $userinfo['hometown_city'] ? : '';
 
         //vip
-        $userinfo['vip_endtime'] = Db::name('user_wallet')->where('user_id',$this->id)->value('vip_endtime');
-        $userinfo['is_vip'] = $userinfo['vip_endtime'] > time() ? 1 : 0;
+        $userwallet = Db::name('user_wallet')->where('user_id',$this->id)->find();
+        $userinfo['vip_endtime'] = $userwallet['vip_endtime'];
+        $userinfo['is_vip'] = $this->is_vip($userwallet['vip_endtime'],$userwallet['vip_level']);
         $userinfo['vip_chat_discount'] = config('site.vip_chat_discount') ? : 10; //vip聊天折扣
         $userinfo['vip_video_discount'] = config('site.vip_video_discount') ? : 10; //vip视频折扣