Ver Fonte

会员活跃奖金计算bugfix

kevin_zhangl há 3 anos atrás
pai
commit
d69c764b5b
1 ficheiros alterados com 13 adições e 5 exclusões
  1. 13 5
      common/helpers/bonus/BonusCalc.php

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

@@ -1264,7 +1264,7 @@ class BonusCalc extends BaseObject {
                 $starCrown = StarCrownLevel::getStarCrown($payLeg);
 
                 // 是否活跃
-                $isActive = $this->_isMonthPerfLimit($userId);
+                $isActive = $this->_isPerfActive($userId);
                 $oriBonus = $isActive ? $teamBonus : 0;
                 $lastCrownLv = $isActive ? $starCrown['ID'] : StarCrownLevel::getDefaultLevelId();
 
@@ -4121,16 +4121,24 @@ class BonusCalc extends BaseObject {
     // 判断是否满足月最低消费
     public function _isMonthPerfLimit($userId) {
         $userMonthTotal = PerfMonth::find()->where(
-            'USER_ID=:USER_ID AND CALC_MONTH=:CALC_MONTH', 
+            'USER_ID=:USER_ID AND CALC_MONTH=:CALC_MONTH',
             ['USER_ID'=>$userId, 'CALC_MONTH'=>$this->_calcYearMonth]
         )
-        ->asArray()
-        ->one();
+            ->asArray()
+            ->one();
         $fxPvStatus = false;
         if (isset($userMonthTotal['PV_PCS']) && $userMonthTotal['PV_PCS'] >= $this->_sysConfig['monthPcsPvFxCondition']['VALUE']) {
             $fxPvStatus = true;
         }
-        
+
         return $fxPvStatus;
     }
+
+    // 判断会员是否活跃
+    public function _isPerfActive($userId): bool
+    {
+        $pv = PerfPeriod::find()->where('USER_ID=:USER_ID AND CALC_MONTH=:CALC_MONTH', ['USER_ID'=>$userId, 'CALC_MONTH'=>$this->_calcYearMonth])->SUM('PV_PCS');
+
+        return $pv >= $this->_sysConfig['monthPcsPvFxCondition']['VALUE'];
+    }
 }