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 | 79 +++++++++++++++++++++++++++++++++++++++
1 files changed, 79 insertions(+), 0 deletions(-)
diff --git a/admin/app/api/model/plus/operations/Order.php b/admin/app/api/model/plus/operations/Order.php
new file mode 100644
index 0000000..43fad10
--- /dev/null
+++ b/admin/app/api/model/plus/operations/Order.php
@@ -0,0 +1,79 @@
+<?php
+
+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;
+
+/**
+ * 运营中心订单模型
+ */
+class Order extends OrderModel
+{
+ /**
+ * 隐藏字段
+ */
+ protected $hidden = [
+ 'update_time',
+ ];
+
+ /**
+ * 获取运营中心订单列表
+ */
+ public function getList($user_id, $is_settled = -1)
+ {
+ $model = $this;
+ $is_settled > -1 && $model = $model->where('is_settled', '=', !!$is_settled);
+ $data = $model->with(['user'])
+ ->where('first_user_id|second_user_id|third_user_id', '=', $user_id)
+ ->order(['create_time' => 'desc'])
+ ->paginate(15);
+ if ($data->isEmpty()) {
+ return $data;
+ }
+ // 整理订单信息
+ $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