添加:修复部分内容

This commit is contained in:
wuhui_zzw 2024-01-26 17:52:59 +08:00
parent f77d20d9df
commit bc53e5d85a
3 changed files with 32 additions and 5 deletions

View File

@ -9,6 +9,7 @@ use app\common\dao\BaseDao;
use app\common\dao\user\UserDao; use app\common\dao\user\UserDao;
use app\common\model\store\order\StoreOrder; use app\common\model\store\order\StoreOrder;
use app\common\model\user\User; use app\common\model\user\User;
use app\common\model\user\UserBill;
use app\common\model\wechat\WechatUser; use app\common\model\wechat\WechatUser;
use app\common\repositories\BaseRepository; use app\common\repositories\BaseRepository;
use app\common\repositories\community\CommunityRepository; use app\common\repositories\community\CommunityRepository;
@ -1100,9 +1101,9 @@ class UserRepository extends BaseRepository
$query->field('avatar,nickname,uid'); $query->field('avatar,nickname,uid');
}, },
'orderProduct', 'orderProduct',
'platformCommission' => function($query){ // 'platformCommission' => function($query){
$query->field('order_id,(commission_partner_money + commission_merchants_money + commission_promoter_money) as total_platform_commission'); // $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) {
@ -1119,8 +1120,16 @@ class UserRepository extends BaseRepository
} }
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')); // $sumPlatformCommission = (float)array_sum(array_column($item['platformCommission'],'total_platform_commission'));
$list[$k]['brokerage'] = (float)sprintf("%.2f",$list[$k]['brokerage'] + $sumPlatformCommission); $platformCommission = (float)UserBill::getDB()->where('category', 'brokerage')
->whereIn('type', ['commission_merchants','commission_promoter'])
->where('uid', $uid)
->where('link_id', $item['order_id'])
->where('pm', 1)
->sum('number');
$list[$k]['brokerage'] = (float)sprintf("%.2f",$list[$k]['brokerage'] + $platformCommission);
} }
return compact('count', 'list'); return compact('count', 'list');
} }

View File

@ -67,6 +67,11 @@ return [
// 订单退款 - 平台抽成相关处理 // 订单退款 - 平台抽成相关处理
'app\listener\platformCommission\OrderAgreeRefundEvent' 'app\listener\platformCommission\OrderAgreeRefundEvent'
], ],
// 订单核销成功事件触发
'order.verify' => [
// 酒卡额度解冻
'app\listener\platformCommission\OrderTakeEvent'
],
], ],
'subscribe' => [], 'subscribe' => [],
]; ];

View File

@ -4,7 +4,9 @@ namespace app\listener\platformCommission;
use app\common\model\store\platformCommission\Record; use app\common\model\store\platformCommission\Record;
use app\common\model\system\merchant\Merchant; use app\common\model\system\merchant\Merchant;
use app\common\model\user\UserBill;
use app\common\repositories\store\platformCommission\RecordRepository; use app\common\repositories\store\platformCommission\RecordRepository;
use app\common\repositories\user\UserBillRepository;
use app\jobs\store\platformCommission\CommissionMerchantsSettlementJob; use app\jobs\store\platformCommission\CommissionMerchantsSettlementJob;
use app\jobs\store\platformCommission\CommissionPromoterSettlementJob; use app\jobs\store\platformCommission\CommissionPromoterSettlementJob;
use app\jobs\store\platformCommission\GiveWeightValueJob; use app\jobs\store\platformCommission\GiveWeightValueJob;
@ -104,6 +106,17 @@ class OrderPaySuccessEvent{
'commission_integral_release_rate' => $set['commission_integral_release_rate'], 'commission_integral_release_rate' => $set['commission_integral_release_rate'],
'commission_integral_release_money' => (float)sprintf("%.2f",$platformCommissionMoney * $set['commission_integral_release_rate'] / 100), 'commission_integral_release_money' => (float)sprintf("%.2f",$platformCommissionMoney * $set['commission_integral_release_rate'] / 100),
]; ];
// 减少商户金额
if (systemConfig('mer_lock_time')) {
UserBill::where('mer_id', $orderInfo->mer_id)
->where('link_id', (1).$orderProductInfo->order_id)
->where('type', 'order')
->where('category', 'mer_lock_money')
->where('pm', 1)
->dec('number',$platformCommissionMoney) ->update();
} else {
Merchant::where('mer_id', $orderInfo->mer_id)->dec('mer_money',$platformCommissionMoney) ->update();
}
} }
} }
} }