shish 5 anni fa
parent
commit
48ba631410
1 ha cambiato i file con 53 aggiunte e 0 eliminazioni
  1. 53 0
      console/controllers/RefundController.php

+ 53 - 0
console/controllers/RefundController.php

@@ -0,0 +1,53 @@
+<?php
+
+namespace console\controllers;
+
+use biz\shop\classes\ShopClass;
+use biz\stat\classes\StatRefundClass;
+use bizGhs\order\classes\RefundOrderClass;
+use yii\console\Controller;
+use Yii;
+
+class RefundController extends Controller
+{
+
+    //退款数据更新 ./yii refund/update
+    public function actionUpdate()
+    {
+
+        $list = RefundOrderClass::getAllByCondition(['id>' => 0], 'id asc', '*', null, true);
+        if (!empty($list)) {
+            foreach ($list as $item) {
+                $orderSn = $item->orderSn ?? '';
+                $shopId = $item->shopId ?? 0;
+                $addTime = $item->addTime ?? '';
+
+                $connection = Yii::$app->db;
+                $transaction = $connection->beginTransaction();
+
+                $refundPrice = $item->refundPrice ?? 0;
+
+                try {
+
+                    $shop = ShopClass::getLockById($shopId);
+                    if (empty($shop)) {
+                        echo '没有找到店铺 ' . $shopId . ' ' . $orderSn . "\n";
+                        continue;
+                    }
+                    $totalRefund = bcadd($refundPrice, $shop->totalRefund, 2);
+                    $shop->totalRefund = $totalRefund;
+                    $shop->save();
+                    $date = date("Ymd", strtotime($addTime));
+                    StatRefundClass::replace($shop, $refundPrice, $date);
+                    $transaction->commit();
+
+                } catch (\Exception $e) {
+                    $transaction->rollBack();
+                    $msg = $e->getMessage();
+                    echo "报错了:" . $msg . "\n";
+                }
+            }
+        }
+    }
+
+}