优化:推广佣金显示中添加平台抽成相关佣金

This commit is contained in:
wuhui_zzw 2024-01-03 17:56:06 +08:00
parent 82d40201f9
commit f0c9d80f19
3 changed files with 19 additions and 2 deletions

View File

@ -8,6 +8,7 @@ namespace app\common\model\store\order;
use app\common\model\BaseModel; use app\common\model\BaseModel;
use app\common\model\community\Community; 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\product\ProductGroupUser;
use app\common\model\store\service\StoreService; use app\common\model\store\service\StoreService;
use app\common\model\store\shipping\Express; 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'); 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');
}
} }

View File

@ -63,6 +63,8 @@ class LegumesLogRepository extends BaseRepository{
'uid', 'uid',
'sum(order_money) as total_order_money', 'sum(order_money) as total_order_money',
'sum(get_legumes) as total_get_legumes', '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(get_integral) as total_get_integral',
'sum(use_integral) as total_use_integral', 'sum(use_integral) as total_use_integral',
]) ])

View File

@ -1095,12 +1095,16 @@ class UserRepository extends BaseRepository
$all[] = -1; $all[] = -1;
$query = app()->make(StoreOrderRepository::class)->usersOrderQuery($where, $all, (!isset($where['level']) || !$where['level'] || $where['level'] == -1) ? $uid : 0); $query = app()->make(StoreOrderRepository::class)->usersOrderQuery($where, $all, (!isset($where['level']) || !$where['level'] || $where['level'] == -1) ? $uid : 0);
$count = $query->count(); $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) { 'user' => function ($query) {
$query->field('avatar,nickname,uid'); $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(); ])->select()->toArray();
foreach ($list as $k => $item) { foreach ($list as $k => $item) {
if ($item['is_selfbuy']) { if ($item['is_selfbuy']) {
if ($item['uid'] == $uid) { 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']; $list[$k]['brokerage'] = in_array($item['uid'], $ids) ? $item['extension_one'] : $item['extension_two'];
} }
unset($list[$k]['extension_one'], $list[$k]['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'); return compact('count', 'list');
} }