如何在我想插入项目时修复负值?

时间:2017-06-30 00:00:26

标签: php codeigniter-3

我想要有效,如果我的购物车是== 0那么它会向我显示响应,但我也想要正确有效,因为如果我插入了很多项目然后显示-1,但如果我打开模态留在0,那我该怎么办呢?当股票= = 0并且不添加更多项目时显示错误消息

public function add_cart() {
    $this->session->set_userdata("carrito", $this->sale->checar_existe_carrito());
    $response = array(
        "status" => 0
    );
    $producto_actual = array(
        'id'    => $this->input->post("id"),
        'name'  => $this->input->post("name"),
        'qty'   => $this->input->post("qty"),
        'price' => $this->input->post("price"),
    );
    $tipo_operacion = $this->input->post("tipo_operacion");
    $producto = $this->products->get_product(md5($producto_actual['id']));
    $valor_compara = $tipo_operacion == 1 ? $producto->stock - $producto_actual['qty'] :
        $producto->stock - ($producto_actual['qty'] - $this->sale->get_current_cart_qty($this->session->carrito, $producto_actual['id']));
    if ($producto) {
        if ($this->sale->checa_carrito_vacio($this->session->carrito) == 0) {
            $data_producto = array(
                'order_id'   => $this->session->carrito,
                'product_id' => $producto_actual['id'],
                'quantity'   => $producto_actual['qty'],
                'price'      => $producto_actual['price'],
                'total'      => $producto_actual['qty'] * $producto_actual['price'],
                'subtotal'   => $producto_actual['qty'] * $producto_actual['price']
            );
            if ($this->sale->agregar_objeto_carrito($data_producto)) {
                $response['status'] = 1;
            } else {
                $response['error'] = "Error al agregar el objeto al carrito, por favor intente de nuevo";
            }
        } else {
            if ($this->sale->checa_existe_producto_carrito($this->session->carrito, $producto_actual['id'])) {
                if ($tipo_operacion == 0 && $producto_actual['qty'] == 0) {
                    if ($this->sale->eliminar_producto_carrito($this->session->carrito, $producto_actual['id'])) {
                        $response['status'] = 1;
                    } else {
                        $response['error'] = "Ha Ocurrido un error al actualizar el carrito, por favor intentalo de nuevo";
                        $response['status'] = 0;
                    }
                } else {
                    if ($this->sale->agregar_setear_productos_carrito($this->session->carrito, $producto_actual['id'], $producto_actual['qty'], $tipo_operacion)) {
                        $response['status'] = 1;
                    } else {
                        $response['error'] = "Ha Ocurrido un error al actualizar el carrito, por favor intentalo de nuevo";
                        $response['status'] = 0;
                    }
                }

            } else {
                $data_producto = array(
                    'order_id'   => $this->session->carrito,
                    'product_id' => $producto_actual['id'],
                    'quantity'   => $producto_actual['qty'],
                    'price'      => $producto_actual['price'],
                    'total'      => $producto_actual['qty'] * $producto_actual['price'],
                    'subtotal'   => $producto_actual['qty'] * $producto_actual['price']
                );
                if ($this->sale->agregar_objeto_carrito($data_producto)) {
                    $response['status'] = 1;
                } else {
                    $response['error'] = "Ha Ocurrido un error al actualizar el carrito, por favor intentalo de nuevo";
                    $response['status'] = 0;
                }
            }
        }
    } else {
        $response['error'] = "No hay suficientes existencias de este producto para agregar al carrito, actualmente solo hay: " . ($producto->stock - $producto->min_stock);
    }

    $response['product_data'] = $this->sale->get_all_cart($this->session->carrito);
    echo json_encode($response);
    //$this->session->set_userdata('cart_products',$cart_products);
}

cart_1

webapp http://200.92.39.106/storelte/home 凭据管理员 - 管理员 模块销售

0 个答案:

没有答案