From 73b874c72ad55eb9eef21c36160ac0de58f0189e Mon Sep 17 00:00:00 2001
From: quanwei <419654421@qq.com>
Date: Thu, 05 Feb 2026 10:30:43 +0800
Subject: [PATCH] 优化名片
---
admin/app/api/model/plus/business/Order.php | 89 ++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 88 insertions(+), 1 deletions(-)
diff --git a/admin/app/api/model/plus/business/Order.php b/admin/app/api/model/plus/business/Order.php
index 714229b..5e975b6 100644
--- a/admin/app/api/model/plus/business/Order.php
+++ b/admin/app/api/model/plus/business/Order.php
@@ -1,10 +1,24 @@
<?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();
+ }
+
/**
* 检查用户是否已购买名片
*/
@@ -23,4 +37,77 @@
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::POINTS) {
+ $payment = $this->onPaymentByPoints($user, $order);
+ } elseif ($payType == OrderPayTypeEnum::WECHAT) {
+ $payment = $this->onPaymentByWechat($user, $order);
+ } else {
+ return false;
+ }
+ if (!$payment) {
+ return false;
+ }
+ $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);
+ if (!$result) {
+ $this->error = $PaySuccess->getError() ?: '余额支付失败';
+ }
+ return $result;
+ }
+ /**
+ * 构建联盟币支付请求
+ */
+ public function onPaymentByPoints($user, $order)
+ {
+ // 获取订单详情
+ $PaySuccess = new BusinessCardPaySuccessService($order['order_no']);
+ // 发起联盟币支付
+ $result = $PaySuccess->onPaySuccess(OrderPayTypeEnum::POINTS);
+ if (!$result) {
+ $this->error = $PaySuccess->getError() ?: '联盟币支付失败';
+ }
+ return $result;
+ }
+
+}
\ No newline at end of file
--
Gitblit v1.9.2