From a4b3ee325c7354579d495bc74a777e494e5ec38c Mon Sep 17 00:00:00 2001
From: quanwei <419654421@qq.com>
Date: Fri, 06 Feb 2026 18:18:44 +0800
Subject: [PATCH] 商品可以价格面议 选择走访时显示输入走访企业名 分会添加活动时要总会审核 分类添加人数限制,添加活动选择了填写人数限制的分类时活动名额下显示该分类人数限制为15 同一个企业30天内只能走访一次,在30天内走访同一个企业时提示该企业已被走访xx天后才可以从新走访

---
 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