Ver Fonte

记录团队奖金封顶前金额

root há 3 anos atrás
pai
commit
596d9a8db1

+ 5 - 0
common/helpers/bonus/BonusCalc.php

@@ -1225,9 +1225,12 @@ class BonusCalc extends BaseObject {
                 if ($touchBonusArr['touchBonus'] <= 0) continue;
 
                 $teamBonus = $touchBonusArr['touchBonus'];
+                $capBonusQy = $teamBonus; // 封顶前的奖金
                 //判断级别上限
                 $teamBonus = $this->declarationLevelCap($teamBonus, $userId, $userBaseInfo['DEC_LV']);
                 if( $teamBonus <= 0 ) continue;
+                // 将封顶前的金额加入用户奖金缓存中,此金额不能发放(总奖金,总实际奖金)
+                CalcCache::bonus($userId, $periodNum, 'CAPPED_BONUS_QY', $capBonusQy);
 
                 $teamBonus = $this->bonusTotalLimit($teamBonus, $userId, $userBaseInfo['REC_NUM'], $userBaseInfo['ZC_AMOUNT']);
                 if( $teamBonus <= 0 ) continue;
@@ -1242,6 +1245,7 @@ class BonusCalc extends BaseObject {
                 $insertBonusData[] = [
                     'ID' => SnowFake::instance()->generateId(),
                     'USER_ID' => $userId,
+                    'ORI_CAPPED_BONUS_QY' => $capBonusQy,
                     'LAST_DEC_LV' => $userBaseInfo['DEC_LV'],
                     'LAST_EMP_LV' => $userBaseInfo['EMP_LV'],
                     'LAST_STATUS' => $userBaseInfo['STATUS'],
@@ -3616,6 +3620,7 @@ class BonusCalc extends BaseObject {
             'ORI_BONUS_YC' => $bonus['ORI_BONUS_YC'] + $bonus['ORI_BONUS_YC_EXTRA'],
             'ORI_BONUS_VIP' => $bonus['ORI_BONUS_VIP'],
             'ORI_BONUS_STANDARD' => $standardBonus,
+            'ORI_CAPPED_BONUS_QY' => $bonus['ORI_CAPPED_BONUS_QY'], // 团队奖封顶前的奖金
 
             'BONUS_TOURISM' => $tourismBonus, // 旅游奖
             'BONUS_GARAGE' => $garageBonus, // 车房奖

+ 3 - 0
common/helpers/bonus/CalcCache.php

@@ -101,6 +101,7 @@ class CalcCache {
     const INCOME_BONUS_TRAVEL = 'BONUS_TRAVEL';
     const INCOME_BONUS_CAR = 'BONUS_CAR';
     const INCOME_BONUS_HOUSE = 'BONUS_HOUSE';
+    const CAPPED_BONUS_QY = 'CAPPED_BONUS_QY'; // 团队奖封顶前的金额
     const INCOME_BONUS_LIST = [
 //        self::INCOME_TG_BONUS,
 //        self::INCOME_XF_BONUS,
@@ -115,6 +116,7 @@ class CalcCache {
         self::INCOME_BONUS_TRAVEL,
         self::INCOME_BONUS_CAR,
         self::INCOME_BONUS_HOUSE,
+        self::CAPPED_BONUS_QY,
     ];
 
     const FROM_MEANS_BD = 'BD';
@@ -1467,6 +1469,7 @@ class CalcCache {
             'BONUS_TOTAL' => 0,
             'RECONSUME_POINTS' => 0,
             'MANAGE_TAX' => 0,
+            'ORI_CAPPED_BONUS_QY' => 0,// 团队奖,封顶前金额
 
             //没有用到的
             'BONUS_FX' => 0,

+ 0 - 0
common/models/CalcBonusTourism.php


+ 0 - 0
common/models/FlowTourismPoints.php