From cfc677abcfefdfe19fa3b6a10c2cd66f66572de9 Mon Sep 17 00:00:00 2001 From: Lemon <15040771@qq.com> Date: Wed, 9 Sep 2020 18:11:10 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B4=AD=E7=89=A9=E8=BD=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../v3/Implementations/ShopCartService.php | 44 ++++--------------- .../Implementations/ShopCartUpdateService.php | 6 ++- 2 files changed, 14 insertions(+), 36 deletions(-) diff --git a/app/Service/v3/Implementations/ShopCartService.php b/app/Service/v3/Implementations/ShopCartService.php index 50b34cb..b145fb7 100644 --- a/app/Service/v3/Implementations/ShopCartService.php +++ b/app/Service/v3/Implementations/ShopCartService.php @@ -136,47 +136,21 @@ class ShopCartService implements ShopCartServiceInterface public function countGoods($userId,$marketId) { - $ShoppingCart = ShoppingCart::query()->where([ - ['user_id','=',$userId], - ['market_id','=',$marketId], - ])->get(); - $num = 0; - foreach ($ShoppingCart as $cart){ - if($cart->activity_type == 2){ - $goods = GoodsActivity::query()->find($cart->goods_id); - $goodsCheck = $this->goodsActivityService->check($goods,$cart->num,$cart->user_id); - }else{ - $goods = Goods::query()->find($cart->goods_id); - $goodsCheck = $this->goodsService->check($goods,$cart->num); - } - if($goodsCheck){ - $num+= $cart->num; + $shoppingCart = $this->allForUser($userId,$marketId); + $count = 0; + foreach ($shoppingCart['store_lists'] as $store){ + foreach ($store['shopping_cart'] as $cart) { + $num = $cart['num']; + $count += $num; } } - return $num; + return $count; } public function getTotal($userId,$marketId) { - $ShoppingCart = ShoppingCart::query()->where([ - ['user_id','=',$userId], - ['market_id','=',$marketId], - ])->get(); - $total = 0; - foreach ($ShoppingCart as $cart){ - if($cart->activity_type == 2){ - $goods = GoodsActivity::query()->find($cart->goods_id); - $goodsCheck = $this->goodsActivityService->check($goods,$cart->num,$cart->user_id); - }else{ - $goods = Goods::query()->find($cart->goods_id); - $goodsCheck = $this->goodsService->check($goods,$cart->num); - } - if($goodsCheck){ - $subTotal = bcmul($goods->price,$cart->num); - $total = bcadd($subTotal,$total,2); - } - } - return $total; + $shoppingCart = $this->allForUser($userId,$marketId); + return $shoppingCart['total']; } public function getGoodsByShopcartId($shopcartIds) diff --git a/app/Service/v3/Implementations/ShopCartUpdateService.php b/app/Service/v3/Implementations/ShopCartUpdateService.php index 0aafcbd..04e7aaf 100644 --- a/app/Service/v3/Implementations/ShopCartUpdateService.php +++ b/app/Service/v3/Implementations/ShopCartUpdateService.php @@ -59,6 +59,10 @@ class ShopCartUpdateService implements ShopCartUpdateServiceInterface */ public function doClear($userId, $marketId) { - + return ShoppingCart::query()->where([ + ['user_id','=',$userId], + ['market_id','=',$marketId], + ]) + ->delete(); } } \ No newline at end of file