From 04102f7237efefa744090ed7c25f7b5d0807b679 Mon Sep 17 00:00:00 2001
From: quanwei <419654421@qq.com>
Date: Thu, 05 Feb 2026 18:11:57 +0800
Subject: [PATCH] 完成运营中心提现和运营中心权限管理

---
 admin/app/api/model/plus/operations/Order.php |   40 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 40 insertions(+), 0 deletions(-)

diff --git a/admin/app/api/model/plus/operations/Order.php b/admin/app/api/model/plus/operations/Order.php
index dd5063d..43fad10 100644
--- a/admin/app/api/model/plus/operations/Order.php
+++ b/admin/app/api/model/plus/operations/Order.php
@@ -2,6 +2,8 @@
 
 namespace app\api\model\plus\operations;
 
+use app\api\model\plus\operations\Operations as OperationsModel;
+use app\common\enum\order\OrderTypeEnum;
 use app\common\model\plus\operations\Order as OrderModel;
 use app\common\service\order\OrderService;
 
@@ -35,5 +37,43 @@
         $with = ['product' => ['image', 'refund'], 'address', 'user'];
         return OrderService::getOrderList($data, 'order_master', $with);
     }
+    /**
+     * 创建运营中心订单
+     */
+    public static function createOrder( $order, $order_type = OrderTypeEnum::MASTER)
+    {
+        $model = new self;
+
+        $setting = Setting::getItem('basic', $order['app_id']);
+        if (!$setting['is_open']) {
+            return false;
+        }
+        $operations=OperationsModel::getOrderOperations($order);
+        if ($operations['province_user_id']==0 && $operations['city_user_id']==0 && $operations['area_user_id']==0){
+            return false;
+        }
+        // 计算订单分销佣金
+        $capital = $model->getCapitalByOrder($order, 'create',$operations);
+        // 如果没有佣金,则不写入订单
+        if(!$capital['is_record']){
+            return false;
+        }
+        // 保存分销订单记录
+        return $model->save([
+            'user_id' => $order['user_id'],
+            'order_id' => $order['order_id'],
+            'order_type' => $order_type,
+            'order_price' => $capital['orderPrice'],
+            'first_money' => $operations['province_user_id'] > 0?max($capital['first_money'], 0):0,
+            'second_money' => $operations['city_user_id'] > 0?max($capital['second_money'], 0):0,
+            'third_money' => $operations['area_user_id'] > 0?max($capital['third_money'], 0):0,
+            'first_user_id' => $capital['first_money']>0?$operations['province_user_id']:0,
+            'second_user_id' => $capital['second_money']>0?$operations['city_user_id']:0,
+            'third_user_id' => $capital['third_money']>0?$operations['area_user_id']:0,
+            'is_settled' => 0,
+            'shop_supplier_id' => $order['shop_supplier_id'],
+            'app_id' => $order['app_id']
+        ]);
+    }
 
 }

--
Gitblit v1.9.2