浏览代码

fix payPredepositEx not commit error

stanley-king 8 年之前
父节点
当前提交
d65261f00d
共有 3 个文件被更改,包括 29 次插入21 次删除
  1. 22 20
      data/logic/payment.logic.php
  2. 1 1
      helper/bonus/grab.php
  3. 6 0
      test/bonus_helperTest.php

+ 22 - 20
data/logic/payment.logic.php

@@ -48,7 +48,7 @@ class paymentLogic
      * @param int $member_id
      * @param int $member_id
      */
      */
     //add by stanley
     //add by stanley
-    public function payPredepositEx($pay_sn,$member_info)
+    public function payPredepositEx($pay_sn, $member_info)
     {
     {
         //验证订单信息
         //验证订单信息
         $model_order = Model('order');
         $model_order = Model('order');
@@ -64,26 +64,26 @@ class paymentLogic
         $model_pd = Model('predeposit');
         $model_pd = Model('predeposit');
         $pred = new predeposit_helper($member_id);
         $pred = new predeposit_helper($member_id);
 
 
-        try
+
+        $pd_amount = intval($pd_amount * 100 + 0.5);
+        foreach ($order_list as $order_info)
         {
         {
-            $pd_amount = intval($pd_amount * 100 + 0.5);
-            foreach ($order_list as $order_info)
+            try
             {
             {
-                $trans = new trans_wapper(null,__METHOD__);
-
-                $order_pd_amount = $pred->calc_pred($order_info,$pd_amount,$no_cash,$rates);
-                if(!empty($rates)) {
+                $trans = new trans_wapper(null, __METHOD__);
+                $order_pd_amount = $pred->calc_pred($order_info, $pd_amount, $no_cash, $rates);
+                if (!empty($rates)) {
                     Model()->table('order')->where(array('order_id' => $order_info['order_id']))->update(array('bonus_rate' => serialize($rates)));
                     Model()->table('order')->where(array('order_id' => $order_info['order_id']))->update(array('bonus_rate' => serialize($rates)));
                 }
                 }
                 $pd_amount -= $order_pd_amount;
                 $pd_amount -= $order_pd_amount;
                 $fEdit = true;
                 $fEdit = true;
-                if($no_cash) {
+                if ($no_cash) {
                     $order_info['pd_amount'] += floatval($order_pd_amount) / 100; // 余额大于订单金额的情况
                     $order_info['pd_amount'] += floatval($order_pd_amount) / 100; // 余额大于订单金额的情况
                     $change_type = 'order_pay';
                     $change_type = 'order_pay';
                 }
                 }
                 else
                 else
                 {
                 {
-                    if($order_pd_amount > 0) {
+                    if ($order_pd_amount > 0) {
                         $order_info['pd_amount'] += floatval($order_pd_amount) / 100;
                         $order_info['pd_amount'] += floatval($order_pd_amount) / 100;
                         $change_type = 'order_freeze';
                         $change_type = 'order_freeze';
                     } else {
                     } else {
@@ -91,7 +91,7 @@ class paymentLogic
                     }
                     }
                 }
                 }
 
 
-                if($fEdit)
+                if ($fEdit)
                 {
                 {
                     $data_pd = array();
                     $data_pd = array();
                     $data_pd['member_id'] = $member_id;
                     $data_pd['member_id'] = $member_id;
@@ -104,25 +104,27 @@ class paymentLogic
                     if (0 == $ret) {
                     if (0 == $ret) {
                         throw new Exception("订单更新失败");
                         throw new Exception("订单更新失败");
                     }
                     }
-                    
+
                     // 修改订单
                     // 修改订单
                     $data_order = array('pd_amount' => $order_info['pd_amount']);
                     $data_order = array('pd_amount' => $order_info['pd_amount']);
                     $ret = $model_order->editOrder($data_order, array('order_id' => $order_info['order_id']));
                     $ret = $model_order->editOrder($data_order, array('order_id' => $order_info['order_id']));
                     if (0 == $ret) {
                     if (0 == $ret) {
                         throw new Exception("订单更新失败");
                         throw new Exception("订单更新失败");
                     }
                     }
-                    $trans->commit();
                 }
                 }
-                QueueClient::push('onPredeposit',
-                    array('change_type' => $change_type,'buyer_id'=>$member_id,'order_sn'=>$order_info['order_sn']));
+                $trans->commit();
+            }
+            catch (Exception $e)
+            {
+                $trans->rollback();
+                return false;
             }
             }
 
 
-            return true;
-        }
-        catch (Exception $e) {
-            $trans->rollback();
-            return false;
+            QueueClient::push('onPredeposit',['change_type' => $change_type, 'buyer_id' => $member_id, 'order_sn' => $order_info['order_sn']]);
         }
         }
+
+        return true;
+
     }
     }
 
 
     /**
     /**

+ 1 - 1
helper/bonus/grab.php

@@ -43,7 +43,7 @@ class general_grab extends IGrab
 
 
     public function get_bonus($paramer)
     public function get_bonus($paramer)
     {
     {
-        Log::record("general_grab->get_bonus begin");
+        Log::record("general_grab->get_bonus begin",Log::DEBUG);
 
 
         $time_out = $paramer['time_out'];
         $time_out = $paramer['time_out'];
         $session_id = $paramer['session_id'];
         $session_id = $paramer['session_id'];

+ 6 - 0
test/bonus_helperTest.php

@@ -38,6 +38,12 @@ class bonus_helperTest extends PHPUnit_Framework_TestCase
     
     
     public function testMemBonus()
     public function testMemBonus()
     {
     {
+        $x = false;
+        if($x) {
+            $user_bonus = 0;
+        }
+        $bonus_val = $user_bonus->bonus_value();
+
         $mem_bonus = new \bonus\witholder(36490);
         $mem_bonus = new \bonus\witholder(36490);
         $mem_bonus->withold(7.30);
         $mem_bonus->withold(7.30);
     }
     }