修复:平台抽成金额设置为固定金额时,抽成金额计算错误(未乘以购买数量)
This commit is contained in:
parent
93d507182d
commit
4c9a1153f2
|
|
@ -69,7 +69,7 @@ return [
|
|||
],
|
||||
// 订单核销成功事件触发
|
||||
'order.verify' => [
|
||||
// 酒卡额度解冻
|
||||
// 订单核销成功 - 平台抽成相关冻结内容解冻
|
||||
'app\listener\platformCommission\OrderTakeEvent'
|
||||
],
|
||||
],
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ class OrderPaySuccessEvent{
|
|||
$groupOrder = $groupOrder['groupOrder'];
|
||||
try{
|
||||
Log::info('支付成功 - 平台抽成处理 - 开始: '.var_export(['uid'=>$groupOrder->uid,'group_order_id'=>$groupOrder->group_order_id],1));
|
||||
// 订单支付成功 - 平台抽成处理
|
||||
$this->orderPaySuccessHandle($groupOrder);
|
||||
// 订单支付成功 触发购买商品升级
|
||||
Queue::push(UserBrokerageLevelJob::class,[
|
||||
|
|
@ -71,17 +72,17 @@ class OrderPaySuccessEvent{
|
|||
if($productInfo->platform_commission_switch == 1){
|
||||
// 独立设置
|
||||
if($productInfo->platform_commission_type == 1) {
|
||||
// 固定金额
|
||||
$platformCommissionMoney = $productInfo->platform_commission_money;
|
||||
// 固定金额 最终抽成金额需要乘以购买数量
|
||||
$platformCommissionMoney = (float)sprintf("%.3f",$productInfo->platform_commission_money * $orderProductInfo->product_num);
|
||||
}else{
|
||||
// 独立比例
|
||||
$platformCommissionRate = $productInfo->platform_commission_rate;
|
||||
$platformCommissionMoney = (float)sprintf("%.2f",$orderTotalPrice * $platformCommissionRate / 100);
|
||||
$platformCommissionMoney = (float)sprintf("%.3f",$orderTotalPrice * $platformCommissionRate / 100);
|
||||
}
|
||||
}else{
|
||||
// 统一设置 获取商户设置抽成比例 获取抽成总金额
|
||||
$platformCommissionRate = (float)Merchant::getDB()->where('mer_id', $orderInfo->mer_id)->value('platform_commission');
|
||||
$platformCommissionMoney = (float)sprintf("%.2f",$orderTotalPrice * $platformCommissionRate / 100);
|
||||
$platformCommissionMoney = (float)sprintf("%.3f",$orderTotalPrice * $platformCommissionRate / 100);
|
||||
}
|
||||
// 使用商品售价进行处理
|
||||
if($platformCommissionMoney > 0){
|
||||
|
|
@ -113,7 +114,8 @@ class OrderPaySuccessEvent{
|
|||
->where('type', 'order')
|
||||
->where('category', 'mer_lock_money')
|
||||
->where('pm', 1)
|
||||
->dec('number',$platformCommissionMoney) ->update();
|
||||
->dec('number',$platformCommissionMoney)
|
||||
->update();
|
||||
} else {
|
||||
Merchant::where('mer_id', $orderInfo->mer_id)->dec('mer_money',$platformCommissionMoney)->update();
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue