Преглед на файлове

增加了member_info,从单个红包直接分享,摇红包扣款及推送

stanley-king преди 8 години
родител
ревизия
e741cc3cd5

+ 4 - 4
data/model/predeposit.model.php

@@ -425,10 +425,10 @@ class predepositModel extends Model {
                 $data_msg['freeze_amount'] = 0;
                 $data_msg['desc'] = $data_log['lg_desc'];
 
-                if(isBonusExpiryDate()) {
-                    require_once (BASE_ROOT_PATH . '/helper/account_helper.php');
-                    account_helper::onPredeposit('hand_out_bonus',$data['member_id'],$data['amount']);
-                }
+//                if(isBonusExpiryDate()) {
+//                    require_once (BASE_ROOT_PATH . '/helper/account_helper.php');
+//                    account_helper::onPredeposit('hand_out_bonus',$data['member_id'],$data['amount']);
+//                }
 
                 break;
 				////////////////////zmr>v20////////////////////////////////////

+ 7 - 7
data/model/user_bonus.model.php

@@ -137,22 +137,22 @@ class user_bonusModel extends Model
                         $is_new_grab = true;
                     }
 
-                    if(user_helper::isLogin()) { // 如果是登录状态直接绑定
+                    if(session_helper::isLogin()) { // 如果是登录状态直接绑定
                         $datas = array('bonus_status' => 2,
                             'grab_time' => time(),
                             'get_time'  => time(),
                             'session_id' => $sess_id,
                             'user_id' => $_SESSION['member_id'],
-                            'user_mobile' => user_helper::cur_mobile(),
-                            'user_name' => user_helper::nickname());
+                            'user_mobile' => session_helper::cur_mobile(),
+                            'user_name' => session_helper::nickname());
                         $is_new_bind = true;
                     }
-                    else if(user_helper::isVerfiyMobile()) { //如果该会话手机号码曾经认证过,直接绑定
+                    else if(session_helper::isVerfiyMobile()) { //如果该会话手机号码曾经认证过,直接绑定
                         $datas = array('bonus_status' => 2,
                             'grab_time' => time(),
                             'get_time'  => time(),
                             'session_id' => $sess_id,
-                            'user_mobile' => user_helper::cur_mobile());
+                            'user_mobile' => session_helper::cur_mobile());
                         $is_new_bind = true;
                     }
                     else {
@@ -199,8 +199,8 @@ class user_bonusModel extends Model
                 'user_mobile' => $mobile,
                 'get_time' => time());
 
-            if(user_helper::isLogin()) {
-                $datas['user_name'] = user_helper::nickname();
+            if(session_helper::isLogin()) {
+                $datas['user_name'] = session_helper::nickname();
                 $datas['user_id'] = $_SESSION['member_id'];
             }
 

+ 4 - 0
fooder.php

@@ -38,4 +38,8 @@ require_once(BASE_ROOT_PATH . '/helper/sensitive_word/dfa.php');
 require_once(BASE_ROOT_PATH . '/helper/request_helper.php');
 require_once(BASE_ROOT_PATH . '/helper/configure.php');
 require_once(BASE_ROOT_PATH . '/helper/pay_helper.php');
+require_once(BASE_ROOT_PATH . '/helper/model_helper.php');
+
+
+
 ?>

+ 53 - 0
helper/Model/member_info.php

@@ -0,0 +1,53 @@
+<?php
+
+/**
+ * Created by PhpStorm.
+ * User: stanley-king
+ * Date: 16/6/29
+ * Time: 下午11:01
+ */
+
+class member_info
+{
+    private $member_id;
+    private $member_info;
+
+    public function __construct($member_id)
+    {
+        $this->member_id = $member_id;
+        $mod_member = Model('member');
+        $this->member_info = $mod_member->getMemberInfoByID($this->member_id);
+    }
+    public function member_id()
+    {
+        return $this->member_id;
+    }
+    public function nickname()
+    {
+        if(isset($this->member_info['member_nickname']) && !empty($this->member_info['member_nickname'])) {
+            return $this->member_info['member_nickname'];
+        }
+
+        if(isset($this->member_info['member_truename']) && !empty($this->member_info['member_truename'])) {
+            return $this->member_info['member_truename'];
+        }
+
+        if(isset($this->member_info['member_mobile']) && !empty($this->member_info['member_mobile']))
+        {
+            $mobile = $this->member_info['member_mobile'];
+            if(strlen($mobile) == 11) {
+                return substr_replace($mobile, '****', 3, 4);
+            }
+        }
+
+        return '';
+    }
+    public function mobile() {
+        return $this->member_info['member_mobile'];
+    }
+
+    public function truename() {
+        return $this->member_info['member_truename'];
+    }
+
+}

+ 63 - 43
helper/account_helper.php

@@ -34,33 +34,34 @@ class account_helper
         $param['sender_name'] = self::admin_name;
     }
 
