Ver código fonte

pre modify signature

stanley-king 7 anos atrás
pai
commit
c84d95c735

+ 5 - 4
data/model/member.model.php

@@ -285,10 +285,11 @@ class memberModel extends Model
         if(is_mobile())
         {
             $mobile = $info['member_mobile'];
-            if(empty($mobile)) return false;
-
-            $member = $this->getMemberInfo(array('member_mobile' => $mobile));
-            if(!empty($member)) return false;
+            if(!empty($mobile))
+            {
+                $member = $this->getMemberInfo(array('member_mobile' => $mobile));
+                if(!empty($member)) return false;
+            }
         }
 
         try

+ 10 - 2
data/model/user_bonus.model.php

@@ -93,8 +93,16 @@ class user_bonusModel extends Model
         return $this->where($condition)->field($fields)->order('get_time DESC')->limit(false)->select(array('master' => true));
     }
 
-    public function getBinded($mobile,$fields = '*') {
-        return  $this->where(array('user_mobile' => $mobile, 'bonus_status' => 2))->field($fields)->order('type_id')->select();
+    public function getBinded($user_id,$mobile,$fields = '*')
+    {
+        $user_id = intval($user_id);
+        $mobile = empty($mobile) ? '' : $mobile;
+        if($user_id == 0 && empty($mobile)) {
+            return [];
+        }
+        else {
+            return  $this->where(array('user_id|user_mobile' => ['_multi'=>true,$user_id,$mobile],'bonus_status' => 2))->field($fields)->order('type_id')->select();
+        }
     }
 
     public function getStatus($bonus_sn) {

+ 30 - 0
helper/bonus/parameters.php

@@ -443,6 +443,36 @@ class parameters
 
         return $param;
     }
+
+
+    public static function test_bonus()
+    {
+        try
+        {
+            $nickname = "测试红包";
+            $type_name = "测试红包";
+        }
+        catch (Exception $ex) {
+            $type_name = "邀请好友红包";
+            $nickname = self::admin_name;
+        }
+
+        $amount = 1000;
+        $bless  = "领{$amount}元美妆红包,加入 {$nickname} 亲友团";
+        $param['make_type']  = type::MakeInviteType;
+        $param['type_name']  = $type_name;
+        $param['type_bless'] = $bless;
+        $param['send_type']  = type::SendType_Fixed;
+        $param['grab_type']  = type::GrabType_EXEXIST;
+        $param['relayer_id'] = 0;
+        $param['sender_id']   = self::admin_member_id;
+        $param['sender_name'] = self::admin_name;
+        $param['usable_days'] = self::usable_days;
+        $param['rate_money'][] = ['amount' => $amount,'num' => 1, 'rate' => 100];
+
+        return $param;
+    }
+
 }
 
 class sys_bonus

+ 1 - 1
helper/bonus_helper.php

@@ -156,7 +156,7 @@ class bonus_helper
     static public function topup_bonus(predeposit_helper $pred,$mobile)
     {
         $mod_bonus = Model('user_bonus');
-        $bind_bonus = $mod_bonus->getBinded($mobile);
+        $bind_bonus = $mod_bonus->getBinded($pred->member_id(),$mobile);
         if(empty($bind_bonus)) {
             return false;
         }

+ 2 - 1
helper/login/ilogin.php

@@ -19,6 +19,8 @@ abstract class ILogin
 {
     const mobile_login = 1;
     const wxopen_login = 2;
+    const wxunion_login = 3;
+
     const fields = '*';
 
 //    const fields = 'member_id,member_mobile,member_wxunionid,member_wxopenid,member_name,member_truename,member_signname,' .
@@ -34,7 +36,6 @@ abstract class ILogin
     }
 
     abstract public function ismember();
-    abstract public function register($passwd,$user_info,$relay_id = 0);
 
     public function login()
     {

+ 0 - 4
helper/login/memberid_log.php

@@ -19,8 +19,4 @@ class memberid_log extends ILogin
     public function ismember()
     {
     }
-
-    public function register($passwd,$user_info,$relay_id = 0)
-    {
-    }
 }

+ 17 - 1
helper/login/open_userinfo_log.php

@@ -43,8 +43,24 @@ class open_userinfo_log extends ILogin
         }
     }
 
