setName('OrderClose') ->setDescription('会员管理-30分钟自动关闭尚未支付的订单'); } protected function execute(Input $input, Output $output) { // 指令输出 $output->writeln('开始执行-会员管理-30分钟自动关闭尚未支付的订单'); $time = time(); $end_create_time = $time - 30 * 60; //查询超过30分钟未支付的订单,返回使用的优惠券,修改订单状态为关闭 $order_list = TransactionHistory::where('pay_status', 0) ->where('create_time', '<', $end_create_time) ->select(); Db::startTrans(); try { foreach ($order_list as $v) { //关闭订单 TransactionHistory::where('id', $v['id'])->update([ 'pay_status' => 3,//超时关闭 ]); } Db::commit(); return true; } catch (\Exception $exception) { Db::rollback(); return false; } } }