StatKdController.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. namespace console\controllers;
  3. use biz\shop\classes\ShopClass;
  4. use biz\stat\classes\StatKdClass;
  5. use bizGhs\order\models\Order;
  6. use yii\console\Controller;
  7. use Yii;
  8. class StatKdController extends Controller
  9. {
  10. //销售数据更新 ./yii stat-kd/update
  11. public function actionUpdate()
  12. {
  13. ini_set('memory_limit', '2045M');
  14. set_time_limit(0);
  15. $sql = 'TRUNCATE `xhStatKd`;TRUNCATE `xhStatKdMonth`;';
  16. Yii::$app->db->createCommand($sql)->execute();
  17. $query = new \yii\db\Query();
  18. $query->from(Order::tableName());
  19. $query->where(['>', 'status', 1]);
  20. foreach ($query->batch() as $batch) {
  21. foreach ($batch as $order) {
  22. $status = $order['status'] ?? 0;
  23. if ($status == 1 || $status == 5) {
  24. continue;
  25. }
  26. $payWay = $order['payWay'] ?? 0;
  27. $amount = $order['actPrice'] ?? 0;
  28. $shopId = $order['shopId'] ?? 0;
  29. $shop = ShopClass::getLockById($shopId);
  30. if (empty($shop)) {
  31. continue;
  32. }
  33. $date = date('Ymd', strtotime($order['addTime']));
  34. StatKdClass::replace($shop, $amount, $payWay, $date);
  35. }
  36. }
  37. }
  38. }