Browse Source

修改 订单

stanley-king 8 years ago
parent
commit
84bbac6c3d

+ 9 - 1
helper/goods_helper.php

@@ -11,10 +11,12 @@ require_once (BASE_ROOT_PATH . '/helper/activity_helper.php');
 
 class goods_helper
 {
-    const fieldstr = 'goods_id,goods_commonid,store_id,brand_id,gc_id,goods_name,goods_price,goods_marketprice,goods_promotion_price,goods_jingle,
+    const fieldstr = 'goods_id,goods_commonid,goods_state,store_id,brand_id,gc_id,goods_name,goods_price,goods_marketprice,goods_promotion_price,goods_jingle,
                   goods_image,goods_salenum,evaluation_good_star,evaluation_count,goods_storage,goods_storage_alarm,is_virtual,is_presell,
                   is_fcode,have_gift,goods_mobile_name,goods_spec';
+
     public function __construct() {
+
     }
 
     public function get_distinct($goods_commonids)
@@ -80,6 +82,12 @@ class goods_helper
         return $this->do_summary($goods_list,$related_goods);
     }
 
+    public function cart_summary($goods_ids,&$related_goods)
+    {
+        $goods_list = Model('goods')->cls()->getGoodsList(array('goods_id' => array('in', $goods_ids)),self::fieldstr);
+        return $this->do_summary($goods_list,$related_goods);
+    }
+
     private function do_summary($goods_list,&$related_goods)
     {
         $related_goods = array();

+ 3 - 6
helper/model/goods_common.php

@@ -63,7 +63,6 @@ class common_spec extends common_base
         if(empty($spec_name)) {
             $this->have_spec = false;
             $this->spec_name = '';
-
         }
         else
         {
@@ -79,8 +78,7 @@ class common_spec extends common_base
         {
             foreach ($spec_value as $sp_id => $sp_val)
             {
-                foreach ($sp_val as $spv_id => $spv_name)
-                {
+                foreach ($sp_val as $spv_id => $spv_name) {
                     $this->spec_list[$spv_id]['spv_name'] = $spv_name;
                 }
             }
@@ -96,8 +94,7 @@ class common_spec extends common_base
             $spec = unserialize($value['goods_spec']);
             if(!empty($spec))
             {
-                foreach ($spec as $spv_id => $spv_name)
-                {
+                foreach ($spec as $spv_id => $spv_name) {
                     $this->spec_list[$spv_id]['goods_id'] = $goods_id;
                 }
             }
@@ -162,7 +159,7 @@ class goods_common extends common_base
     }
     static private function img_url($value,$store_id)
     {
-        return cthumb($value, 360, $store_id);
+        return cthumb($value, 1280, $store_id);
     }
 
     private function goods_images()

+ 2 - 4
helper/model/goods_summary.php

@@ -8,8 +8,6 @@
  */
 class goods_summary
 {
-    const fieldstr = 'goods_id,goods_mobile_name,goods_commonid,store_id,brand_id,gc_id,goods_price,goods_marketprice,goods_promotion_price,goods_jingle,
-                  goods_image,goods_salenum,goods_storage,have_gift';
     private $goods_id;
     private $goods_commonid;
     private $goods_info;
@@ -42,7 +40,7 @@ class goods_summary
 
     static private function img_url($value,$store_id)
     {
-        return cthumb($value, 360, $store_id);
+        return cthumb($value, 1280, $store_id);
     }
 
     public function format(&$act_type, &$act_id)
@@ -60,7 +58,7 @@ class goods_summary
         $summary['goods_image_url'] = self::img_url($this->goods_info['goods_image'],$this->goods_info['store_id']);
 
         //begin——为兼容以前版本协议
-        $summary['goods_state'] = 1;
+        $summary['goods_state'] = intval($this->goods_info['goods_state']);
         $summary['goods_storage_state'] = intval($this->goods_info['goods_storage']) > 0 ? 1 : 0;
         //end
 

+ 50 - 31
mobile/control/cart.php

@@ -7,6 +7,8 @@
 
 defined('InShopNC') or exit('Access Invalid!');
 
+require_once (BASE_ROOT_PATH . '/helper/goods_helper.php');
+
 class cartControl extends mobileControl
 {
     public function __construct()
@@ -14,37 +16,76 @@ class cartControl extends mobileControl
         parent::__construct();
     }
 
-    public function listOp()
+    public function listexOp()
     {
         $model_cart	= Model('cart');
-        $logic_buy_1 = logic('buy_1');
-
-        $minest_cartid = intval(_GET['minest_cartid']);
+        $minest_cartid = intval($_GET['minest_cartid']);
 
         $has_more = false;
-        $page_size = $this->page_size();
+        $pages = 1;
+
         if($_SESSION['is_login'] == 1)
         {
+            $page_size = $this->page_size();
             if($minest_cartid > 0) {
                 $condition = array('buyer_id'=>$_SESSION['member_id'],'cart_id' => array('lt',$minest_cartid));
+                $left = $model_cart->getCartListCount($condition);
+                $has_more = $left > $page_size;
+
+                $total = $model_cart->getCartListCount(array('buyer_id'=>$_SESSION['member_id']));
+                $pages = $this->pages($total);
             } else {
                 $condition = array('buyer_id'=>$_SESSION['member_id']);
+                $total = $model_cart->getCartListCount(array('buyer_id'=>$_SESSION['member_id']));
+                $pages = $this->pages($total);
+                $has_more = $total > $page_size;
             }
-            $count = $this->getCartListCount($condition);
-            $has_more = $count > $page_size;
+
             $cart_list	= $model_cart->listCart('db',$condition,$page_size);
         } else {
             $cart_list	= $model_cart->listCart('Session');
         }
 
-        $cart_info = array();
+        $goods_ids = array();
+        $cart_infos = array();
         foreach ($cart_list as $item) {
             $cart_item['cart_id'] = intval($item['cart_id']);
             $cart_item['goods_id'] = intval($item['goods_id']);
             $cart_item['bl_id'] = intval($item['bl_id']);
             $cart_item['goods_num'] = intval($item['goods_num']);
 
-            $cart_info[] = $cart_item;
+            $goods_ids[] = intval($item['goods_id']);
+            $cart_infos[] = $cart_item;
+        }
+
+        $helper = new goods_helper();
+        $summaries = $helper->cart_summary($goods_ids,$related_goods);
+        $summary_list = $summaries['summary'];
+        if(!empty($related_goods)) {
+            $related_summary = $helper->cart_summary($goods_ids,$x);
+            $summary_list = array_merge($summary_list,$related_summary['summary']);
+        }
+
+        $ret['cart_list'] = $cart_infos;
+        $ret['goods_list'] = $summary_list;
+        $ret['groupbuy'] = $summaries['groupbuy'];
+        $ret['limitime'] = $summaries['limitime'];
+        $ret['bundling'] = $summaries['bundling'];
+        $ret['mobile_page'] = array('hasmore' => $has_more,'page_total' => $pages);
+
+        return self::outsuccess($ret);
+    }
+
+    public function listOp()
+    {
+        $model_cart	= Model('cart');
+        $logic_buy_1 = logic('buy_1');
+
+        //购物车列表
+        if($_SESSION['is_login'] == 1) {
+            $cart_list	= $model_cart->listCart('db',array('buyer_id'=>$_SESSION['member_id']));
+        } else {
+            $cart_list	= $model_cart->listCart('Session',array('buyer_id'=>$_SESSION['member_id']));
         }
 
         //购物车列表 [得到最新商品属性及促销信息]
@@ -145,28 +186,6 @@ class cartControl extends mobileControl
         }
     }
 
-    private function format_cart($store_cart_list,$store_list,$mansong_rule_list,$free_freight_list)
-    {
-        $ret = array();
-        foreach($store_cart_list as $key => $val)
-        {
-            $store_goods = array();
-            $store_goods['store_info'] = $store_list[$key];
-            $store_goods['free_freight'] = $free_freight_list[$key];
-            $store_goods['mansong_rule'] = $mansong_rule_list[$key];
-
-            $store_goods['goods_info'] = array();
-            foreach($val as $index => $goods) {
-                $this->remove_goods($goods);
-                array_push($store_goods['goods_info'],$goods);
-            }
-
-            array_push($ret,$store_goods);
-        }
-
-        return $ret;
-    }
-
     /**
      * 购物车列表
      */

+ 1 - 4
mobile/control/member_feedback.php

@@ -12,7 +12,7 @@
 
 defined('InShopNC') or exit('Access Invalid!');
 
-class member_feedbackControl extends mobileControl //mbMemberControl
+class member_feedbackControl extends mobileControl
 {
     public function __construct()
     {
@@ -26,9 +26,6 @@ class member_feedbackControl extends mobileControl //mbMemberControl
     {
         $mb_feedback = Model('mb_feedback');
 
-        $str = implode(",",$_POST);
-        Log::record($str,Log::DEBUG);
-
         $param = array();
         $param['content'] = urldecode($_POST['feedback']);
         $param['type'] = $_SESSION['client_type'];

+ 59 - 1
mobile/control/member_order.php

@@ -21,6 +21,65 @@ class member_orderControl extends mbMemberControl
         parent::__construct();
     }
 
+    public function listOp()
+    {
+        $model_order = Model('order');
+        $condition = array();
+        $condition['buyer_id'] = $_SESSION['member_id'];
+        $order_state = intval(trim($_GET['state']));
+        if ($order_state >= 10) {
+            $condition['order_state'] = $order_state;
+        }
+
+        $order_list_array = $model_order->getNormalOrderList($condition, $this->page_size, '*', 'order_id desc', '', array('order_address', 'order_goods'));
+        $order_group_list = array();
+        $order_pay_sn_array = array();
+
+        $model_refund = Model('refund_return');
+        foreach ($order_list_array as $order)
+        {
+            //显示取消订单
+            $order['if_cancel'] = $model_order->getOrderOperateState('buyer_cancel', $order);
+            //显示退款取消订单
+            $order['if_refund_cancel'] = $model_order->getOrderOperateState('refund_cancel',$order);
+            //显示收货
+            $order['if_receive'] = $model_order->getOrderOperateState('receive', $order);
+            //显示锁定中
+            $order['if_lock'] = $model_order->getOrderOperateState('lock', $order);
+            //显示物流跟踪
+            $order['if_deliver'] = $model_order->getOrderOperateState('deliver', $order);
+            //显示评价
+            $order['if_evaluation'] = $model_order->getOrderOperateState('evaluation',$order);
+            //显示永久删除
+            $order['if_drop'] = $model_order->getOrderOperateState('drop',$order);
+            //订单是否能退货
+            $order['if_refund_return'] = $model_refund->getRefundState($order);
+
+            //商品图
+            foreach ($order['extend_order_goods'] as $k => $goods_info) {
+                $order['extend_order_goods'][$k]['goods_image_url'] = cthumb($goods_info['goods_image'], 240, $order['store_id']);
+                $order['extend_order_goods'][$k]['refund_id']       = (string)$model_refund->getRefundIdForGood($goods_info,$order['extend_order_goods'][$k]['refund_state']);
+            }
+
+            $order['refund_id'] = (string)$model_refund->getRefundId($order,$order['refund_state']);
+            $order_group_list[$order['pay_sn']]['order_list'][] = $order;
+
+            //如果有在线支付且未付款的订单则显示合并付款链接
+            if ($order['order_state'] == ORDER_STATE_NEW) {
+                $order_group_list[$order['pay_sn']]['pay_amount'] += $order['order_amount'] - $order['rcb_amount'] - $order['pd_amount'];
+            }
+            $order_group_list[$order['pay_sn']]['add_time'] = $order['add_time'];
+
+            //记录一下pay_sn,后面需要查询支付单表
+            $order_pay_sn_array[] = $order['pay_sn'];
+        }
+
+        $page_count = $model_order->gettotalpage();
+        $model_order->cls();
+        $array_data['mobile_page'] = mobile_page($page_count);
+        self::outsuccess($array_data);
+    }
+
     public function order_listOp()
     {
         $this->page_size = 1000;
@@ -107,7 +166,6 @@ class member_orderControl extends mbMemberControl
         $order_list_array = $model_order->getNormalOrderList($condition, $this->page_size, '*', 'order_id desc', '', array('order_address', 'order_goods'));
 
         $model_refund = Model('refund_return');
-
         $array_data = array();
         foreach ($order_list_array as $value)
         {