|
|
@@ -596,7 +596,9 @@ class CalcServeBonusCalc extends BaseObject {
|
|
|
}
|
|
|
unset($perfData, $decRoleBonusFrom);
|
|
|
LoggerTool::debug(json_encode(['FWBonusPerfData-P2', $userId, $validPvPcs]));
|
|
|
- if ( $validPvPcs <= 0 ) continue;
|
|
|
+ if ($validPvPcs <= 0) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
|
|
|
// 会员被报单时的报单中心
|
|
|
$bonusUserId = DecOrder::find()->where('TO_USER_ID=:TO_USER_ID', [':TO_USER_ID' => $userId])->select('DEC_ID')->orderBy('CREATED_AT DESC')->scalar();
|
|
|
@@ -605,19 +607,31 @@ class CalcServeBonusCalc extends BaseObject {
|
|
|
//计算级别之后更新过userInfo的缓存,缓存中级别发生了变化
|
|
|
$bonusUserInfo = CalcCache::getUserInfo($bonusUserId, $this->_periodNum);
|
|
|
$isDec = $bonusUserInfo['IS_DEC'];
|
|
|
- if($isDec == 0) return self::LOOP_CONTINUE;
|
|
|
+ if ($isDec == 0) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
$decRoleId = $bonusUserInfo['DEC_ROLE_ID'];
|
|
|
- if( !$decRoleId ) return self::LOOP_CONTINUE;
|
|
|
- if( !isset($this->_decRoleConfig[$decRoleId]) ) return self::LOOP_CONTINUE;
|
|
|
+ if (!$decRoleId ) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if (!isset($this->_decRoleConfig[$decRoleId])) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
|
|
|
+ // 计算奖金比例了
|
|
|
$parentDecRoleLevel = $this->_decRoleConfig[$decRoleId];
|
|
|
$parentFwBonusPercent = $parentDecRoleLevel['FW_BONUS_PERCENT'] ?? 0;
|
|
|
- $cacheMaxPercent = CalcCache::fwMaxBonusPercent($userId, $this->_periodNum);
|
|
|
+ $cacheMaxPercent = CalcCache::fwMaxBonusPercent($bonusUserId, $this->_periodNum);
|
|
|
$diffPercent = $parentFwBonusPercent - $cacheMaxPercent;
|
|
|
- if( $diffPercent <= 0 ) return self::LOOP_CONTINUE;
|
|
|
+ if ($diffPercent <= 0) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
|
|
|
+ // 计算奖金
|
|
|
$fwBonus = $validPvPcs * $diffPercent / 100;
|
|
|
- if( $fwBonus <= 0 ) return self::LOOP_CONTINUE;
|
|
|
+ if ( $fwBonus <= 0) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
|
|
|
//给本人添加服务奖比例
|
|
|
CalcCache::fwMaxBonusPercent($bonusUserId, $this->_periodNum, $parentFwBonusPercent);
|
|
|
@@ -625,9 +639,6 @@ class CalcServeBonusCalc extends BaseObject {
|
|
|
CalcCache::saveFwBonusList($bonusUserId, $this->_periodNum, $fwBonus, ['fromUid'=>$userId, 'fromPvPcs'=>$validPvPcs]);
|
|
|
CalcCache::addHasFwBonusUsers($bonusUserId, $this->_periodNum);
|
|
|
|
|
|
- //达到最大的比例就不在向上找了
|
|
|
-// unset($bonusUserId, $bonusUserInfo, $isDec, $decRoleId, $parentDecRoleLevel, $parentFwBonusPercent, $cacheMaxPercent, $diffPercent, $fwBonus);
|
|
|
-
|
|
|
// unset($userId, $validPvPcs);
|
|
|
}
|
|
|
|