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',
'remarks',
'tracking_number',
'sales_value',
];
public static $stateText = [

View File

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

View File

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