Browse Source

添加订单 付款 特价商品不能超过一个拦截

master
Lemon 6 years ago
parent
commit
d95945d27f
  1. 2
      app/Controller/PurchaseLimitController.php
  2. 6
      app/Service/OrderService.php
  3. 14
      app/Service/PurchaseLimitService.php
  4. 2
      app/Service/PurchaseLimitServiceInterface.php

2
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);
}

6
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']);

14
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);

2
app/Service/PurchaseLimitServiceInterface.php

@ -12,5 +12,7 @@ interface PurchaseLimitServiceInterface
public function delSsdbPurchaseRecord($global_order_id);
public function PurchaseLimit($orderGoods);
public function test($params);
}
Loading…
Cancel
Save