6
0
Fork 0

修复奖金分润

release
李静 2022-01-06 12:01:30 +08:00
parent b2cd493af4
commit f376f58fe2
3 changed files with 28 additions and 26 deletions

View File

@ -42,6 +42,7 @@ class AfterSale extends Model
'images', 'images',
'remarks', 'remarks',
'tracking_number', 'tracking_number',
'sales_value',
]; ];
public static $stateText = [ public static $stateText = [

View File

@ -87,6 +87,7 @@ class Order extends Model
'auto_complete_at', 'auto_complete_at',
'is_change', 'is_change',
'is_settle', 'is_settle',
'sales_value',
]; ];
public static $payWayText = [ public static $payWayText = [

View File

@ -315,17 +315,16 @@ class DistributionPreIncomeJobService
$assignedLvlDiffBonusRate = 0; $assignedLvlDiffBonusRate = 0;
foreach ($agents as $agent) { foreach ($agents as $agent) {
// 如果当前代理可以享受奖励 $rule = Arr::get($config, "rules.{$agent->agent_level_key}");
if ($agent->bonusable) {
$rule = Arr::get($config, "rules.{$agent->agent_level_key}");
if ($lastAgent && $agent->agent_level === $lastAgent->agent_level) { if ($lastAgent && $agent->agent_level === $lastAgent->agent_level) {
/* /*
|----------------------------------------------- |-----------------------------------------------
| 平级奖励 | 平级奖励
|----------------------------------------------- |-----------------------------------------------
*/ */
if ($agent->bonusable) {
$bonusRate = $rule['lvl_same_bonus_rate'] ?? '0'; $bonusRate = $rule['lvl_same_bonus_rate'] ?? '0';
if (bccomp($bonusRate, '0') === 1) { if (bccomp($bonusRate, '0') === 1) {
@ -364,24 +363,26 @@ class DistributionPreIncomeJobService
'updated_at' => $preIncome->created_at, 'updated_at' => $preIncome->created_at,
]; ];
} }
} else { }
/* } else {
|----------------------------------------------- /*
| 级差奖励 |-----------------------------------------------
|----------------------------------------------- | 级差奖励
*/ |-----------------------------------------------
*/
$lvlDiffBonusRate = $rule['lvl_diff_bonus_rate'] ?? '0'; $lvlDiffBonusRate = $rule['lvl_diff_bonus_rate'] ?? '0';
if (bccomp($lvlDiffBonusRate, '0') === 1) { if (bccomp($lvlDiffBonusRate, '0') === 1) {
// 可得级差奖励比例 = 当前等级的级差奖励 - 已分配的级差奖励比例 // 可得级差奖励比例 = 当前等级的级差奖励 - 已分配的级差奖励比例
$bonusRate = bcsub($lvlDiffBonusRate, $assignedLvlDiffBonusRate); $bonusRate = bcsub($lvlDiffBonusRate, $assignedLvlDiffBonusRate);
// 如果可得级差奖励比例小于或等于0则停止分润 // 如果可得级差奖励比例小于或等于0则停止分润
if (bccomp($bonusRate, '0') <= 0) { if (bccomp($bonusRate, '0') <= 0) {
break; break;
} }
if ($agent->bonusable) {
// 手续费率 // 手续费率
$feeRate = $config['lvl_diff_bonus_fee_rate'] ?? '0'; $feeRate = $config['lvl_diff_bonus_fee_rate'] ?? '0';
@ -418,10 +419,9 @@ class DistributionPreIncomeJobService
'created_at' => $preIncome->created_at, 'created_at' => $preIncome->created_at,
'updated_at' => $preIncome->created_at, 'updated_at' => $preIncome->created_at,
]; ];
$assignedLvlDiffBonusRate = $lvlDiffBonusRate;
} }
$assignedLvlDiffBonusRate = $lvlDiffBonusRate;
} }
} }