From f0c9d80f191a52c00541c345591a1b1a937a2861 Mon Sep 17 00:00:00 2001 From: wuhui_zzw <1760308791@qq.com> Date: Wed, 3 Jan 2024 17:56:06 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=EF=BC=9A=E6=8E=A8=E5=B9=BF?= =?UTF-8?q?=E4=BD=A3=E9=87=91=E6=98=BE=E7=A4=BA=E4=B8=AD=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=B9=B3=E5=8F=B0=E6=8A=BD=E6=88=90=E7=9B=B8=E5=85=B3=E4=BD=A3?= =?UTF-8?q?=E9=87=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/common/model/store/order/StoreOrder.php | 8 ++++++++ .../store/platformCommission/LegumesLogRepository.php | 2 ++ app/common/repositories/user/UserRepository.php | 11 +++++++++-- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/app/common/model/store/order/StoreOrder.php b/app/common/model/store/order/StoreOrder.php index e64d5ab..db86748 100644 --- a/app/common/model/store/order/StoreOrder.php +++ b/app/common/model/store/order/StoreOrder.php @@ -8,6 +8,7 @@ namespace app\common\model\store\order; use app\common\model\BaseModel; use app\common\model\community\Community; +use app\common\model\store\platformCommission\Record; use app\common\model\store\product\ProductGroupUser; use app\common\model\store\service\StoreService; use app\common\model\store\shipping\Express; @@ -183,4 +184,11 @@ class StoreOrder extends BaseModel { return StoreRefundOrder::where('order_id',$this->order_id)->where('status',3)->sum('refund_price'); } + + public function platformCommission() + { + return $this->hasMany(Record::class, 'order_id', 'order_id'); + } + + } diff --git a/app/common/repositories/store/platformCommission/LegumesLogRepository.php b/app/common/repositories/store/platformCommission/LegumesLogRepository.php index 0b46ca5..fe5b961 100644 --- a/app/common/repositories/store/platformCommission/LegumesLogRepository.php +++ b/app/common/repositories/store/platformCommission/LegumesLogRepository.php @@ -63,6 +63,8 @@ class LegumesLogRepository extends BaseRepository{ 'uid', 'sum(order_money) as total_order_money', 'sum(get_legumes) as total_get_legumes', + 'sum(refund_order_money) as total_refund_order_money', + 'sum(refund_get_legumes) as total_refund_get_legumes', 'sum(get_integral) as total_get_integral', 'sum(use_integral) as total_use_integral', ]) diff --git a/app/common/repositories/user/UserRepository.php b/app/common/repositories/user/UserRepository.php index b4fb1ba..9edbc3f 100644 --- a/app/common/repositories/user/UserRepository.php +++ b/app/common/repositories/user/UserRepository.php @@ -1095,12 +1095,16 @@ class UserRepository extends BaseRepository $all[] = -1; $query = app()->make(StoreOrderRepository::class)->usersOrderQuery($where, $all, (!isset($where['level']) || !$where['level'] || $where['level'] == -1) ? $uid : 0); $count = $query->count(); - $list = $query->page($page, $limit)->field('uid,order_sn,pay_time,extension_one,extension_two,is_selfbuy')->with([ + $list = $query->page($page, $limit)->field('uid,order_id,order_sn,pay_time,extension_one,extension_two,is_selfbuy')->with([ 'user' => function ($query) { $query->field('avatar,nickname,uid'); }, - 'orderProduct' + 'orderProduct', + 'platformCommission' => function($query){ + $query->field('order_id,(commission_partner_money + commission_merchants_money + commission_promoter_money) as total_platform_commission'); + } ])->select()->toArray(); + foreach ($list as $k => $item) { if ($item['is_selfbuy']) { if ($item['uid'] == $uid) { @@ -1114,6 +1118,9 @@ class UserRepository extends BaseRepository $list[$k]['brokerage'] = in_array($item['uid'], $ids) ? $item['extension_one'] : $item['extension_two']; } unset($list[$k]['extension_one'], $list[$k]['extension_two']); + // 处理佣金 + 平台抽成相关佣金 + $sumPlatformCommission = (float)array_sum(array_column($item['platformCommission'],'total_platform_commission')); + $list[$k]['brokerage'] = (float)sprintf("%.2f",$list[$k]['brokerage'] + $sumPlatformCommission); } return compact('count', 'list'); }