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