-    private static function sender_param($sender,&$param)
-    {
-        $member_info = Model('member')->getMemberInfoByID($sender);
-
-        $param['sender_id'] = $member_info['member_id'];
-        $param['sender_mobile'] = $member_info['member_mobile'];
-        $param['sender_name'] = $member_info['member_nickname'];
-
-    }
-
     public static function gain_bonus($from_id,$to_id,$amount)
     {
         $param = self::base_param($amount,1);
-        $member_info = Model('member')->getMemberInfoByID($from_id);
+        $minfo = new member_info($from_id);
 
-        $param['sender_id'] = $member_info['member_id'];
-        $param['sender_mobile'] = $member_info['member_mobile'];
-        $param['sender_name'] = $member_info['member_nickname'];
+        $param['sender_id'] = $minfo->member_id();
+        $param['sender_mobile'] = $minfo->mobile();
+        $param['sender_name'] = $minfo->nickname();
         $param['make_type'] = \bonus\type::MakeShakeType;
-
-        $name = $member_info['member_nickname'];
+        $name = $minfo->nickname();
         $param['type_name'] = "从{$name}摇来的红包";
 
         $ret = bonus_helper::make_bonus($param);
         if($ret != false) {
+            $to_minfo = new member_info($to_id);
+            $thief =$to_minfo->nickname();
+            $predo = new predeposit_helper($from_id);
+            $predo->handout_bonus($amount,$ret['type_sn'],$minfo->nickname(),"{$thief}摇走了您{$amount}元的红包.");
+            bonus_helper::withold($from_id,$amount);
+
             $bonusex = bonus_helper::send($ret['type_sn'],array($to_id));
-            
+
+            $push_param = array();
+            $push_param['member_id'] = $from_id;
+            $push_param['text']      = "{$thief}摇走了您{$amount}元的红包.";
+            $push_param['go_type']   = 'bonus';
+            QueueClient::push('upushSendMsg',$push_param);
+
             return $bonusex;
         } else {
             return false;
@@ -70,26 +71,63 @@ class account_helper
     public static function lost_bonus($from_id,$to_id,$amount)
     {
         $param = self::base_param($amount,1);
-        $member_info = Model('member')->getMemberInfoByID($from_id);
 
-        $param['sender_id'] = $member_info['member_id'];
-        $param['sender_mobile'] = $member_info['member_mobile'];
-        $param['sender_name'] = $member_info['member_nickname'];
+        $minfo = new member_info($from_id);
+        $param['sender_id'] = $minfo->member_id();
+        $param['sender_mobile'] = $minfo->mobile();
+        $param['sender_name'] = $minfo->nickname();
         $param['make_type'] = \bonus\type::MakeShakeType;
-
-        $name = $member_info['member_nickname'];
+        $name = $minfo->nickname();
         $param['type_name'] = "{$name}摇过来的红包";
 
         $ret = bonus_helper::make_bonus($param);
         if($ret != false)
         {
+            $predo = new predeposit_helper($from_id);
+            $predo->handout_bonus($amount,$ret['type_sn'],$minfo->nickname(),"您摇丢了{$amount}的红包.");
+            bonus_helper::withold($from_id,$amount);
+
             $bonusex = bonus_helper::send($ret['type_sn'],array($to_id));
+
+            $push_param = array();
+            $push_param['member_id'] = $to_id;
+            $push_param['text']      = "{$name}的{$amount}元的红包,在向您飞来~.";
+            $push_param['go_type']   = 'bonus';
+            QueueClient::push('upushSendMsg',$push_param);
+
             return $bonusex;
         } else {
             return false;
         }
     }
 
+    public static function share_bonus($member_id,$bonus_sn)
+    {
+        $bonus = bonus\user_bonus::create_by_sn($bonus_sn);
+
+        $amount = $bonus->remain_amount();
+        $param = self::base_param($amount,1);
+
+        $minfo = new member_info($member_id);
+        $param['sender_id'] = $member_id;
+        $param['sender_mobile'] = $minfo->mobile();
+        $param['sender_name'] = $minfo->nickname();
+        $param['make_type'] = \bonus\type::MakeSendType;
+        $name = $minfo->nickname();
+        $param['type_name'] = "{$name}";
+
+        $ret = bonus_helper::make_bonus($param);
+        if($ret != false) {
+            $predo = new predeposit_helper($member_id);
+            $predo->handout_bonus($amount,$ret['type_sn'],$minfo->nickname(),"您分享了{$amount}元的红包.");
+            bonus_helper::withold_bonus($member_id,$bonus_sn);
+
+            return $ret;
+        } else {
+            return false;
+        }
+    }
+
     public static function gain_sysBonus($to_id,$amount)
     {
         $param = self::base_param($amount,1);
@@ -105,7 +143,7 @@ class account_helper
         }
     }
 
-    public static function pay_refund($member_id,$amount,$bonus_name)
+    private static function pay_refund($member_id,$amount,$bonus_name)
     {
         $param = self::base_param($amount,1);
         self::admin_param($param);
@@ -127,7 +165,7 @@ class account_helper
         }
     }
 
-    public static function bonus_refund($member_id,$amount,$bonus_name)
+    private static function bonus_refund($member_id,$amount,$bonus_name)
     {
         $param = self::base_param($amount,1);
         self::admin_param($param);
@@ -148,21 +186,6 @@ class account_helper
         }
     }
 
