|
|
|
@ -3,14 +3,23 @@ |
|
|
|
namespace App\Controller; |
|
|
|
|
|
|
|
use App\Constants\ErrorCode; |
|
|
|
use App\Model\Order; |
|
|
|
use App\Model\OrderGoods; |
|
|
|
use App\Model\OrderMain; |
|
|
|
use App\Request\WxminiPayRequest; |
|
|
|
|
|
|
|
use App\Service\PurchaseLimitServiceInterface; |
|
|
|
use EasyWeChat\Factory; |
|
|
|
use Hyperf\DbConnection\Db; |
|
|
|
use Hyperf\Guzzle\CoroutineHandler; |
|
|
|
|
|
|
|
class PaymentController extends BaseController |
|
|
|
{ |
|
|
|
/** |
|
|
|
* @Inject |
|
|
|
* @var PurchaseLimitServiceInterface |
|
|
|
*/ |
|
|
|
protected $purchaseLimitService; |
|
|
|
|
|
|
|
public function wxminiPayOnline(WxminiPayRequest $request){ |
|
|
|
|
|
|
|
@ -30,6 +39,22 @@ class PaymentController extends BaseController |
|
|
|
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([ |
|
|
|
'body' => '懒族生活 - 外卖下单', |
|
|
|
'out_trade_no' => $orderMain->global_order_id, |
|
|
|
|