| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- <?php
- namespace console\controllers;
- use bizHd\order\classes\OrderClass;
- use bizHd\order\models\Order;
- use common\components\noticeUtil;
- use yii\console\Controller;
- use Yii;
- class OrderController extends Controller
- {
- //花店订单脚本
- public function actionExpire()
- {
- $query = new \yii\db\Query();
- $query->from(Order::tableName());
- $endTime = time();
- $startTime = strtotime('-7 days');
- //查询已经过期7天的订单
- $query->where(['status' => 1])->andWhere(['>', 'deadline', $startTime])->andWhere(['<=', 'deadline', $endTime]);
- $query->orderBy('deadline ASC');
- foreach ($query->batch() as $batchOrder) {
- foreach ($batchOrder as $order) {
- $connection = Yii::$app->db;
- $transaction = $connection->beginTransaction();
- $id = $order['id'] ?? 0;
- $orderSn = $order['orderSn'] ?? '';
- try {
- $order = OrderClass::getById($id, true);
- //暂时只考虑花材库存的回滚
- OrderClass::setExpire($order);
- $transaction->commit();
- noticeUtil::push("零售订单未付款,库存已回滚,单号:{$orderSn}");
- } catch (\Exception $e) {
- $transaction->rollBack();
- $msg = $e->getMessage();
- noticeUtil::push("处理报错了!订单号:{$orderSn},错误信息:{$msg}", '15280215347');
- }
- }
- }
- }
- }
|