-    public static function send_bonus($member_id,$amount)
-    {
-
-    }
-
-    public static function steal_bonus()
-    {
-
-    }
-
-    public static function fly_bonus()
-    {
-
-    }
-
     public static function onPredeposit($change_type,$member_id,$pd_amount)
     {
         if($change_type == 'order_pay' || $change_type == 'order_freeze') {
@@ -177,8 +200,5 @@ class account_helper
         elseif($change_type == 'bonus_refund') { // 发送给该用户一个同等额度的红包
             self::bonus_refund($member_id,$pd_amount,"红包过期未领退款");
         }
-        elseif($change_type == 'hand_out_bonus') {
-            bonus_helper::withold($member_id,$pd_amount);
-        }
     }
 }

+ 0 - 11
helper/bonus/bind.php

@@ -1,11 +0,0 @@
-<?php
-/**
- * Created by PhpStorm.
- * User: stanley-king
- * Date: 16/4/10
- * Time: 下午9:53
- */
-
-namespace bonus;
-
-?>

+ 0 - 1
helper/bonus/generator.php

@@ -10,7 +10,6 @@ namespace bonus;
 
 use \Exception;
 use \errcode;
-use \Model;
 use \Log;
 
 abstract class IGenerator

+ 11 - 16
helper/bonus/manager.php

@@ -8,9 +8,8 @@
 
 namespace bonus;
 
