From 3feb90619c835b8cf99690ad37d8300c5b5039da Mon Sep 17 00:00:00 2001 From: xiadc <251308692@qq.com> Date: Sun, 1 Jun 2025 17:34:34 +0800 Subject: [PATCH] =?UTF-8?q?feat(order):=20=E5=A2=9E=E5=8A=A0=E6=AF=94?= =?UTF-8?q?=E8=B5=9B=E8=AE=A2=E5=8D=95=EF=BC=8C=E5=85=8D=E8=B4=B9=E9=80=80?= =?UTF-8?q?=E5=9D=91=E6=97=B6=E9=97=B4=E6=97=B6=E8=87=AA=E5=8A=A8=E7=A1=AE?= =?UTF-8?q?=E8=AE=A4=E6=94=B6=E8=B4=A7=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增逻辑判断,检查订单是否关联了比赛 - 如果关联了比赛,设置自动确认收货时间为比赛结束时 - 保留原有自动确认收货功能,作为备选方案 --- addons/shopro/listener/Order.php | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/addons/shopro/listener/Order.php b/addons/shopro/listener/Order.php index 9788915..8d43288 100644 --- a/addons/shopro/listener/Order.php +++ b/addons/shopro/listener/Order.php @@ -353,12 +353,21 @@ class Order } } - // 添加自动确认收货队列,这个队列只自动确认 本次发货的 items - $confirm_days = Config::getConfigField('shop.order.auto_confirm'); - $confirm_days = $confirm_days > 0 ? $confirm_days : 0; - if ($confirm_days) { - // 小于等于0, 不自动确认收货 - \think\Queue::later(($confirm_days * 86400), '\addons\shopro\job\OrderAutoOper@autoConfirm', $params, 'shopro'); + //ZY比赛开始时自动确认收货。 + $join = GameJoin::get('order_id', $order->id); + if (!empty($join)) { + $later = strtotime($join->quit_time) - time(); + if ($later > 0) { + \think\Queue::later(($later), '\addons\shopro\job\OrderAutoOper@autoConfirm', $params, 'shopro'); + } + } else { + // 添加自动确认收货队列,这个队列只自动确认 本次发货的 items + $confirm_days = Config::getConfigField('shop.order.auto_confirm'); + $confirm_days = $confirm_days > 0 ? $confirm_days : 0; + if ($confirm_days) { + // 小于等于0, 不自动确认收货 + \think\Queue::later(($confirm_days * 86400), '\addons\shopro\job\OrderAutoOper@autoConfirm', $params, 'shopro'); + } } }