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

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

kevin пре 1 година
родитељ
комит
9ab90ab908
1 измењених фајлова са 8 додато и 8 уклоњено
  1. 8 8
      common/helpers/bonus/BonusSend.php

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

@@ -303,21 +303,21 @@ class BonusSend extends BaseObject {
 
     /**
      * 发放奖金
-     * @param int $page
      * @return bool
      * @throws \yii\db\Exception
      */
-    public function sendBonusLoop($page = 1) {
-        echo sprintf("时间:[%s]数据库发奖,当前page为:【%s】" . PHP_EOL, date('Y-m-d H:i:s', time()), $page);
+    public function sendBonusLoop(): bool
+    {
+        echo sprintf("时间:[%s] 奖金挂网" . PHP_EOL, date('Y-m-d H:i:s', time()));
+
         $periodNum = $this->_periodNum;
         // 从奖金结算表中获取当期未发放的所有数据
         $allData = CalcBonus::find()
             ->yearMonth($this->_calcYearMonth)
-            ->select('ID, USER_ID, BONUS_REAL, BONUS_TOTAL, MANAGE_TAX, ')
+            ->select('ID, USER_ID, PERIOD_NUM, BONUS_TOTAL, MANAGE_TAX, BONUS_PB')
             ->where('(IS_SENT=0 OR IS_SENT=2) AND CALC_MONTH=:CALC_MONTH AND PERIOD_NUM=:PERIOD_NUM',
                 [':CALC_MONTH' => $this->_calcYearMonth, ':PERIOD_NUM' => $this->_periodNum]
             )
-            ->limit($this->_limit)
             ->asArray()
             ->all();
 
@@ -326,8 +326,8 @@ class BonusSend extends BaseObject {
             try {
                 foreach ($allData as $key => $data) {
                     // 用户奖金发放
-                    if ($data['BONUS_REAL'] > 0) {
-                        Balance::changeUserBonus($data['USER_ID'], 'userBonus', $data['BONUS_REAL'],
+                    if ($data['BONUS_TOTAL'] > 0) {
+                        Balance::changeUserBonus($data['USER_ID'], 'userBonus', $data['BONUS_TOTAL'],
                             [
                                 'CALC_ID' => $data['ID'],
                                 'REMARK' => 'From Period ' . $data['PERIOD_NUM'],
@@ -349,7 +349,7 @@ class BonusSend extends BaseObject {
                     Period::updateAll(['IS_SENT' => 1, 'SENT_AT' => Date::nowTime()], 'PERIOD_NUM=:PERIOD_NUM', [':PERIOD_NUM' => $data['PERIOD_NUM']]);
                     CalcBonus::updateAll(['IS_SENT' => 1, 'SENT_AT' => Date::nowTime()], 'ID=:ID', [':ID' => $data['ID']]);
 
-                    unset($periodAmount, $key, $data);
+                    unset($key, $data);
                 }
                 $transaction->commit();
             } catch (Exception $e) {