From c8f2ef284f9737087d930987ec8a8e15efa76292 Mon Sep 17 00:00:00 2001 From: liapples Date: Thu, 2 Sep 2021 22:27:29 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=84=E7=90=86=E5=AE=9A=E9=87=91=E6=94=AF?= =?UTF-8?q?=E4=BB=98=E8=AE=A2=E5=8D=95=E8=B6=85=E6=97=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Common/OrderStatus.php | 4 ++-- app/Http/Controllers/Api/OrderController.php | 20 +++++++++----------- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/app/Common/OrderStatus.php b/app/Common/OrderStatus.php index 2efde99..7e170f5 100644 --- a/app/Common/OrderStatus.php +++ b/app/Common/OrderStatus.php @@ -16,7 +16,7 @@ class OrderStatus /** @var int 待付款 */ const UNPAID = 0; - /** @var int 已付定金 */ + /** @var int 已付(订)定金 */ const PAY_EARNEST = 1; /** @var int 已付全款 */ @@ -48,7 +48,7 @@ class OrderStatus return [ self::CANCEL => '已取消', self::UNPAID => '待付款', - self::PAY_EARNEST => '已付定金', + self::PAY_EARNEST => '已付定(订)金', self::PAID => '已付款', self::PAID_RETAINAGE => '已付尾款', self::OFFLINE_UNPAID => '[线下]未付款', diff --git a/app/Http/Controllers/Api/OrderController.php b/app/Http/Controllers/Api/OrderController.php index 18be8cc..0f9bb70 100644 --- a/app/Http/Controllers/Api/OrderController.php +++ b/app/Http/Controllers/Api/OrderController.php @@ -58,7 +58,7 @@ class OrderController extends Controller ->toArray(); $time = time(); - $timeout_ids = []; + $prefix = Storage::disk('public')->url(''); foreach ($order_list['data'] as &$v) { //图片加上域名 @@ -77,26 +77,23 @@ class OrderController extends Controller } //未付款订单提示剩余付款时间 - if ($v['timeout'] !== null && $v['status'] == Status::UNPAID) { + if ($v['timeout'] !== null) { $second = strtotime($v['timeout']) - $time; - if ($second > 0) { + if ($second > 0 && $v['status'] == Status::UNPAID) { $v['status_text'] = '请在' . ceil($second / 60) . '分钟内付款'; - } /*else { //TODO 此部分由定时 + } else if ($second < 0 && $v['status'] == Status::PAY_EARNEST) { + $v['status_text'] = '尾款支付已超时'; + } /*else { //此部分由定时处理 $timeout_ids[] = $v['id']; $v['status'] = Status::CANCEL; $v['status_text'] = '已取消'; - //TODO 加回库存,未考虑到几天/几个月后再打开订单列表页的情况,需要定时任务处理 + //此部分已由定时任务处理 Product::query()->find($v['product_id'])->increment('stock', $v['num']); }*/ } } - //超时订单设置为已取消 TODO 测试阶段暂时注释 - if ($timeout_ids) { - Order::query()->whereIn('id', $timeout_ids)->update(['status' => Status::CANCEL]); - } - return $this->success($order_list); } @@ -325,10 +322,11 @@ class OrderController extends Controller $order = Order::query() ->with('agentProduct') ->where(['user_id' => $this->user_id, 'agent_id' => $this->agent_id]) + ->whereRaw('`timeout` >= NOW()') ->whereIn('status', [Status::UNPAID, Status::PAY_EARNEST]) ->find($id); if (!$order) { - return $this->error('订单不存在或已支付'); + return $this->error('订单已支付或已超时'); } $ap = AgentProduct::with('coupon')->find($order->agent_product_id);