ClearController.php 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <?php
  2. namespace console\controllers;
  3. use biz\ghs\classes\GhsBackClass;
  4. use bizGhs\clear\classes\OrderCgClearClass;
  5. use bizGhs\clear\models\Clear;
  6. use bizGhs\custom\classes\CustomClass;
  7. use bizGhs\custom\classes\CustomBalanceChangeClass;
  8. use bizGhs\ghs\classes\GhsBalanceChangeClass;
  9. use bizGhs\custom\services\GhsRechargeSettleService;
  10. use bizGhs\ghs\classes\GhsClass;
  11. use bizGhs\ghs\models\Ghs;
  12. use bizGhs\order\classes\OrderClass;
  13. use bizGhs\order\classes\PurchaseOrderClass;
  14. use bizHd\purchase\classes\PurchaseClass;
  15. use yii\console\Controller;
  16. use Yii;
  17. class ClearController extends Controller
  18. {
  19. public function actionGhsGhs()
  20. {
  21. ini_set('memory_limit', '2045M');
  22. set_time_limit(0);
  23. $query = new \yii\db\Query();
  24. $query->from(Ghs::tableName());
  25. $query->where(['ownPtStyle' => 2]);
  26. foreach ($query->batch(500) as $ghsList) {
  27. $connection = Yii::$app->db;
  28. $transaction = $connection->beginTransaction();
  29. try {
  30. foreach ($ghsList as $ghs) {
  31. $ghsId = $ghs['id'] ?? 0;
  32. $balance = PurchaseOrderClass::sum(['ghsId' => $ghsId, 'debt' => 1], 'actPrice');
  33. $debtNum = PurchaseOrderClass::getCount(['ghsId' => $ghsId, 'debt' => 1]);
  34. GhsClass::updateById($ghsId, ['balance' => -$balance, 'debtNum' => $debtNum]);
  35. $customId = $ghs['customId'] ?? 0;
  36. CustomClass::updateById($customId, ['balance' => -$balance, 'debtNum' => $debtNum]);
  37. }
  38. $transaction->commit();
  39. } catch (\Exception $e) {
  40. $transaction->rollBack();
  41. $msg = $e->getMessage();
  42. echo "报错了:" . $msg . "\n";
  43. }
  44. }
  45. }
  46. }