| | |
| | | <?php |
| | | namespace app\api\model\plus\business; |
| | | |
| | | use app\api\service\order\PaymentService; |
| | | use app\api\service\order\paysuccess\type\BusinessCardPaySuccessService; |
| | | use app\common\enum\order\OrderTypeEnum; |
| | | use app\common\model\plus\business\Order as BaseOrder; |
| | | use app\common\enum\order\OrderPayStatusEnum; |
| | | use app\common\enum\order\OrderPayTypeEnum; |
| | | use app\common\model\plus\business\Business as BusinessModel; |
| | | |
| | | /** |
| | | * 名片订单模型 |
| | | */ |
| | | class Order extends BaseOrder |
| | | { |
| | | public static function getDetail($orderId) |
| | | { |
| | | return (new static())->where('order_id', '=', $orderId)->find(); |
| | | } |
| | | |
| | | /** |
| | | * 检查用户是否已购买名片 |
| | | */ |
| | |
| | | |
| | | return $count > 0; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 获取订单支付详情 |
| | | */ |
| | | public static function getPayDetail($orderNo) |
| | | { |
| | | return (new static())->where(['order_no' => $orderNo])->find(); |
| | | } |
| | | |
| | | public function orderPayment($user, $order, $payType, $params) |
| | | { |
| | | $payment = []; |
| | | if ($params['use_balance'] == 1) { |
| | | $payment = $this->onPaymentByBalance($user, $order); |
| | | } elseif ($payType == OrderPayTypeEnum::WECHAT) { |
| | | $this->onPaymentByWechat($user, $order); |
| | | } else { |
| | | return $this->renderError('支付方式错误'); |
| | | } |
| | | $result['order_id'] = $order['order_id']; |
| | | $result['payType'] = $payType; |
| | | $result['payment'] = $payment; |
| | | return $result; |
| | | } |
| | | |
| | | /** |
| | | * 构建微信支付请求 |
| | | */ |
| | | public function onPaymentByWechat($user, $order) |
| | | { |
| | | return PaymentService::wechat( |
| | | $user, |
| | | $order['order_no'], |
| | | $order['order_no'], |
| | | $order['pay_price'], |
| | | OrderTypeEnum::BUSINESS_CARD |
| | | ); |
| | | } |
| | | |
| | | /** |
| | | * 构建余额支付请求 |
| | | */ |
| | | public function onPaymentByBalance($user, $order) |
| | | { |
| | | // 获取订单详情 |
| | | $PaySuccess = new BusinessCardPaySuccessService($order['order_no']); |
| | | // 发起余额支付 |
| | | $result = $PaySuccess->onPaySuccess(OrderPayTypeEnum::BALANCE); |
| | | |
| | | return $result; |
| | | } |
| | | } |