Browse Source

给订单增加满赠信息,折扣及现金多少

stanley-king 8 years atrás
parent
commit
5dc218254a
2 changed files with 33 additions and 2 deletions
  1. 33 1
      helper/order_helper.php
  2. 0 1
      helper/pay_helper.php

+ 33 - 1
helper/order_helper.php

@@ -624,7 +624,7 @@ class order_helper
         $result["payment_code"] = $order["payment_code"];
         $result["payment_time"] = intval($order["payment_time"]);
         $result["finnshed_time"] = intval($order["finnshed_time"]);
-        $result["goods_amount"] = doubleval($order["goods_amount"]);
+        $result["goods_amount"] = $this->goods_amount($order);//doubleval($order["goods_amount"]);
         $result["order_amount"] = doubleval($order["order_amount"]);
         $result["rcb_amount"] = doubleval($order["rcb_amount"]);
         $result["pd_amount"] = doubleval($order["pd_amount"]);
@@ -637,6 +637,10 @@ class order_helper
         $result["shipping_code"] = $order["shipping_code"];
         $result["trade_no"] = $order["trade_no"];
         $result["state_desc"] = $order["state_desc"];
+        $result['pay_cash'] = $result["order_amount"] - $result["pd_amount"];
+
+        $result['full_discount'] = $result["order_amount"] - $result["goods_amount"];
+        $result['full_desc'] = $this->full_desc($order);
 
         if ($result['order_state'] == ORDER_STATE_NEW) {
             $result['cancel_time'] = $result['add_time'] + ORDER_AUTO_CANCEL_DAY * 24 * 3600;
@@ -651,6 +655,34 @@ class order_helper
         return $result;
     }
 
+    private function full_desc($order)
+    {
+        $order_info = $order['extend_order_common'];
+
+        $info = '';
+        if(array_key_exists('promotion_info',$order_info)) {
+            $info = $order_info['promotion_info'];
+        }
+
+        return (is_null($info) || empty($info)) ? "" : $info;
+    }
+
+    private function goods_amount($order)
+    {
+        $goods_amount = doubleval($order['goods_amount']);
+        $goods_list = $order['extend_order_goods'];
+        if(empty($goods_list) || !is_array($goods_list)) {
+            return $goods_amount;
+        } else {
+            $goods_amount = 0.00;
+        }
+        foreach ($goods_list as $goods) {
+            $goods_amount = doubleval($goods['goods_price']);
+        }
+
+        return $goods_amount;
+    }
+
     private function order_goods($order)
     {
         $result = [];

+ 0 - 1
helper/pay_helper.php

@@ -58,7 +58,6 @@ class pay_helper
         }
 
         $model_order = Model('order');
-
         $condition = array();
         $condition['pay_sn'] = $pay_sn;
         $condition['order_state'] = array('in',array(ORDER_STATE_NEW,ORDER_STATE_PAY));