Ver código fonte

自动确认

shish 2 anos atrás
pai
commit
9cac0ca6ba
1 arquivos alterados com 30 adições e 1 exclusões
  1. 30 1
      console/controllers/OrderController.php

+ 30 - 1
console/controllers/OrderController.php

@@ -5,6 +5,7 @@ namespace console\controllers;
 use bizHd\order\classes\OrderClass;
 use bizHd\order\models\Order;
 use bizHd\purchase\classes\PurchaseClass;
+use bizHd\purchase\models\Purchase;
 use common\components\noticeUtil;
 use yii\console\Controller;
 use Yii;
@@ -49,7 +50,35 @@ class OrderController extends Controller
     //【重要脚本,不能删除】到时间没确认收货,进行确认收货 ssh 20231122
     public function actionConfirmTake()
     {
-
+        $query = new \yii\db\Query();
+        $query->from(Purchase::tableName());
+        $endTime = strtotime('-10 days');
+        $startTime = strtotime('-6 days');
+        $startDate = date("Y-m-d H:i:s", $startTime);
+        $endDate = date("Y-m-d H:i:s", $endTime);
+        //查询已经过期10天的订单
+        $query->where(['status' => 3])->andWhere(['>', 'fhTime', $startDate])->andWhere(['<=', 'fhTime', $endDate]);
+        $query->orderBy('deadline ASC');
+        foreach ($query->batch() as $batchOrder) {
+            foreach ($batchOrder as $order) {
+                $connection = Yii::$app->db;
+                $transaction = $connection->beginTransaction();
+                $orderSn = $order['orderSn'] ?? '';
+                $cgId = $order['id'] ?? 0;
+                try {
+                    $info = PurchaseClass::getById($cgId, true);
+                    if (!empty($info)) {
+                        PurchaseClass::confirmTake($info);
+                    }
+                    $transaction->commit();
+                    noticeUtil::push("采购单号:{$orderSn}已自动确认收货");
+                } catch (\Exception $e) {
+                    $transaction->rollBack();
+                    $msg = $e->getMessage();
+                    noticeUtil::push("采购单号:{$orderSn}自动确认收货出错,{$msg}", '15280215347');
+                }
+            }
+        }
     }
 
     //【重要脚本,不能删除】花店订单脚本