Просмотр исходного кода

修复bug 总金额 因为缓存累加了2次蓝星原奖金

root 3 лет назад
Родитель
Сommit
f033548c48
1 измененных файлов с 4 добавлено и 2 удалено
  1. 4 2
      common/helpers/bonus/BonusCalc.php

+ 4 - 2
common/helpers/bonus/BonusCalc.php

@@ -3296,9 +3296,11 @@ class BonusCalc extends BaseObject {
                 $realBonusBs = $blueStartAmount; // 蓝星奖直接取数据库中算好的值PRODUCT_POINT
                 $bonusReal += $realBonusGx + $realBonusBs + $realBonusGl;
                 $exchangePoints = isset($userBS['PRODUCT_POINT']) && !empty($userBS['PRODUCT_POINT']) ? $userBS['PRODUCT_POINT'] : 0; // 兑换积分
-
-                $bonus['BONUS_TOTAL'] = $bonus['BONUS_TOTAL'] + $buleStartOriBonus; // 管理奖在存储过程计算,这里单独加上管理奖(即蓝星奖)
                 unset($monthSumData, $bonusGxSum, $bonusGlSum);
+            } else {
+                // 蓝星奖原奖金在扣管理费的时候被加入到了BONUS_TOTAL,需要再减去原奖金
+                $oriBonusBs = isset($bonus['ORI_BONUS_BS']) && $bonus['ORI_BONUS_BS'] > 0 ? $bonus['ORI_BONUS_BS'] : 0;
+                $bonus['BONUS_TOTAL'] = $bonus['BONUS_TOTAL'] - $oriBonusBs;
             }
         }
         // if( $this->_isCalcMonth ) {