wupengfei 2 年之前
父節點
當前提交
81cea5a7f7

+ 1 - 0
application/api/controller/Login.php

@@ -74,6 +74,7 @@ class Login extends Base
                     $reg_data['name'] = 'G'. substr_replace($account,'****',3,4);
                 }
                 $user_info = User::create($reg_data);
+                if($account_type == 1 && isset_full_check($reg_data,'is_first',1)) User::where('id',$user_info->id)->update(['group_first'=>$user_info->id]);
                 $reg_level = sysconf('vip_experience');
                 // 非企业会员注册,是否怎送会员
                 if($reg_level && $account_type == 2) UserLevelRank::create(['user_id'=>$user_info->id,'level_id'=>$reg_level,'start_time'=>time(),'end_time'=>time()+86400*7,'end_date'=>date('Y-m-d H:i:s',time()+86400*7)]);

+ 5 - 4
application/api/controller/UserCenter.php

@@ -41,18 +41,19 @@ class UserCenter extends Base
      */
     public function getUserInfo()
     {
-        $field = 'id,phone,name,level_id,headimg,openid,true_name,sex,invite_code,account_type,group_id,is_first';
+        $field = 'id,phone,name,level_id,headimg,openid,true_name,sex,invite_code,account_type,group_id,is_first,group_first';
         $user_info = User::field($field)->where('id',$this->user_id)->find()->toArray();
-        if(empty($user_info)) $this->error('用户信息不正确');
         if($user_info['account_type'] == 2 || ($user_info['account_type']== 1 && $user_info['is_first'])){
             $user_level = UserLevelRank::field('r.id,r.level_id,r.end_time,r.end_date,l.name,l.logo')
                 ->alias('r')
                 ->leftJoin('UserLevel l','l.id = r.level_id')
                 ->where([['r.user_id','=',$this->user_id],['r.end_time','>',time()]])->order('r.level_id desc')->find();
         }else{
-            if($user_info['is_first'] == 1)
+            $user_level = UserLevelRank::field('r.id,r.level_id,r.end_time,r.end_date,l.name,l.logo')
+                ->alias('r')
+                ->leftJoin('UserLevel l','l.id = r.level_id')
+                ->where([['r.user_id','=',$user_info['group_first']],['r.end_time','>',time()]])->order('r.level_id desc')->find();
         }
-
         $this->success('获取成功',['detail'=>$user_info,'user_level'=>$user_level ? $user_level->toArray() :null]);
     }
 

+ 2 - 3
application/common/model/UserLevelRank.php

@@ -7,15 +7,14 @@ class UserLevelRank extends Model
     // 判断会员是否有会员权限
     public static function getUserVip($user_id)
     {
-        $user_info = User::where('id',$user_id)->field('id,account_type,group_id,is_first')->find();
+        $user_info = User::where('id',$user_id)->field('id,account_type,group_id,is_first,group_first')->find();
         // 非公司会员 || 公司会员主账号
         if($user_info['account_type'] == 2 || ($user_info['account_type'] == 1 && $user_info['is_first'] == 1)) {
           return  static::where([['user_id','=',$user_id],['end_time','>',time()]])->max('level_id');
         }
         // 公司员工查询主账号的会员
         if($user_info['account_type'] == 1) {
-            $company =  User::where('group_id',$user_info['group_id'])->where('is_first',1)->field('id,account_type,group_id,is_first')->find();
-            return  static::where([['user_id','=',$company['id']],['end_time','>',time()]])->max('level_id');
+            return  static::where([['user_id','=',$user_info['group_first']],['end_time','>',time()]])->max('level_id');
         }
     }