fix(partner): 创客协同第1代按下级实得进阶奖计算
同级第1代不再用等级标准基数,改为下级本单实际拿到的创客进阶奖乘比例。 Co-authored-by: Cursor <cursoragent@cursor.com>
这个提交包含在:
@@ -3,15 +3,13 @@
|
||||
namespace addons\shopro\service\partner;
|
||||
|
||||
/**
|
||||
* 创客协同(逐代 10% 递减级联,最低发放不能少于 0.10 元截断)/ 创客卓越 5%(只一层)
|
||||
* 创客协同:第 1 代按下级本单实得进阶奖 × 比例,之后每代按上一笔协同奖 × 比例,低于 0.10 元截断。
|
||||
* 创客卓越 5% 只发一层。
|
||||
*/
|
||||
class MakerPeerReward
|
||||
{
|
||||
public function run($order, $buyerId, $chain, $diffResult, ActiveService $active, $rules = null)
|
||||
{
|
||||
$bonus = (!empty($rules['maker_bonus']) && is_array($rules['maker_bonus']))
|
||||
? $rules['maker_bonus']
|
||||
: PartnerConfig::makerBonus();
|
||||
$peerRate = (isset($rules['maker_peer_rate']) && is_numeric($rules['maker_peer_rate']))
|
||||
? (float) $rules['maker_peer_rate']
|
||||
: (float) PartnerConfig::get('partner_maker_peer_rate', 0.10);
|
||||
@@ -38,9 +36,13 @@ class MakerPeerReward
|
||||
continue;
|
||||
}
|
||||
|
||||
$levelBonus = (float) ($bonus[$item['level']] ?? 0);
|
||||
$itemAmount = (float) ($item['amount'] ?? 0);
|
||||
if ($itemAmount <= 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$currentFrom = $from;
|
||||
$currentBase = $levelBonus;
|
||||
$currentBase = $itemAmount;
|
||||
$sourceUserId = $item['user_id'];
|
||||
|
||||
for ($gen = 1; $gen <= $maxPeerGenerations; $gen++) {
|
||||
|
||||
在新工单中引用
屏蔽一个用户