-use \errcode;
-use \Model;
-use \user_helper;
+use \session_helper;
+use \member_info;
 
 class manager
 {
@@ -82,8 +81,8 @@ class manager
             $mod_bonus = Model('user_bonus');
 
             $session_id = $_SESSION['MPHPSESSID'];
-            if(user_helper::isVerfiyMobile()) {
-                $mobile = user_helper::cur_mobile();
+            if(session_helper::isVerfiyMobile()) {
+                $mobile = session_helper::cur_mobile();
                 $sql = "select * from lrlz_user_bonus where type_sn = '{$type_sn}' and (session_id = '{$session_id}' or user_mobile = '{$mobile}')";
             } else {
                 $sql = "select * from lrlz_user_bonus where type_sn = '{$type_sn}' and session_id = '{$session_id}'";
@@ -119,8 +118,8 @@ class manager
         {
             $mod_bonus = Model('user_bonus');
             $session_id = $_SESSION['MPHPSESSID'];
-            if(user_helper::isVerfiyMobile()) {
-                $mobile = user_helper::cur_mobile();
+            if(session_helper::isVerfiyMobile()) {
+                $mobile = session_helper::cur_mobile();
                 $sql = "select * from lrlz_user_bonus where bonus_sn = '{$bonus_sn}' and (session_id = '{$session_id}' or user_mobile = '{$mobile}')";
             } else {
                 $sql = "select * from lrlz_user_bonus where bonus_sn = '{$bonus_sn}' and session_id = '{$session_id}'";
@@ -182,7 +181,7 @@ class manager
 
         $datas = array('bonus_status' => 3,
             'user_id' => $_SESSION['member_id'],
-            'user_name' => user_helper::nickname(),
+            'user_name' => session_helper::nickname(),
             'usable_time' => time() + $expried_secs);
 
         $ret = $mod_user_bonus->where(array('bonus_id' => $bonus['bonus_id']))->update($datas);
@@ -224,24 +223,20 @@ class manager
                 return false;
             }
 
-            $mod_member = Model('member');
             $index = 0;
-
             $bonus_values = 0.00;
             foreach ($items as &$bonus) {
                 $user_id = $member_ids[$index];
 
-                $minfo = $mod_member->getMemberInfoByID($user_id);
+                $minfo = new member_info($user_id);
                 $bonus['user_id'] = $user_id;
-                $bonus['user_mobile'] = $minfo['member_mobile'];
-                $bonus['user_name'] = $minfo['member_nickname'];;
-
+                $bonus['user_mobile'] = $minfo->mobile();
+                $bonus['user_name'] = $minfo->nickname();
                 $bonus['grab_time'] = time();
                 $bonus['get_time'] = time();
-
                 $bonus['bonus_status'] = 2;
-                ++$index;
 
+                ++$index;
                 $ret[] = $bonus;
                 $bonus_values += $bonus['bonus_value'];
             }

+ 8 - 0
helper/bonus/sender.php

@@ -8,8 +8,16 @@
 
 namespace bonus;
 
+use \text_filter;
+use \bonus_helper;
+use \errcode;
+
 class sender
 {
+    const def_bless = '熊猫美妆与你分享美丽的秘密~';
+    const max_total_amount = 1000000;
+    const max_total_num = 1000;
+
     //检查个人发送红包参数
     static public function check_personal($input,&$ret)
     {

+ 1 - 0
helper/bonus/type.php

@@ -18,6 +18,7 @@ class type
     const MakeBonusRefundType = 1;
     const MakeShakeType = 2;
     const MakePayRefundType = 3;
+    const MakePayType = 4;
     
     const create_type = 0;
     const load_type = 1;

+ 14 - 0
helper/bonus/witholder.php

@@ -41,6 +41,20 @@ class witholder
         return $this->usable_amount;
     }
 
+    public function withold_bonus($bonus_sn)
+    {
+        foreach ($this->usable_bonus as $bonus)
+        {
+            if($bonus_sn == $bonus->bonus_sn()) {
+                $param = $bonus->get_param();
+                $param['remain_amount'] = 0.00;
+                $this->mod_bonus->replace($param);
+                return true;
+            }
+        }
+        return false;
+    }
+
     public function withhold($money)
     {
         $left = intval($money * 100 + 0.5);

+ 11 - 7
helper/bonus_helper.php

@@ -6,6 +6,9 @@
  * Time: 上午12:51
  */
 
+require_once (BASE_ROOT_PATH . '/helper/field_helper.php');
+require_once (BASE_ROOT_PATH . '/helper/predeposit_helper.php');
+require_once (BASE_ROOT_PATH . '/helper/text_filter.php');
 require_once (BASE_ROOT_PATH . '/helper/bonus/util.php');
 require_once (BASE_ROOT_PATH . '/helper/bonus/type.php');
 require_once (BASE_ROOT_PATH . '/helper/bonus/user_bonus.php');
@@ -19,20 +22,15 @@ require_once (BASE_ROOT_PATH . '/helper/bonus/allocator.php');
 require_once (BASE_ROOT_PATH . '/helper/bonus/sender.php');
 require_once (BASE_ROOT_PATH . '/helper/bonus/witholder.php');
 
-require_once (BASE_ROOT_PATH . '/helper/field_helper.php');
-require_once (BASE_ROOT_PATH . '/helper/predeposit_helper.php');
-
 class bonus_helper
 {
-    const def_bless = '恭喜发财大吉大利';
-    const max_total_amount = 1000000;
-    const max_total_num = 1000;
+    const def_bless = '熊猫美妆与你分享美丽的秘密~';
     const shake_expire  = 10;
     const shake_maxcount = 5;
 
     static public function filter_type($type_info) {
         $type = \bonus\type::crate_by_paramer($type_info);
-        $fileds = 'type_sn,type_bless,send_type,sender_name,total_amount,total_num,max_amount,grabed_num,binded_num,send_start_date,send_end_date,binded_over,binded_period,grab_lastime';
+        $fileds = 'type_sn,type_bless,send_type,sender_name,total_amount,total_num,max_amount,grabed_num,binded_num,send_start_date,send_end_date,binded_over,binded_period,grab_lastime,make_type';
         $ret = array();
         field_helper::copy_column($ret,$type_info,$fileds);
         $ret['time_out'] = \bonus\manager::grab_period_timeout;
@@ -238,6 +236,12 @@ class bonus_helper
         return $holder->withhold($money);
     }
 
+    static public function withold_bonus($member_id,$bonus_sn)
+    {
+        $holder = new \bonus\witholder($member_id);
+        return $holder->withold_bonus($bonus_sn);
+    }
+
     static public function send($type_sn,$member_ids)
     {
         try

+ 9 - 0
helper/model_helper.php

@@ -0,0 +1,9 @@
+<?php
+/**
+ * Created by PhpStorm.
+ * User: stanley-king
+ * Date: 16/6/29
+ * Time: 下午11:03
+ */
+
+require_once (BASE_ROOT_PATH . "/helper/model/member_info.php");

+ 13 - 10
helper/pay_helper.php

@@ -6,7 +6,7 @@
  * Time: 上午11:12
  */
 
-require_once (BASE_ROOT_PATH . "/helper/user_helper.php");
+require_once (BASE_ROOT_PATH . "/helper/session_helper.php");
 require_once (BASE_ROOT_PATH . '/helper/bonus_helper.php');
 
 class pay_helper
@@ -80,15 +80,11 @@ class pay_helper
 
     private function send_share_bonus($sender_id,$relayer_id,$total_amount)
     {
-        $mod_member = Model('member');
-        $info = $mod_member->getMemberInfoByID($relayer_id);
-
-        $member_info = user_helper::filter_info($info);
-
+        $minfo = new member_info($relayer_id);
         $param['sender_id'] = $sender_id;
         $param['relayer_id'] = $relayer_id;
-        $param['sender_mobile'] = $member_info['member_mobile'];
-        $param['sender_name'] = $member_info['member_nickname'];
+        $param['sender_mobile'] = $minfo->mobile();
+        $param['sender_name'] = $minfo->nickname();
 
         $param['send_start_date'] = time();
 
@@ -105,6 +101,7 @@ class pay_helper
         $param['user_type'] = 2;
         $param['send_type'] = self::send_type;
         $param['type_bless'] = self::def_bless;
+        $param['make_type'] = bonus\type::MakePayType;
 
         if(self::is_enough($sender_id,$param['total_amount']) == false) {
             Log::record("系统账户余额不够给用户发送分享红包",Log::ERR);
@@ -118,8 +115,14 @@ class pay_helper
             $money = $ret['money'];
 
             $pre_helper = new predeposit_helper($sender_id);
-            $pre_helper->hand_out_relay_bonus($money,$member_info['member_nickname'],$type_sn,$relayer_id,"发送了{$money}元的转发红包.");
-            $url = BASE_SITE_URL . "/mobile/index.php?act=bonusex&op=open&client_type=wap&type_sn={$type_sn}";
+            $pre_helper->handout_relaybonus($money,$minfo->nickname(),$type_sn,$relayer_id,"发送了{$money}元的转发红包.");
+
+            $push_param = array();
+            $push_param['member_id'] = $relayer_id;
+            $push_param['text']      = "熊猫美妆向您派发了{$money}元的购物分享红包,您自己可以抢一份哦~.";
+            $push_param['go_type']   = 'bonus';
+            QueueClient::push('upushSendMsg',$push_param);
+
             return array('money' => $money,'total_num' => self::total_number,'sender_name' => '熊猫美妆');
         }
     }

+ 11 - 7
helper/predeposit_helper.php

@@ -40,10 +40,11 @@ class predeposit_helper
 
     public function bonus_add_money($amount,$bonus_sn,$sender_name,$info)
     {
-        $member_info = Model('member')->getMemberInfoByID($this->member_id);
+        $minfo = new member_info($this->member_id);
+
         $data = array();
         $data['member_id'] = $this->member_id;
-        $data['member_name'] = $member_info['member_name'];
+        $data['member_name'] = $minfo->nickname();
         $data['amount'] = $amount;
         $data['order_sn'] = $bonus_sn;
         $data['admin_name'] = $sender_name;
@@ -78,13 +79,13 @@ class predeposit_helper
         $this->model_pd->changePd("sys_add_money",$data);
     }
 
-    public function hand_out_bonus($amount, $type_sn, $sender_name, $info)
+    public function handout_bonus($amount, $type_sn, $sender_name, $info)
     {
-        $member_info = Model('member')->getMemberInfoByID($this->member_id);
+        $minfo = new member_info($this->member_id);
 
         $data = array();
         $data['member_id'] = $this->member_id;
-        $data['member_name'] = $member_info['member_name'];
+        $data['member_name'] = $minfo->nickname();
         $data['amount'] = $amount;
         $data['order_sn'] = $type_sn;
         $data['admin_name'] = $sender_name;
@@ -93,16 +94,19 @@ class predeposit_helper
         $this->model_pd->changePd("hand_out_bonus", $data);
     }
 
-    public function hand_out_relay_bonus($amount,$sender_name,$type_sn,$relayer_id,$info)
+    public function handout_relaybonus($amount, $sender_name, $type_sn, $relayer_id, $info)
     {
+        $minfo = new member_info($relayer_id);
+
         $data = array();
         $data['member_id'] = $this->member_id;
-        $data['member_name'] = $relayer_id; //转发者id,当作姓名
+        $data['member_name'] = $minfo->nickname();
         $data['amount'] = $amount;
         $data['order_sn'] = $type_sn;
         $data['admin_name'] = $sender_name;
         $data['pdr_sn'] = $type_sn;
         $data['lg_desc'] = $info;
+
         $this->model_pd->changePd("hand_out_bonus", $data);
     }
 

+ 7 - 7
helper/relation/mem_relation.php

@@ -9,7 +9,7 @@
 namespace relation;
 
 use \Exception;
-use \user_helper;
+use \session_helper;
 use \algorithm_helper;
 
 class mem_relation
@@ -76,7 +76,7 @@ class mem_relation
             }
         }
 
-        $mobile = user_helper::mobile_valid($mobile);
+        $mobile = session_helper::mobile_valid($mobile);
         if($mobile == false) {
             throw new Exception();
         } else {
@@ -197,8 +197,8 @@ class mem_relation
 
     private function add_unbuild($mobile)
     {
-        $ret = algorithm_helper::bsearch($mobile,$this->unbuild_mobiles);
-        if($ret == -1) {
+        $pos = algorithm_helper::bsearch($mobile,$this->unbuild_mobiles);
+        if($pos == -1) {
             array_push($this->unbuild_mobiles,$mobile);
             sort($this->unbuild_mobiles);
             $this->dirty = true;
@@ -207,9 +207,9 @@ class mem_relation
 
     private function remove_unbuild($mobile)
     {
-        $ret = algorithm_helper::bsearch($mobile,$this->unbuild_mobiles);
-        if($ret != -1) {
-            unset($this->unbuild_mobiles[$ret]);
+        $pos = algorithm_helper::bsearch($mobile,$this->unbuild_mobiles);
+        if($pos != -1) {
+            array_splice($this->unbuild_mobiles,$pos,1);
             $this->dirty = true;
         }
     }

+ 4 - 5
helper/user_helper.php

@@ -9,7 +9,7 @@
 require_once (BASE_ROOT_PATH . '/helper/algorithm_helper.php');
 require_once (BASE_ROOT_PATH . '/helper/relation_helper.php');
 
-class user_helper
+class session_helper
 {
     const mobile_login = 1;
     const wxopen_login = 2;
@@ -47,8 +47,7 @@ class user_helper
         {
             $mobile = $_SESSION['member_mobile'];
             if(strlen($mobile) == 11) {
-                $arData = str_split($mobile,4);
-                return sprintf("mob%s****%s",$arData[0],$arData[2]);
+                return substr_replace($mobile, '****', 3, 4);
             }
         }
 
@@ -170,7 +169,7 @@ class user_helper
         Model('goods_browse')->mergebrowse($_SESSION['member_id'], $_SESSION['store_id']);
         relation_helper::onLogin($_SESSION['member_id']);
 
-        return self::outsuccess(array('HPHPSESSID' => $_SESSION['MPHPSESSID']));
+        return true;
     }
 
     static public function parse_contacts($contacts)
@@ -187,7 +186,7 @@ class user_helper
         $ar_contact = array();
         foreach ($contacts as $mobile)
         {
-            $mobile = user_helper::mobile_valid($mobile);
+            $mobile = session_helper::mobile_valid($mobile);
             if($mobile == false) {
                 continue;
             }

+ 6 - 5
helper/shaker_helper.php

@@ -112,10 +112,10 @@ class shaker_helper
 
             $bonus = account_helper::gain_bonus($user_id, $_SESSION['member_id'], $value);
             if($bonus != false) {
-                $name = user_helper::nickname();
+                $name = session_helper::nickname();
 
                 $predo = new predeposit_helper($_SESSION['member_id']);
-                $predo->hand_out_bonus($value,$bonus[0]['type_sn'],user_helper::nickname(),"被{$name}要走了{$value}元的红包.");
+                $predo->handout_bonus($value,$bonus[0]['type_sn'],session_helper::nickname(),"被{$name}要走了{$value}元的红包.");
 
                 $this->add_gained_friend(array($user_id));
                 $push_param = array();
@@ -170,9 +170,8 @@ class shaker_helper
         $value = $policy->calculate();
         $bonus = account_helper::lost_bonus($_SESSION['member_id'],$user_id, $value);
         if($bonus != false) {
-            $predo->hand_out_bonus($value,$bonus[0]['type_sn'],user_helper::nickname(),"您摇丢了{$value}的红包.");
             $this->add_lost_friend(array($user_id));
-            $name = user_helper::nickname();
+            $name = session_helper::nickname();
             $push_param = array();
             $push_param['member_id'] = $user_id;
             $push_param['text'] = "您的好友{$name}把{$value}元的红包,摇到你的账户.";
@@ -190,7 +189,9 @@ class shaker_helper
         while (true)
         {
             $count = count($friends);
-            if($count == 0) return false;
+            if($count == 0) {
+                return false;
+            }
 
             $pos = mt_rand(0,$count -1);
             return $friends[$pos];

+ 8 - 8
mobile/control/bonusex.php

@@ -10,7 +10,7 @@ defined('InShopNC') or exit('Access Invalid!');
 
 require_once (BASE_ROOT_PATH . '/helper/bonus_helper.php');
 require_once (BASE_ROOT_PATH . '/helper/predeposit_helper.php');
-require_once (BASE_ROOT_PATH . '/helper/user_helper.php');
+require_once (BASE_ROOT_PATH . '/helper/session_helper.php');
 require_once (BASE_ROOT_PATH . '/helper/sms_helper.php');
 require_once (BASE_MOBILE_PATH . "/control/login.php");
 
@@ -64,9 +64,9 @@ class bonusexControl extends mobileControl
             $bonus = \bonus\user_bonus::create_by_param($mine_bonus);
             $mine_bonus = bonus_helper::filter_bonus($mine_bonus);
 
-            if($bonus->isBinded() == false && user_helper::isVerfiyMobile())
+            if($bonus->isBinded() == false && session_helper::isVerfiyMobile())
             {
-                $ret = bonus_helper::bind_bonus($bonus->bonus_sn(),$_SESSION['MPHPSESSID'],user_helper::cur_mobile(),$new_sn);
+                $ret = bonus_helper::bind_bonus($bonus->bonus_sn(),$_SESSION['MPHPSESSID'],session_helper::cur_mobile(),$new_sn);
                 if($ret == true) {
                     $mine_bonus = bonus_helper::get_mine_by_bonussn($new_sn);
                 }
@@ -154,9 +154,9 @@ class bonusexControl extends mobileControl
             }
             else
             {
-                if(user_helper::isVerfiyMobile())
+                if(session_helper::isVerfiyMobile())
                 {
-                    $ret = bonus_helper::bind_bonus($bonus_obj->bonus_sn(),$_SESSION['MPHPSESSID'],user_helper::cur_mobile(),$new_sn);
+                    $ret = bonus_helper::bind_bonus($bonus_obj->bonus_sn(),$_SESSION['MPHPSESSID'],session_helper::cur_mobile(),$new_sn);
                     if($ret == true) {
                         $mine_bonus = bonus_helper::get_mine_by_bonussn($new_sn);
                         return self::outsuccess(array('type_info' => $type_info, 'mine_bonus' => $mine_bonus,'binded_info' => $binded_info),"bonus/content");
@@ -230,8 +230,8 @@ class bonusexControl extends mobileControl
         if($type->isEnd()) {
             return self::outsuccess(array('type_info' => $type_infos['type_info']),"bonus/end");
         }
-        elseif(user_helper::isVerfiyMobile()) {
-            $mobile = user_helper::cur_mobile();
+        elseif(session_helper::isVerfiyMobile()) {
+            $mobile = session_helper::cur_mobile();
         }
         else
         {
@@ -253,7 +253,7 @@ class bonusexControl extends mobileControl
             } else {
                 $_SESSION['member_mobile'] = $mobile;
                 $password = $code . substr($mobile, -4);
-                user_helper::register_login($mobile,$password);
+                session_helper::register_login($mobile,$password);
             }
         }
 

+ 3 - 3
mobile/control/login.php

@@ -12,7 +12,7 @@ require_once(BASE_CORE_PATH . '/framework/libraries/sms.php');
 require_once(BASE_CORE_PATH . '/framework/function/core.php');
 require_once(BASE_ROOT_PATH . '/helper/sms_helper.php');
 require_once(BASE_ROOT_PATH . '/helper/field_helper.php');
-require_once(BASE_ROOT_PATH . '/helper/user_helper.php');
+require_once(BASE_ROOT_PATH . '/helper/session_helper.php');
 require_once(BASE_ROOT_PATH . '/helper/relation_helper.php');
 
 //登录,获取验证码,注册
@@ -130,7 +130,7 @@ class loginControl extends mobileHomeControl
         }
 
         $ret = $model_member->getMemberInfo($conditions,self::$fields);
-        $member_info = user_helper::filter_member_info($ret,$openid);
+        $member_info = session_helper::filter_member_info($ret,$openid);
         
         return $member_info;
     }
@@ -289,7 +289,7 @@ class loginControl extends mobileHomeControl
         }
 
         $update_arr = array();
-        $info = user_helper::parase_wxinfo($_GET['user_info']);
+        $info = session_helper::parase_wxinfo($_GET['user_info']);
         if($info == false) {
             $update_arr['member_wxopenid'] = $wx_openid;
         } else {

+ 32 - 14
mobile/control/member_bonus.php

@@ -7,7 +7,7 @@
  */
 
 require_once (BASE_ROOT_PATH . '/helper/bonus_helper.php');
-require_once (BASE_ROOT_PATH . '/helper/user_helper.php');
+require_once (BASE_ROOT_PATH . '/helper/session_helper.php');
 require_once (BASE_ROOT_PATH . '/helper/text_filter.php');
 require_once (BASE_ROOT_PATH . '/helper/shaker_helper.php');
 
@@ -16,7 +16,7 @@ class member_bonusControl extends mbMemberControl
 {
     public function predepositOp()
     {
-        $predeposit = new predeposit_helper();
+        $predeposit = new predeposit_helper($_SESSION['member_id']);
         $pred = $predeposit->get_predeposit();
         return self::outsuccess(array('predeposit_total' => $pred['total_value'], 'predeposit_freeze' => $pred['freeze_value']));
     }
@@ -28,14 +28,14 @@ class member_bonusControl extends mbMemberControl
             return self::outerr($ret['code'],$ret['msg']);
         }
 
-        $pre_helper = new predeposit_helper();
+        $pre_helper = new predeposit_helper($_SESSION['member_id']);
         if(!$pre_helper->is_enough($param['total_amount'])) {
             return self::outerr(errcode::ErrBonusNotEnough,'余额不够发送红包');
         }
 
         $param['sender_id'] = $_SESSION['member_id'];
         $param['sender_mobile'] = $_SESSION['member_mobile'];
-        $param['sender_name'] = user_helper::nickname();
+        $param['sender_name'] = session_helper::nickname();
 
         $ret = bonus_helper::make_bonus($param);
         if($ret === false) {
@@ -44,8 +44,8 @@ class member_bonusControl extends mbMemberControl
             $type_sn = $ret['type_sn'];
             $money = $ret['money'];
 
-            $pre_helper = new predeposit_helper();
-            $pre_helper->hand_out_bonus($money,$type_sn,user_helper::nickname(),"发送了{$money}元的红包.");
+            $pre_helper = new predeposit_helper($_SESSION['member_id']);
+            $pre_helper->handout_bonus($money,$type_sn,session_helper::nickname(),"发送了{$money}元的红包.");
             $url = BASE_SITE_URL . "/mobile/index.php?act=bonusex&op=open&client_type=wap&type_sn={$type_sn}";
             return self::outsuccess(array('type_sn' => $ret,'url' => "{$url}"));
         }
@@ -65,14 +65,14 @@ class member_bonusControl extends mbMemberControl
 
         $param = array_merge($param_active,$param_personal);
 
-        $pre_helper = new predeposit_helper();
+        $pre_helper = new predeposit_helper($_SESSION['member_id']);
         if(!$pre_helper->is_enough($param['total_amount'])) {
             return self::outerr(errcode::ErrBonusNotEnough,'余额不够发送红包');
         }
 
         $param['sender_id'] = $_SESSION['member_id'];
         $param['sender_mobile'] = $_SESSION['member_mobile'];
-        $param['sender_name'] = user_helper::nickname();
+        $param['sender_name'] = session_helper::nickname();
 
         $ret = bonus_helper::make_bonus($param);
         if($ret === false) {
@@ -81,14 +81,31 @@ class member_bonusControl extends mbMemberControl
             $type_sn = $ret['type_sn'];
             $money = $ret['money'];
 
-            $pre_helper = new predeposit_helper();
-            $pre_helper->hand_out_bonus($money,$type_sn,user_helper::nickname(),"发送了{$money}元的红包.");
+            $pre_helper = new predeposit_helper($_SESSION['member_id']);
+            $pre_helper->handout_bonus($money,$type_sn,session_helper::nickname(),"发送了{$money}元的红包.");
+            bonus_helper::withold($_SESSION['member_id'],$money);
 
             $url = BASE_SITE_URL . "/mobile/index.php?act=bonusex&op=open&client_type=wap&type_sn={$type_sn}";
             return self::outsuccess(array('type_sn' => $ret,'url' => "{$url}"));
         }
     }
 
+    public function share_oneOp()
+    {
+        if(!isset($_GET['bonus_sn']) || empty($_GET['bonus_sn'])) {
+            return self::outerr(errcode::ErrParamter,"需要红包序列号.");
+        }
+        $bonus_sn = $_GET['bonus_sn'];
+        $ret = account_helper::share_bonus($_SESSION['member_id'],$bonus_sn);
+        if($ret === false) {
+            return self::outerr(errcode::ErrBonus,"生成红包失败.");
+        } else {
+            $type_sn = $ret['type_sn'];
+            $url = BASE_SITE_URL . "/mobile/index.php?act=bonusex&op=open&client_type=wap&type_sn={$type_sn}";
+            return self::outsuccess(array('type_sn' => $ret,'url' => "{$url}"));
+        }
+    }
+
     public function topupOp()
     {
         $bonuses = bonus_helper::topup_bonus($_SESSION['member_mobile']);
@@ -139,7 +156,7 @@ class member_bonusControl extends mbMemberControl
         $mod_type = Model('bonus_type');
 
         $cond = array();
-        $cond['sender_id|repayer_id'] = array('_multi'=>true,$_SESSION['member_id'],$_SESSION['member_id']);
+        $cond['sender_id|relayer_id'] = array('_multi'=>true,$_SESSION['member_id'],$_SESSION['member_id']);
         $cond['make_type'] = 0;
 
         $count = $mod_type->getTypeCount($cond);
@@ -175,7 +192,7 @@ class member_bonusControl extends mbMemberControl
             $user_bonus = bonus\user_bonus::create_by_param($val);
 
             $item = array();
-            $item['bonus_id'] = $user_bonus->bonus_id();
+            $item['bonus_sn'] = $user_bonus->bonus_sn();
             $item['bonus_value'] = $user_bonus->bonus_value();
             $item['remain_amount'] = $user_bonus->remain_amount();
             $item['usable_time'] = $user_bonus->usable_time();
@@ -203,7 +220,7 @@ class member_bonusControl extends mbMemberControl
         if(empty($items)) {
             return self::outsuccess(array('pd_logs' => array(),'mobile_page' => mobile_page(0)));
         }
-        $predeposit = new predeposit_helper();
+        $predeposit = new predeposit_helper($_SESSION['member_id']);
         $pd_logs = $predeposit->filter_pd_log($items);
 
         $pages = $this->pages($count);
@@ -228,7 +245,8 @@ class member_bonusControl extends mbMemberControl
         {
             $total_amount = 0;
             $result = array();
-            foreach ($items as $bonus) {
+            foreach ($items as $bonus)
+            {
                 $user_bonus = bonus\user_bonus::create_by_param($bonus);
                 $type_info = bonus_helper::get_typeinfo($user_bonus->type_sn());
                 $type_info = $type_info['type_info'];

+ 1 - 1
mobile/control/member_info.php

@@ -90,7 +90,7 @@ class member_infoControl extends mbMemberControl
 
     public function upcontactsOp()
     {
-        $contacts = user_helper::parse_contacts($_POST["contact_list"]); ;
+        $contacts = session_helper::parse_contacts($_POST["contact_list"]); ;
         if ($contacts == false) {
             return self::outerr(errcode::ErrParamter);
         }

+ 1 - 1
test/account_helperTest.php

@@ -22,7 +22,7 @@ class account_helperTest extends PHPUnit_Framework_TestCase
 
     public function testPayRefund()
     {
-        account_helper::pay_refund(36490,500,'退款红包');
+        //account_helper::pay_refund(36490,500,'退款红包');
     }
 
     public function testModelCond()

+ 2 - 2
test/user_helperTest.php

@@ -11,7 +11,7 @@ define('BASE_ROOT_PATH',str_replace('/test','',dirname(__FILE__)));
 
 require_once(BASE_ROOT_PATH . '/fooder.php');
 require_once(BASE_ROOT_PATH . '/helper/relation_helper.php');
-require_once(BASE_ROOT_PATH . '/helper/user_helper.php');
+require_once(BASE_ROOT_PATH . '/helper/session_helper.php');
 
 
 class user_helperTest extends PHPUnit_Framework_TestCase
@@ -26,7 +26,7 @@ class user_helperTest extends PHPUnit_Framework_TestCase
         $datas = array('13911129867','13911129868','13911129869','13911129870','13911129870');
         $jsData = json_encode($datas);
         $jsData = urlencode($jsData);
-        user_helper::parse_contacts($jsData);
+        session_helper::parse_contacts($jsData);
     }
 
 }