Browse Source

查询个人资料

15954078560 2 years ago
parent
commit
1e31d7ed84
2 changed files with 106 additions and 73 deletions
  1. 35 12
      application/api/controller/User.php
  2. 71 61
      application/common/controller/Api.php

+ 35 - 12
application/api/controller/User.php

@@ -305,18 +305,29 @@ class User extends Api
     //查询会员信息
     public function getinfo()
     {
-        $data['nickname'] = $this->auth->nickname; //姓名
-        $data['avatar'] = one_domain_image($this->auth->avatar); //头像
-        $data['mobile'] = $this->auth->mobile; //手机号
-        $data['province'] = $this->auth->province; //省
-        $data['city'] = $this->auth->city; //市
-        $data['area'] = $this->auth->area; //区
-        $data['address'] = $this->auth->address; //详细地址
-        $data['is_auth'] = $this->auth->is_auth; //认证状态:0=未申请,1=待审核,2=已通过,3=拒绝
-        $data['auth_info'] = [];
-        $auth_info = Db::name('user_auth')->field('nickname, idcard, zimage, fimage, province, city, area, address, recommender, recommender_mobile')
-            ->where(['user_id' => $this->auth->id])->find();
-        $data['auth_info'] = info_domain_image($auth_info, ['zimage', 'fimage']);
+        //检查今日是否登录赠送过成长值
+        $this->checklogingrowth($this->auth->id);
+        //检查会员等级
+        $this->checkviplevel($this->auth->id);
+
+        $user = Db::name('user')->find($this->auth->id);
+
+        $data['nickname'] = $user['nickname']; //姓名
+        $data['username'] = $user['username']; //UID
+        $data['avatar'] = $user['avatar']; //头像
+        $data['mobile'] = $user['mobile']; //手机号
+        $data['money'] = $user['money']; //余额
+        $data['realname'] = $user['realname']; //真实姓名
+        $data['gender'] = $user['gender']; //性别:1=男,2=女
+        $data['birthday'] = date('Y-m-d', $user['birthday']); //生日
+        $data['idcard'] = $user['idcard']; //身份证号
+        $data['passport'] = $user['passport']; //护照号
+        $data['emergencycontact'] = $user['emergencycontact']; //紧急联系人
+        $data['contactmobile'] = $user['contactmobile']; //紧急联系方式
+        $data['outdoorduration'] = $user['outdoorduration']; //户外时长
+        $data['maxlevel'] = $user['maxlevel']; //实际有效会员ID
+        $data['viplevel'] = Db::name('vip')->where(['id' => $user['maxlevel']])->value('level'); //会员等级
+        $data['active_count'] = Db::name('active_order')->where(['user_id' => $this->auth->id, 'status' => 2])->count('id'); //完成活动数量
 
         $this->success('会员信息', $data);
     }
@@ -1344,4 +1355,16 @@ class User extends Api
 
         return $username;
     }
+    
+    //消息列表
+    public function sysmsg() {
+        $list = Db::name('sys_msg')->field('id, title, content, createtime')->where(['user_id' => $this->auth->id])
+            ->page($this->page, $this->pagenum)->order('id desc')->select();
+
+        foreach ($list as &$v) {
+            $v['createtime'] = date('Y-m-d H:i', $v['createtime']);
+        }
+
+        $this->success('消息列表', $list);
+    }
 }

+ 71 - 61
application/common/controller/Api.php

@@ -166,67 +166,6 @@ class Api
         ];
 
         Db::name('user_log')->insert($user_log);
