diff --git a/docs/fsgx-issues-0330-1.md b/docs/fsgx-issues-0330-1.md index 813df051..bece5956 100644 --- a/docs/fsgx-issues-0330-1.md +++ b/docs/fsgx-issues-0330-1.md @@ -17,12 +17,18 @@ ## 分销员的**直推积分奖励**问题3 -- **重大调整**: **直推积分奖励**落库的时候,上级的分销等级是创客的时候检查必须是直推关系才发放积分奖励, 如果分销员级别大于创客则不需要是直推关系,只要是伞下关系就可以获得级差的**积分奖励**(级差的积分奖励同样更新到“直推积分奖励”的表字段中)。 +- **已修复****重大调整**: **直推积分奖励**落库的时候,上级的分销等级是创客的时候检查必须是直推关系才发放积分奖励, 如果分销员级别大于创客则不需要是直推关系,只要是伞下关系就可以获得级差的**积分奖励**(级差的积分奖励同样更新到“直推积分奖励”的表字段中)。 -- 范氏国香(mysql:47.94.76.64),用户推荐关系:uid=1->uid=2->uid=54->uid=55->uid=56, +- **已修复**范氏国香(mysql:47.94.76.64),用户推荐关系:uid=1->uid=2->uid=54->uid=55->uid=56, 用户行为发生(目前数据库中有订单和用户数据):Uid=55和Uid=56有2笔最新的购买报单商品的订单记录后,检查uid=1和Uid=2的直推积分奖励情况. - +## 分销员的**直推积分奖励**问题4 +- 用户推荐关系:uid=1->uid=2->uid=65->uid=66->uid=67, U67购买报单商品的订单记录后, 发现一个NG项: +1.Uid=66佣金(OK) +2.Uid=65没有直推积分奖励(OK) +3.Uid=2得800直推积分奖励(NG) +4.Uid=1得200直推积分奖励(OK) +uid=2应该拿全部的级差积分奖励800才对 diff --git a/pro_v3.5.1/app/services/hjf/PointsRewardServices.php b/pro_v3.5.1/app/services/hjf/PointsRewardServices.php index ceb8b257..3ff0ad70 100644 --- a/pro_v3.5.1/app/services/hjf/PointsRewardServices.php +++ b/pro_v3.5.1/app/services/hjf/PointsRewardServices.php @@ -165,8 +165,12 @@ class PointsRewardServices extends BaseServices } } - // 级差下限始终更新(不论本节点是否获奖),保证上级只拿增量差额 - $nextLower = max($directReward, $lowerDirectReward); + // 级差下限仅在本节点实际有资格获奖时才更新: + // 若节点被跳过(创客在 depth>0),其 directReward 不应计入下限, + // 否则上级会被扣减一笔从未发出的积分(fsgx 问题4) + $nextLower = $isEligibleForDirect + ? max($directReward, $lowerDirectReward) + : $lowerDirectReward; if ($user['spread_uid']) { $this->propagateReward( (int)$user['spread_uid'],