Browse Source

付款校验 同一订单不能添加多个特价商品

master
Lemon 5 years ago
parent
commit
9c2da82899
  1. 25
      app/Controller/PaymentController.php

25
app/Controller/PaymentController.php

@ -3,14 +3,23 @@
namespace App\Controller; namespace App\Controller;
use App\Constants\ErrorCode; use App\Constants\ErrorCode;
use App\Model\Order;
use App\Model\OrderGoods;
use App\Model\OrderMain; use App\Model\OrderMain;
use App\Request\WxminiPayRequest; use App\Request\WxminiPayRequest;
use App\Service\PurchaseLimitServiceInterface;
use EasyWeChat\Factory; use EasyWeChat\Factory;
use Hyperf\DbConnection\Db;
use Hyperf\Guzzle\CoroutineHandler; use Hyperf\Guzzle\CoroutineHandler;
class PaymentController extends BaseController class PaymentController extends BaseController
{ {
/**
* @Inject
* @var PurchaseLimitServiceInterface
*/
protected $purchaseLimitService;
public function wxminiPayOnline(WxminiPayRequest $request){ public function wxminiPayOnline(WxminiPayRequest $request){
@ -30,6 +39,22 @@ class PaymentController extends BaseController
return $this->result(ErrorCode::PAY_FAILURE, $data,'订单不存在或已失效'); return $this->result(ErrorCode::PAY_FAILURE, $data,'订单不存在或已失效');
} }
//查询订单商品信息
$order = Order::query()
->where('order_main_id',$data['order_id'])
->select('id')
->get()
->toArray();
$orderGoods = OrderGoods::query()
->whereIn('order_id',$order)
->get();
//判断是否有购买多个特价商品
$result = $this->purchaseLimitService->PurchaseLimit($orderGoods);
if(!$result){
Db::rollBack();
return '同一个订单不能购买多个特价商品';
}
$result = $app->order->unify([ $result = $app->order->unify([
'body' => '懒族生活 - 外卖下单', 'body' => '懒族生活 - 外卖下单',
'out_trade_no' => $orderMain->global_order_id, 'out_trade_no' => $orderMain->global_order_id,

Loading…
Cancel
Save