-
-        //检查会员等级, 发送成长值
-        if ($this->auth->id) {
-            //查询今日是否登录赠送过成长值
-            $time = strtotime(date('Y-m-d', time()));
-            $logingrowth = config('site.logingrowth') ? (int)config('site.logingrowth') : 0;//登录成长值
-            if ($logingrowth) {
-                $growth_log = Db::name('user_growth_log')->where(['user_id' => $this->auth->id, 'type' => 1])->order('id', 'desc')->find();
-                if (!$growth_log || ($growth_log['after'] == $this->auth->growthvalue && $growth_log['createtime'] < $time)) {
-                    $growth_data['user_id'] = $this->auth->id;
-                    $growth_data['growth'] = $logingrowth;
-                    $growth_data['before'] = $this->auth->growthvalue;
-                    $growth_data['after'] = $this->auth->growthvalue + $logingrowth;
-                    $growth_data['memo'] = '登录';
-                    $growth_data['createtime'] = time();
-
-                    Db::startTrans();
-                    $rt = Db::name('user_growth_log')->insertGetId($growth_data);
-                    $rs = Db::name('user')->where(['id' => $this->auth->id, 'growthvalue' => $this->auth->growthvalue])->setField('growthvalue', $growth_data['after']);
-                    if ($rt && $rs) {
-                        Db::commit();
-                    } else {
-                        Db::rollback();
-                    }
-                }
-            }
-            //检查更新会员等级
-            $growthvalue = Db::name('user')->where(['id' => $this->auth->id])->value('growthvalue');
-            $vip_info = Db::name('vip')->where(['growthvalue' => ['elt', $growthvalue]])->order('id', 'desc')->find();
-            $user_data = [];
-            if ($vip_info['id'] != $this->auth->growthlevel) {
-                $user_data['growthlevel'] = $vip_info['id'];
-                //当前会员信息
-                $last_vip_info = Db::name('vip')->find($this->auth->growthlevel);
-                $freenumber = $this->auth->freenumber + $vip_info['free'] - $last_vip_info['free'];
-                $user_data['freenumber'] = $freenumber > 0 ? $freenumber : 0;//免费次数
-            }
-            //检查体验会员
-            if ($this->auth->experiencetime < time()) {
-                //体验会员到期
-                if ($vip_info['id'] != $this->auth->growthlevel) { //成长值会员等级更新
-                    $user_data['maxlevel'] = $vip_info['id'];
-                } elseif ($this->auth->maxlevel != $this->auth->growthlevel) {
-                    $user_data['maxlevel'] = $this->auth->growthlevel;
-                }
-            } else {
-                //体验会员没到期
-                if ($vip_info['id'] > $this->auth->maxlevel) {
-                    $user_data['maxlevel'] = $vip_info['id'];
-                }
-            }
-            if ($user_data) {
-                Db::startTrans();
-                $res = Db::name('user')->where(['id' => $this->auth->id])->setField($user_data);
-                if (!$res) {
-                    Db::rollback();
-                } else {
-                    Db::commit();
-                }
-            }
-        }
     }
 
     /**
@@ -407,4 +346,75 @@ class Api
         //刷新Token
         $this->request->token();
     }
+    
+    /*检查今日是否登录赠送过成长值*/
+    protected function checklogingrowth($id = 0) {
+        if ($id) {
+            $user_info = Db::name('user')->find($id);
+            //查询今日是否登录赠送过成长值
+            $time = strtotime(date('Y-m-d', time()));
+            $logingrowth = config('site.logingrowth') ? (int)config('site.logingrowth') : 0;//登录成长值
+            if ($logingrowth) {
+                $growth_log = Db::name('user_growth_log')->where(['user_id' => $user_info['id'], 'type' => 1])->order('id', 'desc')->find();
+                if (!$growth_log || ($growth_log['after'] == $user_info['growthvalue'] && $growth_log['createtime'] < $time)) {
+                    $growth_data['user_id'] = $user_info['id'];
+                    $growth_data['growth'] = $logingrowth;
+                    $growth_data['before'] = $user_info['growthvalue'];
+                    $growth_data['after'] = $user_info['growthvalue'] + $logingrowth;
+                    $growth_data['memo'] = '登录';
+                    $growth_data['createtime'] = time();
+
+                    Db::startTrans();
+                    $rt = Db::name('user_growth_log')->insertGetId($growth_data);
+                    $rs = Db::name('user')->where(['id' => $user_info['id'], 'growthvalue' => $user_info['growthvalue']])->setField('growthvalue', $growth_data['after']);
+                    if ($rt && $rs) {
+                        Db::commit();
+                    } else {
+                        Db::rollback();
+                    }
+                }
+            }
+        }
+    }
+
+    /*检查会员等级*/
+    protected function checkviplevel($id = 0) {
+        if ($id) {
+            $user_info = Db::name('user')->find($id);
+            //检查更新会员等级
+            $growthvalue = $user_info['growthvalue'];
+            $vip_info = Db::name('vip')->where(['growthvalue' => ['elt', $growthvalue]])->order('id', 'desc')->find();
+            $user_data = [];
+            if ($vip_info['id'] != $user_info['growthlevel']) {
+                $user_data['growthlevel'] = $vip_info['id'];
+                //当前会员信息
+                $last_vip_info = Db::name('vip')->find($user_info['growthlevel']);
+                $freenumber = $user_info['freenumber'] + $vip_info['free'] - $last_vip_info['free'];
+                $user_data['freenumber'] = $freenumber > 0 ? $freenumber : 0;//免费次数
+            }
+            //检查体验会员
+            if ($user_info['experiencetime'] < time()) {
+                //体验会员到期
+                if ($vip_info['id'] != $user_info['growthlevel']) { //成长值会员等级更新
+                    $user_data['maxlevel'] = $vip_info['id'];
+                } elseif ($user_info['maxlevel'] != $user_info['growthlevel']) {
+                    $user_data['maxlevel'] = $user_info['growthlevel'];
+                }
+            } else {
+                //体验会员没到期
+                if ($vip_info['id'] > $user_info['maxlevel']) {
+                    $user_data['maxlevel'] = $vip_info['id'];
+                }
+            }
+            if ($user_data) {
+                Db::startTrans();
+                $res = Db::name('user')->where(['id' => $user_info['id']])->setField($user_data);
+                if (!$res) {
+                    Db::rollback();
+                } else {
+                    Db::commit();
+                }
+            }
+        }
+    }
 }