wupengfei 2 gadi atpakaļ
vecāks
revīzija
138798f7ca
2 mainītis faili ar 14 papildinājumiem un 10 dzēšanām
  1. 13 9
      addons/shopro/controller/User.php
  2. 1 1
      addons/shopro/model/User.php

+ 13 - 9
addons/shopro/controller/User.php

@@ -334,6 +334,7 @@ class User extends Base
     public function wxMiniProgramOauth()
     {
         $post = $this->request->post();
+
         $token = Db::transaction(function () use ($post) {
             try {
                 $wechat = new Wechat('wxMiniProgram');
@@ -351,7 +352,7 @@ class User extends Base
                 $decryptData['headimgurl'] = $decryptData['avatarurl'];
                 $decryptData['sex'] = $decryptData['gender'];
                 $decryptData['session_key'] = $post['session_key'];
-                return $this->oauthLoginOrRegisterOrBindOrRefresh($post['event'], $decryptData, 'wxMiniProgram', 'Wechat');
+                return $this->oauthLoginOrRegisterOrBindOrRefresh($post, $decryptData, 'wxMiniProgram', 'Wechat');
             } catch (\Exception $e) {
                 $this->error($e->getMessage());
             }
@@ -383,7 +384,7 @@ class User extends Base
                     throw \Exception($userInfo['errmsg']);
                 }
                 $decryptData = array_merge($userInfo, $authResult);
-                return $this->oauthLoginOrRegisterOrBindOrRefresh($post['event'], $decryptData, 'App', 'Wechat');
+                return $this->oauthLoginOrRegisterOrBindOrRefresh($post, $decryptData, 'App', 'Wechat');
             } catch (\Exception $e) {
                 $this->error($e->getMessage());
             }
@@ -418,7 +419,7 @@ class User extends Base
         $decryptData = $oauth->user()->getOriginal();
         $token = Db::transaction(function () use ($payload, $decryptData) {
             try {
-                $token = $this->oauthLoginOrRegisterOrBindOrRefresh($payload['event'], $decryptData, 'wxOfficialAccount', 'Wechat');
+                $token = $this->oauthLoginOrRegisterOrBindOrRefresh($payload, $decryptData, 'wxOfficialAccount', 'Wechat');
                 return $token;
             } catch (\Exception $e) {
                 $this->error($e->getMessage());
@@ -466,7 +467,7 @@ class User extends Base
                     'access_token' => $userInfo['authorizationCode'],
                     'headimgurl' => $headimgurl
                 ];
-                $token = $this->oauthLoginOrRegisterOrBindOrRefresh($post['event'], $decryptData, $platform, 'Apple');
+                $token = $this->oauthLoginOrRegisterOrBindOrRefresh($post, $decryptData, $platform, 'Apple');
             }
         } catch (\Exception $e) {
             $this->error('登录失败:' . $e->getMessage());
@@ -508,8 +509,10 @@ class User extends Base
      * @param int     $keeptime     有效时长
      * @return string $token        返回用户token
      */
-    private function oauthLoginOrRegisterOrBindOrRefresh($event, $decryptData, $platform, $provider, $keeptime = 0)
+    private function oauthLoginOrRegisterOrBindOrRefresh($post, $decryptData, $platform, $provider, $keeptime = 0)
     {
+        $event = $post['event'];
+        //throw \Exception( $post['spm']);
         $oauthData = $decryptData;
         $oauthData = array_merge($oauthData, [
             'provider' => $provider,
@@ -546,14 +549,15 @@ class User extends Base
                         $password = '';
                         $domain = request()->host();
                         $extend = $this->getUserDefaultFields();
+                        $spm = explode('.', $post['spm']);
                         $extend['nickname'] = $oauthData['nickname'] ? $oauthData['nickname'] : $extend['nickname'];
                         $extend['avatar'] = $oauthData['headimgurl'] ? $oauthData['headimgurl'] : $extend['avatar'];
+                        $extend['pid'] = !empty($spm)? $spm[0] : 0;
                         $this->auth->register($username, $password, $username . '@' . $domain, '', $extend, $keeptime);
                         if (empty($oauthData['nickname'])) {
-                            $spm = explode('.', $this->request->post('spm'));
-                            $this->auth->getUser()->save(['nickname' => $extend['nickname'] . $this->auth->getUser()->id,'pid'=>$spm[0]]);
-                            UserModel::registerAfter($this->auth->getUser()->id,$spm[0]);
+                            $this->auth->getUser()->save(['nickname' => $extend['nickname'] . $this->auth->getUser()->id]);
                         }
+                        UserModel::registerAfter($this->auth->getUser()->id,!empty($spm)? $spm[0]: 0);
                     }
                     $oauthData['user_id'] = $this->auth->getUser()->id;
                     $oauthData['createtime'] = time();
@@ -568,7 +572,7 @@ class User extends Base
                     } else {         // 用户已被删除 重新执行登录
                         // throw \Exception('此用户已删除');
                         $userOauth->delete();
-                        $this->oauthLoginOrRegisterOrBindOrRefresh($event, $decryptData, $platform, $provider);                    }
+                        $this->oauthLoginOrRegisterOrBindOrRefresh($post, $decryptData, $platform, $provider);                    }
                 }
                 break;
             case 'refresh':

+ 1 - 1
addons/shopro/model/User.php

@@ -210,7 +210,7 @@ class User extends Model
             // 当天邀请注册奖励
             $has_get = UserWalletLog::where(['user_id'=>$share_id,'wallet_type'=>'score','type'=>'invite_integral'])->where('createtime','>',strtotime(date('Y-m-d 00:00:00')))->count();
             if(isset($int_set['invite_integral']) && $int_set['invite_integral'] > 0) {
-                if(isset($int_set['day_integral']) && $int_set['day_integral'] < $has_get){
+                if(isset($int_set['day_integral']) && $int_set['day_integral'] > $has_get){
                     static::score($int_set['invite_integral'], $share_id, 'invite_integral',0);
                 }
             }