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/order/Order.php |   49 +++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 43 insertions(+), 6 deletions(-)

diff --git a/admin/app/api/model/order/Order.php b/admin/app/api/model/order/Order.php
index dc1ae27..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;
             }
@@ -222,11 +222,14 @@
         foreach ($productList as &$item) {
             // 商品单价
             $item['product_price'] = $item['product_sku']['product_price'];
+            $item['settlement_price'] = $item['product_sku']['settlement_price'];
             // 商品购买数量
             $item['total_num'] = $params['product_num'];
             $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'],
@@ -343,10 +346,16 @@
     {
         $model = new static();
         $where = ['order_id' => $order_id, 'user_id' => $user_id];
-        if(strlen($order_id)>=14){
-            $where = ['order_no' => $order_id, 'user_id' => $user_id];
+        if(strlen($order_id)>=14){ //按照微信支付的 预下单填入的out_trade_no
+            $where = ['trade_no' => $order_id, 'user_id' => $user_id];
+            $order = $model->where($where)->with(['product' => ['image', 'refund'], 'address', 'express', 'extractStore','extractClerk', 'supplier', 'advance'])->find();
+            if(!$order){
+                $where = ['ins_order_sn' => $order_id, 'user_id' => $user_id];
+                $order = $model->where($where)->with(['product' => ['image', 'refund'], 'address', 'express', 'extractStore','extractClerk', 'supplier', 'advance'])->find();
+            }
+        }else{
+            $order = $model->where($where)->with(['product' => ['image', 'refund'], 'address', 'express', 'extractStore','extractClerk', 'supplier', 'advance'])->find();
         }
-        $order = $model->where($where)->with(['product' => ['image', 'refund'], 'address', 'express', 'extractStore','extractClerk', 'supplier', 'advance'])->find();
         if (empty($order)) {
             throw new BaseException(['msg' => '订单不存在']);
         }
@@ -717,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 = '请选择支付方式';
@@ -730,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'];
@@ -807,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