Преглед изворни кода

feat: AE: 奖金自动计算不执行bugfix

kevin пре 1 година
родитељ
комит
0ed1fe1df7
1 измењених фајлова са 7 додато и 15 уклоњено
  1. 7 15
      common/helpers/bonus/Calc/CalcConsole.php

+ 7 - 15
common/helpers/bonus/Calc/CalcConsole.php

@@ -3,6 +3,7 @@
 namespace common\helpers\bonus\Calc;
 
 
+use common\helpers\bonus\BonusCalc;
 use common\helpers\Cache;
 use common\helpers\Form;
 use common\models\CalcOperation;
@@ -164,22 +165,18 @@ class CalcConsole extends BaseBusiness
         $periodNum = $currentPeriod['PERIOD_NUM'];
         $prevPeriodNum = $periodNum - 1;
 
-        // 当计算中,则跳过
-//        if(Period::isPreparing($periodNum)){ // 当计算中,则跳过
-//            echo('自动计算未开始. 【计算中】' . date('Y-m-d H:i:s') . ' 期数:' . $periodNum . PHP_EOL);
-//            return;
-//        }
-
         // 自动计算:次月1号凌晨计算一次上一期
         if ($nowDate == 1 && $nowHour == 0) {
             echo('自动计算开始(1). ' . date('Y-m-d H:i:s') . ' 期数:' . $prevPeriodNum . PHP_EOL);
-            self::processAutoExec($prevPeriodNum);
+
+            BonusCalc::instance()->calculateBonus($periodNum);
+
             return;
         }
         // 自动计算:每2小时自动计算一次
         if ($nowHour % 2 == 0) {
             echo('自动计算开始(2). ' . date('Y-m-d H:i:s') . ' 期数:' . $periodNum . PHP_EOL);
-            self::processAutoExec($periodNum);
+            BonusCalc::instance()->calculateBonus($periodNum);
         }
     }
 
@@ -192,18 +189,13 @@ class CalcConsole extends BaseBusiness
         //记录开始计算的时间
         $calc_id = uniqid('calc_');
         CalcOperation::record($calc_id, $periodNum);
-        Period::updateAll(['START_EXEC_TIME' => time(), 'CALC_ID' => $calc_id], ['PERIOD_NUM' => $periodNum]);
 
         $formModel = new PeriodForm();
         $formModel->scenario = 'autoPerf';
         if($formModel->load(['periodNum'=>$periodNum], '') && $formModel->autoPrePerf()) {
-            echo('自动计算已开始,请等待'.PHP_EOL);
-            //设置redis开关
-            Yii::$app->cache->set('isCalcing', 1, 3600);
-            CalcRecord::record($periodNum, '【定时计算】第' . $periodNum . '期,定时计算开始');
+            echo('【定时计算】第' . $periodNum . '期,定时计算开始' . PHP_EOL);
         } else {
-            echo('自动计算未开始'.PHP_EOL);
-            CalcRecord::record($periodNum, '【定时计算】第' . $periodNum . '期,定时计算未开始');
+            echo('【定时计算】第' . $periodNum . '期,定时计算未开始' . PHP_EOL);
         }
     }