浏览代码

Add cart edit op

Wan Xin 9 年之前
父节点
当前提交
c1ca600947
共有 1 个文件被更改,包括 51 次插入1 次删除
  1. 51 1
      mobile/control/member_cart.php

+ 51 - 1
mobile/control/member_cart.php

@@ -1,4 +1,4 @@
-<?php
+000000000000000<?php
 /**
  * 我的购物车
  *
@@ -109,6 +109,56 @@ class member_cartControl extends mobileMemberControl
         }
     }
 
+    public function cart_editOp(){
+        $cart_list = explode(','. urldecode($_POST['cart_list']));
+        $new_cart_list= array();
+        if (is_array($cart_list)) {
+            foreach ($cart_list as $value) {
+                if (preg_match_all('/^(\d{1,10})\|(\d{1,6})$/', $value, $match)) {
+                    if (intval($match[2][0]) > 0) {
+                        $new_cart_list[$match[1][0]] = $match[2][0];
+                    }
+                }
+            }
+
+            $model_cart = Model('cart');
+            $condition = array('buyer_id' => $this->member_info['member_id']);
+            $original_cart_list	= $model_cart->listCart('db', $condition);
+            $quantity_error = array();
+            foreach ($original_cart_list as $key => $value) {
+                if(array_key_exists($value['cart_id'], $new_cart_list)){
+                    $quantity = intval($new_cart_list[$value['cart_id']]);
+                    if(intval($value['goods_num']) !== $quantity){
+                        if(!$this->_check_goods_storage($value, $quantity, $this->member_info['member_id'])) {
+                            array_push($quantity_error, array('cart_id' => $value['cart_id'], 'quantity' => $quantity));
+                        }else{
+                            $data = array();
+                            $data['goods_num'] = $quantity;
+                            $update = $model_cart->editCart($data, array('cart_id'=> $value['cart_id']));
+                            if(!$update){
+                                joutput_error(errcode::ErrCart, '购物车修改失败');
+                                return;
+                            }
+                        }
+                    }
+                }else{
+                    $delete = $model_cart->delCart('db', array('cart_id'=>$cart_id));
+                    if(!$delete){
+                        joutput_error(errcode::ErrCart, '购物车修改失败');
+                        return;
+                    }
+                }
+            }
+            if(count($quantity_error) > 0){
+                joutput_data(array('result'=> '0', 'quantity_error' => $quantity_error));
+            }else{
+                joutput_data(array('result'=> '1'));
+            }
+        }else{
+            joutput_error(errcode::ErrCart, '购物车列表格式错误');
+        }
+    }
+
     /**
      * 购物车删除
      */