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

feat: NG-71: 会员奖金计算调整

kevin пре 1 година
родитељ
комит
f787359b61
2 измењених фајлова са 11 додато и 4 уклоњено
  1. 8 1
      common/helpers/bonus/BonusCalc.php
  2. 3 3
      common/models/forms/PeriodForm.php

+ 8 - 1
common/helpers/bonus/BonusCalc.php

@@ -30,6 +30,7 @@ use common\models\CalcBonusXF;
 use common\models\CalcBonusYC;
 use common\models\CalcBonusYJ;
 use common\models\CalcMonthBonusUser;
+use common\models\CalcRecord;
 use common\models\Config;
 use common\models\Order;
 use common\models\OrderGoods;
@@ -148,9 +149,15 @@ class BonusCalc extends BaseObject {
         return $this->_errors;
     }
 
-    public function calculateBonus($periodNum, $handleUserId = null)
+    /**
+     * @param $periodNum
+     * @return bool
+     */
+    public function calculateBonus($periodNum): bool
     {
         try {
+            // 清空上一次的日志
+            CalcRecord::deleteAll('CALC_ID=:CALC_ID', [':CALC_ID' => $periodNum]);
             // 调用存储过程生成业绩单、计算奖金
             \Yii::$app->db->createCommand("CALL AUTO_CALC_BONUS(:periodNum)")
                 ->bindValue(':periodNum' , $periodNum)

+ 3 - 3
common/models/forms/PeriodForm.php

@@ -228,13 +228,13 @@ class PeriodForm extends Model
      * @throws Exception
      * @throws \yii\db\Exception
      */
-    public function calcAsync($handleUserId){
+    public function calcAsync($handleUserId): ?bool
+    {
         if(!$this->validate()){
             return null;
         }
         $bonusCalc = BonusCalc::instance();
-//        $asyncResult = $bonusCalc->calcStep($this->periodNum, $handleUserId);
-        $asyncResult = $bonusCalc->calculateBonus($this->periodNum, $handleUserId);
+        $asyncResult = $bonusCalc->calculateBonus($this->periodNum);
         if($asyncResult){
             $bonusCalc->endCalcTask();
         } else {