-    public function register($passwd,$user_info,$relay_id = 0)
+    public function register($user_info,$relay_id = 0)
     {
+        if(empty($user_info)) return false;
 
+        $info['member_type'] = ILogin::wxunion_login;
+        $info['member_mobile_bind'] = 0;
+        $info['inviter_id'] = $relay_id;
+        $info['member_nickname']  = $user_info['nickname'];
+        $info['member_wxunionid'] = $user_info['unionid'];
+        $info['member_avatar']   = $user_info['headimgurl'];
+        $info['member_sex']      = intval($user_info['sex']);
+
+        $mod_member = Model('member');
+        $insert_id = $mod_member->addMember($info);
+        if($insert_id != false) {
+            $this->mMemberId = $insert_id;
+        }
+
+        return $insert_id;
     }
 }

+ 0 - 4
helper/login/openid_log.php

@@ -29,8 +29,4 @@ class openid_log extends ILogin
             return true;
         }
     }
-    public function register($passwd,$user_info,$relay_id = 0)
-    {
-
-    }
 }

+ 1 - 1
helper/login/pub_userinfo_log.php

@@ -34,7 +34,7 @@ class pub_userinfo_log extends ILogin
         }
     }
 
-    public function register($passwd,$user_info,$relay_id = 0)
+    public function register($user_info,$relay_id = 0)
     {
 
     }

+ 4 - 4
helper/login/unionid_log.php

@@ -12,15 +12,15 @@ namespace login;
 class unionid_log extends ILogin
 {
     private $mUnionID;
-    public function __construct($user_info)
+    public function __construct($unionid)
     {
-        $this->mUnionID = $user_info;
+        $this->mUnionID = $unionid;
     }
 
     public function ismember()
     {
         $mod_member = Model('member');
-        $minfo = $mod_member->getMemberInfo(['member_wxunionid' =>$this->mUnionID],ILogin::fields,true);
+        $minfo = $mod_member->getMemberInfo(['member_wxunionid' => $this->mUnionID],ILogin::fields,true);
         if(empty($minfo)) {
             return false;
         }
@@ -30,7 +30,7 @@ class unionid_log extends ILogin
             return true;
         }
     }
-    public function register($passwd,$user_info,$relay_id = 0)
+    public function register($user_info,$relay_id = 0)
     {
 
     }

+ 3 - 0
helper/predeposit_helper.php

@@ -233,6 +233,9 @@ class predeposit_helper
         $this->mRateVersion  = intval($pd_array['rate_version']);
         $this->init_rate();
     }
+    public function member_id() {
+        return $this->member_id;
+    }
 
     private function init_rate()
     {

+ 5 - 0
helper/session_helper.php

@@ -17,6 +17,8 @@ class session_helper
 {
     const mobile_login = 1;
     const wxopen_login = 2;
+    const wxunion_login = 3;
+
     const mobile_len = 11;
 
     const device_ios = 1;
@@ -269,6 +271,9 @@ class session_helper
                         $loginer->login();
                         unset($_SESSION['wx_author']);
                     }
+                    else {
+                        $loginer->register($user_info,session_helper::relay_id());
+                    }
                 }
 
                 return false;

+ 30 - 18
mobile/control/login.php

@@ -24,6 +24,7 @@ class loginControl extends mobileHomeControl
 {
     const mobile_login = 1;
     const wxopen_login = 2;
+    const wxunion_login = 3;
 
     //客户登录身份类型
     protected $client_login_type_array = array(0, 1, 2);
@@ -99,38 +100,41 @@ class loginControl extends mobileHomeControl
             }
             else
             {
+                $loginner->register($user_info,session_helper::relay_id());
+
                 $user_info['openid'] = '';
                 $_SESSION['wx_author']['user_info'] = $user_info;
                 $_SESSION['wx_author']['handled'] = false;
+
                 return self::outsuccess(['ismember' => false,'isauthor' => true]);
             }
         }
     }
 
