From d95945d27f2cbed7b9761c47b741a8429277e972 Mon Sep 17 00:00:00 2001 From: Lemon <15040771@qq.com> Date: Wed, 26 Aug 2020 21:17:57 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=AE=A2=E5=8D=95=20?= =?UTF-8?q?=E4=BB=98=E6=AC=BE=20=E7=89=B9=E4=BB=B7=E5=95=86=E5=93=81?= =?UTF-8?q?=E4=B8=8D=E8=83=BD=E8=B6=85=E8=BF=87=E4=B8=80=E4=B8=AA=E6=8B=A6?= =?UTF-8?q?=E6=88=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Controller/PurchaseLimitController.php | 2 +- app/Service/OrderService.php | 6 ++++++ app/Service/PurchaseLimitService.php | 14 ++++++++++++++ app/Service/PurchaseLimitServiceInterface.php | 2 ++ 4 files changed, 23 insertions(+), 1 deletion(-) diff --git a/app/Controller/PurchaseLimitController.php b/app/Controller/PurchaseLimitController.php index 32fca1f..4e9e3fe 100644 --- a/app/Controller/PurchaseLimitController.php +++ b/app/Controller/PurchaseLimitController.php @@ -36,7 +36,7 @@ class PurchaseLimitController extends BaseController public function test() { - $res = $this->purchaseLimitService->test($this->request->all()); + $res = $this->purchaseLimitService->PurchaseLimit($this->request->input('global_order_id')); return $this->success($res); } diff --git a/app/Service/OrderService.php b/app/Service/OrderService.php index 3b0e76a..a02634e 100644 --- a/app/Service/OrderService.php +++ b/app/Service/OrderService.php @@ -300,6 +300,12 @@ class OrderService implements OrderServiceInterface Db::rollBack(); return '订单商品异常'; } + //判断是否有购买多个特价商品 + $result = $this->purchaseLimitService->PurchaseLimit($orderGoods); + if(!$result){ + Db::rollBack(); + return '同一个订单不能购买多个特价商品'; + } //判断是否有购买特价商品 $this->purchaseLimitService->ssdbPurchaseRecord($orderGoods,$data['user_id'],$dataMain['global_order_id']); diff --git a/app/Service/PurchaseLimitService.php b/app/Service/PurchaseLimitService.php index 3c10a5a..cfb41ef 100644 --- a/app/Service/PurchaseLimitService.php +++ b/app/Service/PurchaseLimitService.php @@ -78,6 +78,20 @@ class PurchaseLimitService implements PurchaseLimitServiceInterface return true; } + public function PurchaseLimit($orderGoods) + { + foreach ($orderGoods as $goods){ + $sum = 0; + if($goods['money'] == 0.01){ + if($sum > 0){ + return false; + } + $sum++; + } + } + return true; + } + public function test($params) { $ssdb = ApplicationContext::getContainer()->get(SSDBTask::class); diff --git a/app/Service/PurchaseLimitServiceInterface.php b/app/Service/PurchaseLimitServiceInterface.php index f5e415b..da0f536 100644 --- a/app/Service/PurchaseLimitServiceInterface.php +++ b/app/Service/PurchaseLimitServiceInterface.php @@ -12,5 +12,7 @@ interface PurchaseLimitServiceInterface public function delSsdbPurchaseRecord($global_order_id); + public function PurchaseLimit($orderGoods); + public function test($params); } \ No newline at end of file