优化本地生活购物车逻辑

This commit is contained in:
wangxiaowei 2024-10-30 17:21:42 +08:00
parent e1525498d4
commit c76d59ad79

@ -102,31 +102,21 @@ class LocalStoreGoodsCartLogic extends Logic
if ($cart['item_id'] == 0) {
// 单规格商品
$item = LocalStoreGoods::where('id', $cart['lsg_id'])->field('price')->find();
if ($post['type'] == 'plus' && $cart['goods_num'] + $post['goods_num'] > 999) {
if ($post['goods_num'] > 999) {
throw new \Exception('商品数量超出限制');
}
} else {
// 多规格商品
$item = LocalStoreGoodsItem::where('id', $cart['item_id'])->field('price, stock')->find();
if ($post['type'] == 'plus' && $cart['goods_num'] + $post['goods_num'] > $item['stock']) {
if ($post['goods_num'] > $item['stock']) {
throw new \Exception('商品数量超出限制');
}
}
if ($post['type'] == 'minus') {
$goods_num = $cart['goods_num'] - $post['goods_num'];
} else {
$goods_num = $cart['goods_num'] + $post['goods_num'];
}
if ($goods_num <= 0) {
throw new \Exception('商品数量不能小于0');
}
$price = number_format($goods_num * $item['price'], 2, '.', '');
$price = number_format($post['goods_num'] * $item['price'], 2, '.', '');
LocalStoreGoodsCart::where('id', $post['cart_id'])->update([
'goods_num' => $goods_num
'goods_num' => $post['goods_num']
]);
} else {