Bläddra i källkod

fix bonus namespace bug

stanley 2 år sedan
förälder
incheckning
0e59d8e955

+ 2 - 1
helper/bonus/BonusAmount.php

@@ -10,6 +10,7 @@ namespace bonus;
 
 
 use UnImplementsException;
 use UnImplementsException;
 
 
+
 class BonusAmount implements IMoneyCalc
 class BonusAmount implements IMoneyCalc
 {
 {
     private $mDirty;
     private $mDirty;
@@ -30,7 +31,7 @@ class BonusAmount implements IMoneyCalc
     public function add_bonuses($items)
     public function add_bonuses($items)
     {
     {
         foreach ($items as $item) {
         foreach ($items as $item) {
-            $bonus = bonus\user_bonus::create_by_param($item);
+            $bonus = user_bonus::create_by_param($item);
             $amount = intval($bonus->remain_amount() * 100 + 0.5) / 100;
             $amount = intval($bonus->remain_amount() * 100 + 0.5) / 100;
 
 
             if ($amount <= 0) continue;
             if ($amount <= 0) continue;

+ 8 - 8
helper/bonus/RateMoney.php

@@ -149,14 +149,13 @@ class RateMoney implements IMoneyCalc
             $total = intval($total * 100 + 0.5);
             $total = intval($total * 100 + 0.5);
             if ($total <= 0) {
             if ($total <= 0) {
                 continue;
                 continue;
+            }
+            elseif ($total >= $left) {
+                $rates[$rate] = $left / 100;
+                $left = 0;
             } else {
             } else {
-                if ($total >= $left) {
-                    $rates[$rate] = $left / 100;
-                    $left = 0;
-                } else {
-                    $rates[$rate] = $total / 100;
-                    $left -= $total;
-                }
+                $rates[$rate] = $total / 100;
+                $left -= $total;
             }
             }
         }
         }
         return $rates;
         return $rates;
@@ -167,7 +166,8 @@ class RateMoney implements IMoneyCalc
         $rates = [];
         $rates = [];
         $disc = 0;
         $disc = 0;
         $left = intval($price * 100 + 0.5);
         $left = intval($price * 100 + 0.5);
-        foreach ($this->mRates as $rate => $total) {
+        foreach ($this->mRates as $rate => $total)
+        {
             if ($left <= 0) break;
             if ($left <= 0) break;
             if ($rate > 100) continue;
             if ($rate > 100) continue;
 
 

+ 22 - 25
helper/bonus/account.php

@@ -9,7 +9,6 @@
 
 
 namespace bonus;
 namespace bonus;
 
 
-use bonus;
 use bonus_helper;
 use bonus_helper;
 use Exception;
 use Exception;
 use Log;
 use Log;
@@ -178,30 +177,28 @@ class account implements IPriceCalculate
                 if ($version != $this->mRateVersion) {
                 if ($version != $this->mRateVersion) {
                     $fUpdate = true;
                     $fUpdate = true;
                 }
                 }
-                else
-                {
-                    if (isset($_SESSION['bonus_rate']) && isset($_SESSION['bonus_state']) && isset($_SESSION['share_bonus_rate'])) {
-                        $this->mPayRates = self::create_moneycalc($_SESSION['bonus_rate']);
-                        $this->mShareRates = self::create_moneycalc($_SESSION['share_bonus_rate']);
-                        $this->mBonusState = $_SESSION['bonus_state'];
-                    } else {
-                        $fUpdate = true;
-                    }
+                elseif (isset($_SESSION['bonus_rate']) && isset($_SESSION['bonus_state']) && isset($_SESSION['share_bonus_rate'])) {
+                    $this->mPayRates = self::create_moneycalc($_SESSION['bonus_rate']);
+                    $this->mShareRates = self::create_moneycalc($_SESSION['share_bonus_rate']);
+                    $this->mBonusState = $_SESSION['bonus_state'];
+                } else {
+                    $fUpdate = true;
                 }
                 }
             }
             }
-        } else {
+        }
+        else {
             $fUpdate = true;
             $fUpdate = true;
         }
         }
 
 
         if ($fUpdate || $this->need_update())
         if ($fUpdate || $this->need_update())
         {
         {
             $mod_bonus = Model('user_bonus');
             $mod_bonus = Model('user_bonus');
-            $this->mPayRates = self::create_moneycalc(array());
+            $this->mPayRates = self::create_moneycalc([]);
             $pay_items = $mod_bonus->getUsableBonus($this->member_id);
             $pay_items = $mod_bonus->getUsableBonus($this->member_id);
             $this->mPayRates->add_bonuses($pay_items);
             $this->mPayRates->add_bonuses($pay_items);
             $pay_bonus_rate = $this->mPayRates->format();
             $pay_bonus_rate = $this->mPayRates->format();
 
 
-            $this->mShareRates = self::create_moneycalc(array());
+            $this->mShareRates = self::create_moneycalc([]);
             $share_items = $mod_bonus->getShareableBonus($this->member_id);
             $share_items = $mod_bonus->getShareableBonus($this->member_id);
             $this->mShareRates->add_bonuses($share_items);
             $this->mShareRates->add_bonuses($share_items);
             $share_bonus_rate = $this->mShareRates->format();
             $share_bonus_rate = $this->mShareRates->format();
@@ -346,14 +343,14 @@ class account implements IPriceCalculate
         if (empty($items)) return false;
         if (empty($items)) return false;
 
 
         $bonuses = [];
         $bonuses = [];
-        $manager = new bonus\manager();
+        $manager = new manager();
         foreach ($items as $val)
         foreach ($items as $val)
         {
         {
             try
             try
             {
             {
                 $type_id = $val['type_id'];
                 $type_id = $val['type_id'];
-                $type  = bonus\type::create_by_id($type_id);
-                $bonus = bonus\user_bonus::create_by_param($val);
+                $type  = type::create_by_id($type_id);
+                $bonus = user_bonus::create_by_param($val);
 
 
                 if ($manager->topup($type, $mod_bonus, $val) == true) {
                 if ($manager->topup($type, $mod_bonus, $val) == true) {
                     $bonuses[] = $val;
                     $bonuses[] = $val;
@@ -407,7 +404,7 @@ class account implements IPriceCalculate
         $money = $result['money'];
         $money = $result['money'];
 
 
         $logger = new recorder($this->member_id);
         $logger = new recorder($this->member_id);
-        $logger->handout_bonus($money, $type_sn, session_helper::nickname(), "发送了{$money}元的红包.", bonus\type::MakeSendType);
+        $logger->handout_bonus($money, $type_sn, session_helper::nickname(), "发送了{$money}元的红包.", type::MakeSendType);
 
 
         foreach ($rate_moneys as $item) {
         foreach ($rate_moneys as $item) {
             $this->mPayRates->with_hold($item['rate'], $item['amount']);
             $this->mPayRates->with_hold($item['rate'], $item['amount']);
@@ -434,7 +431,7 @@ class account implements IPriceCalculate
         $money = $result['money'];
         $money = $result['money'];
 
 
         $logger = new recorder($this->member_id);
         $logger = new recorder($this->member_id);
-        $logger->handout_bonus($money, $type_sn, session_helper::nickname(), "发送了{$money}元的红包.", bonus\type::MakeSendType);
+        $logger->handout_bonus($money, $type_sn, session_helper::nickname(), "发送了{$money}元的红包.", type::MakeSendType);
 
 
         foreach ($rate_moneys as $item) {
         foreach ($rate_moneys as $item) {
             $this->mPayRates->with_hold($item['rate'], $item['amount']);
             $this->mPayRates->with_hold($item['rate'], $item['amount']);
@@ -461,7 +458,7 @@ class account implements IPriceCalculate
         $money = $result['money'];
         $money = $result['money'];
 
 
         $logger = new recorder($this->member_id);
         $logger = new recorder($this->member_id);
-        $logger->handout_bonus($money, $type_sn, session_helper::nickname(), "发送了{$money}元的红包.", bonus\type::MakeSendType);
+        $logger->handout_bonus($money, $type_sn, session_helper::nickname(), "发送了{$money}元的红包.", type::MakeSendType);
 
 
         foreach ($rate_moneys as $item) {
         foreach ($rate_moneys as $item) {
             $this->mPayRates->with_hold($item['rate'], $item['amount']);
             $this->mPayRates->with_hold($item['rate'], $item['amount']);
@@ -482,7 +479,7 @@ class account implements IPriceCalculate
 
 
     public function share_bonus($bonus_sn, &$msg)
     public function share_bonus($bonus_sn, &$msg)
     {
     {
-        $bonus = bonus\user_bonus::create_by_sn($bonus_sn);
+        $bonus = user_bonus::create_by_sn($bonus_sn);
         if ($bonus->spend_over()) {
         if ($bonus->spend_over()) {
             $msg = "该红包现金已经花光了~";
             $msg = "该红包现金已经花光了~";
             return false;
             return false;
@@ -495,11 +492,11 @@ class account implements IPriceCalculate
         $param['sender_id'] = $this->member_id;
         $param['sender_id'] = $this->member_id;
         $param['sender_mobile'] = $minfo->mobile();
         $param['sender_mobile'] = $minfo->mobile();
         $param['sender_name'] = $minfo->nickname();
         $param['sender_name'] = $minfo->nickname();
-        $param['make_type'] = bonus\type::MakeSendType;
+        $param['make_type'] = type::MakeSendType;
         $name = $minfo->nickname();
         $name = $minfo->nickname();
         $param['type_name'] = "{$name}";
         $param['type_name'] = "{$name}";
 
 
-        $type = bonus\type::create_by_input($param);
+        $type = type::create_by_input($param);
 
 
         $rate_moneys = [];
         $rate_moneys = [];
         $item['amount'] = $type->getTotal_amount();
         $item['amount'] = $type->getTotal_amount();
@@ -517,7 +514,7 @@ class account implements IPriceCalculate
                 $money = $result['money'];
                 $money = $result['money'];
 
 
                 $logger = new recorder($this->member_id);
                 $logger = new recorder($this->member_id);
-                $logger->handout_bonus($money, $type_sn, session_helper::nickname(), "发送了{$money}元的红包.", \bonus\type::MakeSendType);
+                $logger->handout_bonus($money, $type_sn, session_helper::nickname(), "发送了{$money}元的红包.", type::MakeSendType);
             }
             }
             return $result;
             return $result;
         }
         }
@@ -696,9 +693,9 @@ class account implements IPriceCalculate
     static private function create_moneycalc($rate_moneys)
     static private function create_moneycalc($rate_moneys)
     {
     {
         if (noBonusRate()) {
         if (noBonusRate()) {
-            return new bonus\BonusAmount($rate_moneys);
+            return new BonusAmount($rate_moneys);
         } else {
         } else {
-            return new bonus\RateMoney($rate_moneys);
+            return new RateMoney($rate_moneys);
         }
         }
     }
     }
 }
 }

+ 1 - 1
helper/bonus/manager.php

@@ -476,7 +476,7 @@ class manager
             return false;
             return false;
         }
         }
 
 
-        $shaker = new \bonus\shaker();
+        $shaker = new shaker();
         $ret = $shaker->reassign($type_id,$bonus_id,$bonus_status,$bonus_val,$strength,$direction);
         $ret = $shaker->reassign($type_id,$bonus_id,$bonus_status,$bonus_val,$strength,$direction);
         if($ret == true)
         if($ret == true)
         {
         {

+ 2 - 3
helper/bonus/parameters.php

@@ -9,7 +9,6 @@ namespace bonus;
 
 
 use Exception;
 use Exception;
 use member_info;
 use member_info;
-use bonus;
 
 
 class parameters
 class parameters
 {
 {
@@ -462,7 +461,7 @@ class parameters
         foreach ($bonus_rates as $rate => $amount)
         foreach ($bonus_rates as $rate => $amount)
         {
         {
             $param = [];
             $param = [];
-            $param['make_type'] = bonus\type::MakeOrderCancelType;
+            $param['make_type'] = type::MakeOrderCancelType;
             $param['type_name'] = '订单退款';
             $param['type_name'] = '订单退款';
             $param['sender_id'] = self::admin_member_id;
             $param['sender_id'] = self::admin_member_id;
             $param['sender_name'] = self::admin_name;
             $param['sender_name'] = self::admin_name;
@@ -477,7 +476,7 @@ class parameters
 
 
     public static function bonus_refund($rate,$amount)
     public static function bonus_refund($rate,$amount)
     {
     {
-        $param['make_type'] = \bonus\type::MakeBonusRefundType;
+        $param['make_type'] = type::MakeBonusRefundType;
         $param['type_name'] = '红包过期退款';
         $param['type_name'] = '红包过期退款';
         $param['sender_id'] = self::admin_member_id;
         $param['sender_id'] = self::admin_member_id;
         $param['sender_name'] = self::admin_name;
         $param['sender_name'] = self::admin_name;

+ 20 - 21
helper/bonus/recorder.php

@@ -8,7 +8,6 @@
 
 
 namespace bonus;
 namespace bonus;
 
 
-use bonus;
 use Exception;
 use Exception;
 use member_info;
 use member_info;
 
 
@@ -26,7 +25,7 @@ class recorder
     public function bonus_expire($bouns)
     public function bonus_expire($bouns)
     {
     {
         try {
         try {
-            $bonus_obj = bonus\user_bonus::create_by_param($bouns);
+            $bonus_obj = user_bonus::create_by_param($bouns);
             if ($bonus_obj->spend_over()) {
             if ($bonus_obj->spend_over()) {
                 return false;
                 return false;
             }
             }
@@ -47,7 +46,7 @@ class recorder
         }
         }
     }
     }
 
 
-    public function add_bonus(bonus\user_bonus $bonus, bonus\type $type)
+    public function add_bonus(user_bonus $bonus, type $type)
     {
     {
         $minfo = new member_info($this->member_id);
         $minfo = new member_info($this->member_id);
         $data = [];
         $data = [];
@@ -279,11 +278,11 @@ class recorder
     private function gen_send_title($sender_name, $make_type)
     private function gen_send_title($sender_name, $make_type)
     {
     {
         switch ($make_type) {
         switch ($make_type) {
-            case bonus\type::MakeSendType:
+            case type::MakeSendType:
                 return "发出红包";
                 return "发出红包";
-            case bonus\type::MakeShakeGainType:
+            case type::MakeShakeGainType:
                 return "被{$sender_name}摇走的红包";
                 return "被{$sender_name}摇走的红包";
-            case bonus\type::MakeShakeLostType:
+            case type::MakeShakeLostType:
                 return "摇飞红包到{$sender_name}";
                 return "摇飞红包到{$sender_name}";
             default:
             default:
                 return "";
                 return "";
@@ -293,35 +292,35 @@ class recorder
     private function gen_gain_title($sender_name, $make_type)
     private function gen_gain_title($sender_name, $make_type)
     {
     {
         switch ($make_type) {
         switch ($make_type) {
-            case bonus\type::MakeSendType:
+            case type::MakeSendType:
                 return "{$sender_name}的红包";
                 return "{$sender_name}的红包";
-            case bonus\type::MakeInviteType:
+            case type::MakeInviteType:
                 return "{$sender_name}发出的邀请红包";
                 return "{$sender_name}发出的邀请红包";
-            case bonus\type::MakeBonusRefundType:
+            case type::MakeBonusRefundType:
                 return "未领红包退款";
                 return "未领红包退款";
-            case bonus\type::MakeShakeGainType:
+            case type::MakeShakeGainType:
                 return "摇到{$sender_name}的红包";
                 return "摇到{$sender_name}的红包";
-            case bonus\type::MakeShakeLostType:
+            case type::MakeShakeLostType:
                 return "{$sender_name}摇到你这儿的红包";
                 return "{$sender_name}摇到你这儿的红包";
-            case bonus\type::MakePayRefundType:
+            case type::MakePayRefundType:
                 return "购物退款红包";
                 return "购物退款红包";
-            case bonus\type::MakePayType:
+            case type::MakePayType:
                 return "购物分享红包";
                 return "购物分享红包";
-            case bonus\type::MakeOrderCancelType:
+            case type::MakeOrderCancelType:
                 return "订单取消退款";
                 return "订单取消退款";
-            case bonus\type::MakeRegisterType:
+            case type::MakeRegisterType:
                 return "新人福利";
                 return "新人福利";
-            case bonus\type::MakeEvaluateType:
+            case type::MakeEvaluateType:
                 return "评论奖励红包";
                 return "评论奖励红包";
-            case bonus\type::MakeInviteRewardType:
+            case type::MakeInviteRewardType:
                 return "邀请好友,奖励红包";
                 return "邀请好友,奖励红包";
-            case bonus\type::MakeVoteType:
+            case type::MakeVoteType:
                 return "投票或答题红包";
                 return "投票或答题红包";
-            case bonus\type::MakePayRewardInviterType:
+            case type::MakePayRewardInviterType:
                 return "粉丝购物,奖励红包";
                 return "粉丝购物,奖励红包";
-            case bonus\type::MakePayRewardInviteeType:
+            case type::MakePayRewardInviteeType:
                 return "雨露均沾红包";
                 return "雨露均沾红包";
-            case bonus\type::MakeAllowanceType:
+            case type::MakeAllowanceType:
                 return "购物津贴红包";
                 return "购物津贴红包";
 
 
             default:
             default:

+ 0 - 1
helper/bonus/thief_vilator.php

@@ -10,7 +10,6 @@ namespace bonus;
 
 
 use algorithm;
 use algorithm;
 use errcode;
 use errcode;
-use bonus\account;
 use gain_policy;
 use gain_policy;
 
 
 class thief_vilator
 class thief_vilator

+ 2 - 2
helper/bonus/type.php

@@ -221,7 +221,7 @@ class type
 
 
             foreach ($rate_money as $item)
             foreach ($rate_money as $item)
             {
             {
-                if($send_type == \bonus\type::SendType_Random) {
+                if($send_type == type::SendType_Random) {
                     $total_amount += $item['amount'];
                     $total_amount += $item['amount'];
                 } else {
                 } else {
                     $total_amount += $item['amount'] * $item['num'];
                     $total_amount += $item['amount'] * $item['num'];
@@ -244,7 +244,7 @@ class type
                 throw new Exception("系统发送的红包个数不能大于{$max_num}.",errcode::ErrParamter);
                 throw new Exception("系统发送的红包个数不能大于{$max_num}.",errcode::ErrParamter);
             }
             }
 
 
-            if($send_type == \bonus\type::SendType_Random) {
+            if($send_type == type::SendType_Random) {
                 $this->mParam['fixed_money'] = 0;
                 $this->mParam['fixed_money'] = 0;
                 $this->mParam['min_amount'] = 0.01;
                 $this->mParam['min_amount'] = 0.01;
             } else {
             } else {