修复:经销商奖励可能计算错误的问题

This commit is contained in:
wuhui_zzw 2023-11-24 13:57:07 +08:00
parent 4e84c3064f
commit bca8e5a48c
2 changed files with 26 additions and 14 deletions

View File

@ -89,20 +89,25 @@ class OrderCreatedListener
$agents = GetAgentsService::index($set, $order->uid, $order->create_time);
// \Log::debug('经销商-获取经销商',$agents);
foreach ($order->hasManyOrderGoods as $order_goods) {
// 普通经销商提成处理
$TeamReturnService->setData($order, $set, $buyMember, $order_goods, $agents);
$TeamReturnService->handle();
$this->totalDividend += $TeamReturnService->totalDividend;
// 文创津贴(补贴)处理
$TeamReturnService->setData($order, $set, $buyMember, $order_goods, $agents,1);
$TeamReturnService->handle();
$this->totalDividend += $TeamReturnService->totalDividend;
try{
foreach ($order->hasManyOrderGoods as $order_goods) {
// 普通经销商提成处理
$TeamReturnService->setData($order, $set, $buyMember, $order_goods, $agents);
$TeamReturnService->handle();
$this->totalDividend += $TeamReturnService->totalDividend;
// 文创津贴(补贴)处理
// $TeamReturnService->setData($order, $set, $buyMember, $order_goods, $agents,1);
// $TeamReturnService->handle();
// $this->totalDividend += $TeamReturnService->totalDividend;
}
// 订单插件分红记录
(new OrderBonusJob('yz_team_dividend', 'team-dividend', 'order_sn', 'order_sn', 'dividend_amount', $order, $this->totalDividend))->handle();
}catch(\Exception $e){
\Log::debug('经销商奖励 - 错误',$e->getMessage());
}
// 订单插件分红记录
(new OrderBonusJob('yz_team_dividend', 'team-dividend', 'order_sn', 'order_sn', 'dividend_amount', $order, $this->totalDividend))->handle();
\Log::debug('经销商奖励完成');
\Log::debug('经销商奖励完成',$this->totalDividend);
return;
}

View File

@ -74,15 +74,22 @@ class TeamReturnService
$this->levels = TeamDividendLevelModel::uniacid()->orderBy('level_weight','asc')->get()->toArray();
$this->flat_prize_limit = 0;
// \Log::debug('经销商创建-team_goods:' . $this->order_goods->goods_id, $this->team_goods ? $this->team_goods->toArray() : []);
$this->init();
}
public function handle()
{
if (!$this->team_goods) return;
// 普通处理
$this->init();
$this->totalDividend();
$this->running();
// 文创处理
$this->flat_prize_limit = 0;
$this->dividendType = 1;
$this->init();
$this->totalDividend();
$this->running();
}
private function running(){