Эх сурвалжийг харах

feat: NC-53: 店服务奖业绩生成优化.

zhangl 1 жил өмнө
parent
commit
196e859c1a

+ 20 - 26
common/helpers/bonus/PerfCalc.php

@@ -1284,38 +1284,32 @@ class PerfCalc {
             // 不是结算月,则不进行计算
             return false;
         }
-        $result = \Yii::$app->db->createCommand("CALL CALC_STORE_PV(:periodNum)")
+
+        // 调用存储过程生成店服务奖业绩
+        \Yii::$app->db->createCommand("CALL CALC_STORE_PV(:periodNum)")
             ->bindValue(':periodNum' , $this->_periodNum )
             ->execute();
 
-        echo(json_encode(['calcStProcedure-result', $result]) . PHP_EOL);
-
-        if ($result) {
-            $params = [
-                ':PERIOD_NUM' => $this->_periodNum,
-                ':CALC_MONTH' => $this->_calcYearMonth,
-                ':IS_STUDIO'  => 1,
-            ];
-            // 有业绩的会员放入缓存
-            $records = StorePerfLog::find()
-                ->where('PERIOD_NUM=:PERIOD_NUM AND CALC_MONTH=:CALC_MONTH AND IS_STUDIO=:IS_STUDIO AND GROUP_PV>0', $params)
-                ->select('USER_ID, MONTH_PV, GROUP_PV')
-                ->asArray()
-                ->all();
-
-            echo(json_encode(['calcStProcedure-records', count($records)]) . PHP_EOL);
+        $params = [
+            ':PERIOD_NUM' => $this->_periodNum,
+            ':CALC_MONTH' => $this->_calcYearMonth,
+            ':IS_STUDIO'  => 1,
+        ];
+        // 有业绩的会员放入缓存
+        $records = StorePerfLog::find()
+            ->where('PERIOD_NUM=:PERIOD_NUM AND CALC_MONTH=:CALC_MONTH AND IS_STUDIO=:IS_STUDIO AND GROUP_PV>0', $params)
+            ->select('USER_ID, MONTH_PV, GROUP_PV')
+            ->asArray()
+            ->all();
 
-            foreach ($records as $record) {
-                CalcCache::addHasPerfUsers($record['USER_ID'], $this->_periodNum);
-                CalcCache::nowPeriodPerf($record['USER_ID'], $this->_periodNum, [
-                    'STORE_PV_GRAND' => $record['GROUP_PV'],
-                ]);
+        LoggerTool::debug(json_encode(['calcStProcedure', count($records)]));
 
-                $perfData = CalcCache::nowPeriodPerf($record['USER_ID'], $this->_periodNum);
-                LoggerTool::debug(json_encode(['nowPeriodPerf', $record['USER_ID'], $record['GROUP_PV'], $perfData]));
+        foreach ($records as $record) {
+            CalcCache::addHasPerfUsers($record['USER_ID'], $this->_periodNum);
+            CalcCache::nowPeriodPerf($record['USER_ID'], $this->_periodNum, ['STORE_PV_GRAND' => $record['GROUP_PV']]);
 
-                echo(json_encode(['nowPeriodPerf', $record['USER_ID'], $record['GROUP_PV'], $perfData]) . PHP_EOL);
-            }
+            $perfData = CalcCache::nowPeriodPerf($record['USER_ID'], $this->_periodNum);
+            LoggerTool::debug(json_encode(['nowPeriodPerf', $record['USER_ID'], $record['GROUP_PV'], $perfData]));
         }
 
         return true;