Quellcode durchsuchen

活跃用户还原,暂时不用新的活跃规则

zxiansheng vor 4 Jahren
Ursprung
Commit
1443f1e968

+ 43 - 43
common/helpers/bonus/BonusCalc.php

@@ -2980,50 +2980,11 @@ class BonusCalc extends BaseObject {
         $bonusReal = $bonus['BONUS_BD'] + $bonus['BONUS_TG'] + $bonus['BONUS_XF'] + $bonus['BONUS_YJ'] + $bonus['BONUS_QY'] + $bonus['BONUS_YC'] + $bonus['BONUS_YC_EXTRA'] + $bonus['BONUS_VIP'] + $standardBonus;
         $realBonusGx = 0;
         $realBonusGl = 0;
-        // if( $this->_isCalcMonth ) {
-        //     //查看是否复消300
-        //     $monthPerfData = CalcCache::nowMonthPerf($userId, $this->_periodNum);
-        //     $fxPvStatus = $monthPerfData['PV_PCS_FX'] >= $this->_sysConfig['monthPcsPvFxCondition']['VALUE'];
-        //     if ( $fxPvStatus ) {//加上本期和往期的共享和管理奖
-        //         $monthSumData = CalcBonus::findUseSlaves()->select('SUM(BONUS_GX) AS BONUS_GX_SUM, SUM(BONUS_GL) AS BONUS_GL_SUM')->where('USER_ID=:USER_ID AND CALC_MONTH=:CALC_MONTH', ['USER_ID'=>$userId, 'CALC_MONTH'=>$this->_calcYearMonth])->asArray()->one();
-        //         $bonusGxSum = $monthSumData['BONUS_GX_SUM'] ?? 0;
-        //         $bonusGlSum = $monthSumData['BONUS_GL_SUM'] ?? 0;
-        //         $realBonusGx += $bonusGxSum + $bonus['BONUS_GX'];
-        //         $realBonusGl += $bonusGlSum + $bonus['BONUS_GL'];
-        //         $bonusReal += $realBonusGx + $realBonusGl;
-        //         unset($monthSumData, $bonusGxSum, $bonusGlSum);
-        //     }
-        // }
         if( $this->_isCalcMonth ) {
-            // 将查看是否复消300的逻辑,改成月结时判断当前月有一周活跃则本月活跃
-            // 1. 获取此业绩期的月份
-            $periodInfo = Period::getInfoByPeriodNum($this->_periodNum);
-            
-            $calcMonth = $periodInfo['CALC_YEAR'].'-'.$periodInfo['CALC_MONTH']; // 2025-7
-            // 获取此月的第一天和最后一天时间戳
-            $fday = date('Y-m-01', strtotime($calcMonth));
-            $lday = date('Y-m-d', strtotime("$fday +1 month -1 day"));
-            $ftime = strtotime($fday);
-            $ltime = strtotime($lday.' 23:59:59');
-            // 2. 根据业绩期的月份,判断用户是否是活跃状态.
-            $fxPvStatus = PerfActiveUser::findUseDbCalc()
-            ->select('USER_ID')
-            ->where("USER_ID=:USER_ID ", [':USER_ID' => $userId])
-            ->andWhere(['or',
-                [
-                    'and',
-                    ['>=', 'SRATR_AT', $ftime],
-                    ['<=', 'SRATR_AT', $ltime]
-                ],
-                [
-                    'and',
-                    ['>=', 'END_AT', $ftime],
-                    ['<=', 'END_AT', $ltime]
-                ]
-            ])
-            ->asArray()
-            ->all();
-            if ( !empty($fxPvStatus) ) {//加上本期和往期的共享和管理奖
+            //查看是否复消300
+            $monthPerfData = CalcCache::nowMonthPerf($userId, $this->_periodNum);
+            $fxPvStatus = $monthPerfData['PV_PCS_FX'] >= $this->_sysConfig['monthPcsPvFxCondition']['VALUE'];
+            if ( $fxPvStatus ) {//加上本期和往期的共享和管理奖
                 $monthSumData = CalcBonus::findUseSlaves()->select('SUM(BONUS_GX) AS BONUS_GX_SUM, SUM(BONUS_GL) AS BONUS_GL_SUM')->where('USER_ID=:USER_ID AND CALC_MONTH=:CALC_MONTH', ['USER_ID'=>$userId, 'CALC_MONTH'=>$this->_calcYearMonth])->asArray()->one();
                 $bonusGxSum = $monthSumData['BONUS_GX_SUM'] ?? 0;
                 $bonusGlSum = $monthSumData['BONUS_GL_SUM'] ?? 0;
@@ -3033,6 +2994,45 @@ class BonusCalc extends BaseObject {
                 unset($monthSumData, $bonusGxSum, $bonusGlSum);
             }
         }
+        // if( $this->_isCalcMonth ) {
+        //     // 将查看是否复消300的逻辑,改成月结时判断当前月有一周活跃则本月活跃
+        //     // 1. 获取此业绩期的月份
+        //     $periodInfo = Period::getInfoByPeriodNum($this->_periodNum);
+            
+        //     $calcMonth = $periodInfo['CALC_YEAR'].'-'.$periodInfo['CALC_MONTH']; // 2025-7
+        //     // 获取此月的第一天和最后一天时间戳
+        //     $fday = date('Y-m-01', strtotime($calcMonth));
+        //     $lday = date('Y-m-d', strtotime("$fday +1 month -1 day"));
+        //     $ftime = strtotime($fday);
+        //     $ltime = strtotime($lday.' 23:59:59');
+        //     // 2. 根据业绩期的月份,判断用户是否是活跃状态.
+        //     $fxPvStatus = PerfActiveUser::findUseDbCalc()
+        //     ->select('USER_ID')
+        //     ->where("USER_ID=:USER_ID ", [':USER_ID' => $userId])
+        //     ->andWhere(['or',
+        //         [
+        //             'and',
+        //             ['>=', 'SRATR_AT', $ftime],
+        //             ['<=', 'SRATR_AT', $ltime]
+        //         ],
+        //         [
+        //             'and',
+        //             ['>=', 'END_AT', $ftime],
+        //             ['<=', 'END_AT', $ltime]
+        //         ]
+        //     ])
+        //     ->asArray()
+        //     ->all();
+        //     if ( !empty($fxPvStatus) ) {//加上本期和往期的共享和管理奖
+        //         $monthSumData = CalcBonus::findUseSlaves()->select('SUM(BONUS_GX) AS BONUS_GX_SUM, SUM(BONUS_GL) AS BONUS_GL_SUM')->where('USER_ID=:USER_ID AND CALC_MONTH=:CALC_MONTH', ['USER_ID'=>$userId, 'CALC_MONTH'=>$this->_calcYearMonth])->asArray()->one();
+        //         $bonusGxSum = $monthSumData['BONUS_GX_SUM'] ?? 0;
+        //         $bonusGlSum = $monthSumData['BONUS_GL_SUM'] ?? 0;
+        //         $realBonusGx += $bonusGxSum + $bonus['BONUS_GX'];
+        //         $realBonusGl += $bonusGlSum + $bonus['BONUS_GL'];
+        //         $bonusReal += $realBonusGx + $realBonusGl;
+        //         unset($monthSumData, $bonusGxSum, $bonusGlSum);
+        //     }
+        // }
 
         $result = [
             'USER_ID' => $userId,

+ 4 - 4
common/helpers/bonus/BonusSend.php

@@ -158,10 +158,10 @@ class BonusSend extends BaseObject {
             echo('更新会员累计月业绩完成,耗时:' . round($t8 - $t7, 3) . ',内存使用:' . (round(memory_get_usage() / 1024 / 1024, 3)) . 'MB' . PHP_EOL);
 
             // 更新活跃用户状态,更新为已处理
-            $this->updateActiveUser();
-            $this->_updatePercent(95);
-            $t9 = microtime(true);
-            echo('更新会员累计月业绩完成,耗时:' . round($t9 - $t8, 3) . ',内存使用:' . (round(memory_get_usage() / 1024 / 1024, 3)) . 'MB' . PHP_EOL);
+            // $this->updateActiveUser();
+            // $this->_updatePercent(95);
+            // $t9 = microtime(true);
+            // echo('更新会员累计月业绩完成,耗时:' . round($t9 - $t8, 3) . ',内存使用:' . (round(memory_get_usage() / 1024 / 1024, 3)) . 'MB' . PHP_EOL);
             
             // 开启子进程去完成下面的循环发放和循环改聘级和循环更新累计业绩
             /*$process = new Process('sendBonus', 3);

+ 1 - 1
common/helpers/bonus/PerfCalc.php

@@ -184,7 +184,7 @@ class PerfCalc {
 
             
             // 通过插入到perforder中的业绩订单数据,生成此业绩期活跃用户数据
-            $this->loopWriteActiveUser();
+            // $this->loopWriteActiveUser();
             $this->_updatePercent(100);
             $t10 = microtime(true);