where('order_id', '=', $orderId)->find(); } /** * 检查用户是否已购买名片 */ public function checkCardPurchase($userId, $businessCardId) { if (!$userId) { return false; } // 查询购买记录 $count = $this ->where('user_id', '=', $userId) ->where('business_card_id', '=', $businessCardId) ->where('pay_status', '=', 20) // 20表示已支付 ->count(); 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; } }