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/order/Order.php |   36 +++++++++++++++++++++++++++++++++---
 1 files changed, 33 insertions(+), 3 deletions(-)

diff --git a/admin/app/api/model/order/Order.php b/admin/app/api/model/order/Order.php
index ab6ed4e..b30d469 100644
--- a/admin/app/api/model/order/Order.php
+++ b/admin/app/api/model/order/Order.php
@@ -25,7 +25,7 @@
 use app\common\service\order\OrderRefundService;
 use app\common\model\supplier\Balance as supplierBalanceModel;
 use app\common\model\supplier\Supplier as SupplierModel;
-
+use app\common\model\payment\PaymentLog as PaymentLogModel;
 /**
  * 普通订单模型
  */
@@ -50,7 +50,7 @@
             // 判断订单状态
             $checkPay = CheckPayFactory::getFactory($order['order_source']);
 
-            if (!$checkPay->checkOrderStatus($order)) {
+            if (!$checkPay->checkOrderStatus($order, $params)) {
                 $this->error = $checkPay->getError();
                 return false;
             }
@@ -228,6 +228,8 @@
             $item['spec_sku_id'] = $item['product_sku']['spec_sku_id'];
             // 商品购买总金额
             $item['total_price'] = helper::bcmul($item['product_price'], $params['product_num']);
+            // 商品总结算价
+            $item['total_settlement_price'] = helper::bcmul($item['settlement_price'], $params['product_num']);
         }
         $supplierData[] = [
             'shop_supplier_id' => $product['shop_supplier_id'],
@@ -724,6 +726,11 @@
                     $orderInfo->save(['balance' => $user_balance, 'online_money' => $online_money]);
                 }
             }
+        }elseif(!empty($params['activation_code'])){
+            $payType = 50;
+            $orderInfo->save(['activation_code' => $params['activation_code']]);
+            $data['attach'] = '{"pay_source":"' . $params['pay_source'] . '"}';
+            $this->onPaymentByActivation($orderInfo['trade_no'], $data);
         } else {
             if ($payType <= 10) {
                 $this->error = '请选择支付方式';
@@ -737,7 +744,15 @@
             } else {
                 $orderInfo->save(['online_money' => $online_money]);
             }
-        }
+        }$payment = new PaymentLogModel();
+        $paylog_data = [
+            'app_id'        => $orderInfo['app_id'],
+            'order_no'  => $order_no,
+            'order_id'      => $orderInfo['order_id'],
+            'online_money'  => $online_money,
+            'order_source'  => $orderInfo['order_source']
+        ];
+        $payment->savePaymentLog($paylog_data);
         $online_money > 0 && $payment = self::onOrderPayment($user, $order_no, $payType, $params['pay_source'], $online_money, $multiple, $shop_supplier_id);
 
         $result['order_id'] = $params['order_id'];
@@ -814,4 +829,19 @@
         }
     }
 
+    /**
+     * 激活码支付标记订单已支付
+     */
+    public function onPaymentByActivation($orderNo, $data)
+    {
+        // 获取订单详情
+        $PaySuccess = new MasterPaySuccessService($orderNo,['multiple'=>0]);
+        // 发起激活码支付
+        $status = $PaySuccess->onPaySuccess(OrderPayTypeEnum::CTIVATIONCODE, $data);
+        if (!$status) {
+            $this->error = $PaySuccess->getError();
+        }
+        return $status;
+    }
+
 }
\ No newline at end of file

--
Gitblit v1.9.2