+    private function is_special($mobile,$code)
+    {
+        if($mobile == '13700000000' && $code == '1111') {
+            return true;
+        }
+        else if($mobile == '13800000000' && $code == '1111') {
+            return true;
+        }
+        else if($mobile == '13900000000' && $code == '1111') {
+            return true;
+        }
+        else {
+            return false;
+        }
+    }
     public function bind_mobileOp()
     {
         $mobile = trim($_GET['mobile']);
         $code = trim($_GET['code']);
 
-        if($mobile == '13700000000' && $code == '1111')
-        {
-            if(login_helper::onBinded($mobile,$code,0,false)) {
-                return self::outsuccess(['ismember' => true,'isauthor' => true,
-                    'member_id' => $_SESSION['member_id'],
-                    'HPHPSESSID' => $_SESSION['MPHPSESSID'],'userinfo' => $this->userinfo()]);
-            }
-        }
-        if($mobile == '13800000000' && $code == '1111')
-        {
-            if(login_helper::onBinded($mobile,$code,0,false)) {
-                return self::outsuccess(['ismember' => true,'isauthor' => true,
-                    'member_id' => $_SESSION['member_id'],
-                    'HPHPSESSID' => $_SESSION['MPHPSESSID'],'userinfo' => $this->userinfo()]);
-            }
-        }
-        if($mobile == '13900000000' && $code == '1111')
+        if($this->is_special($mobile,$code))
         {
-            if(login_helper::onBinded($mobile,$code,0,false)) {
+            if(login_helper::onBinded($mobile,$code,0,false))
+            {
                 return self::outsuccess(['ismember' => true,'isauthor' => true,
                     'member_id' => $_SESSION['member_id'],
                     'HPHPSESSID' => $_SESSION['MPHPSESSID'],'userinfo' => $this->userinfo()]);
@@ -152,6 +156,14 @@ class loginControl extends mobileHomeControl
             return self::outerr($ret['code'], $ret['msg']);
         }
 
+        $loginner = new login\mobile_log($mobile);
+        if($loginner->ismember()) {
+
+        }
+        else {
+
+        }
+
         if(login_helper::onBinded($mobile,$code,session_helper::relay_id(),false)) {
             $isauthor = empty($_SESSION['member_wxunionid']) ? false : true;
             return self::outsuccess(['ismember' => true,'isauthor' => $isauthor,'member_id' => $_SESSION['member_id'],'HPHPSESSID' => $_SESSION['MPHPSESSID'],'userinfo' => $this->userinfo()]);

+ 1 - 0
mobile/wxauthor.php

@@ -29,6 +29,7 @@ else
         $_SESSION['wx_author']['user_info'] = $user_info;
         $_SESSION['wx_author']['handled'] = false;
 
+
         if(array_key_exists('author_orgin_url',$_SESSION))
         {
             $origin_url = $_SESSION['author_orgin_url'];

+ 1 - 1
test/TestAccount_helper.php

@@ -15,7 +15,7 @@ require_once(BASE_ROOT_PATH . '/helper/account_helper.php');
 require_once(BASE_ROOT_PATH . '/helper/category_helper.php');
 require_once(BASE_ROOT_PATH . '/helper/brand_helper.php');
 
-class testAccounthelper extends PHPUnit_Framework_TestCase
+class testAccountHelper extends PHPUnit_Framework_TestCase
 {
     public static function setUpBeforeClass()
     {

+ 10 - 8
test/TestBonus.php

@@ -15,6 +15,7 @@ require_once(BASE_ROOT_PATH . '/helper/bonus/witholder.php');
 require_once(BASE_ROOT_PATH . '/helper/notify_helper.php');
 require_once(BASE_ROOT_PATH . '/data/mobile/lrlz_staff.php');
 
+
 class TestBonus extends PHPUnit_Framework_TestCase
 {
     public static function setUpBeforeClass()
@@ -24,14 +25,15 @@ class TestBonus extends PHPUnit_Framework_TestCase
 
     public function testSend()
     {
-        $strids = '3';
-        if(!empty($strids))
-        {
-            $mids = explode(',',$strids);
-            $bonusex = bonus_helper::send($type_sn,$mids);
-            if($bonusex != false) {
-                push_helper::send_bonus($relay_id,$mids);
-            }
+        $param = bonus\parameters::test_bonus();
+        $ret = bonus_helper::make_bonus($param,$param['rate_money']);
+        if($ret != false) {
+            $type_sn = $ret['type_sn'];
+            $bonus = bonus_helper::send($type_sn,[39659]);
+
+            return $type_sn;
+        } else {
+            return false;
         }
     }