From 78a3f8ce4ccb45091077718dde388d00194aeed4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=BF=A0=E6=9E=97?= <170083662@qq.com> Date: Sat, 7 Feb 2026 13:12:11 +0800 Subject: [PATCH] =?UTF-8?q?feat(order):=20=E6=B7=BB=E5=8A=A0=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E5=88=9B=E5=BB=BA=E6=97=B6=E9=97=B4=E5=92=8C=E8=BF=87?= =?UTF-8?q?=E6=9C=9F=E6=97=B6=E9=97=B4=E8=AE=BE=E7=BD=AE=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 引入 LocalDateTime 用于时间操作 - 在订单创建时自动设置 createTime 和 updateTime - 设置订单默认10分钟过期时间用于支付校验 - 确保时间戳只在为空时进行初始化避免覆盖 - 统一在服务层和控制层实现时间设置逻辑 --- .../shop/controller/ShopOrderController.java | 11 +++++++++++ .../gxwebsoft/shop/service/OrderBusinessService.java | 11 +++++++++++ 2 files changed, 22 insertions(+) diff --git a/src/main/java/com/gxwebsoft/shop/controller/ShopOrderController.java b/src/main/java/com/gxwebsoft/shop/controller/ShopOrderController.java index 550e220..da8b20b 100644 --- a/src/main/java/com/gxwebsoft/shop/controller/ShopOrderController.java +++ b/src/main/java/com/gxwebsoft/shop/controller/ShopOrderController.java @@ -148,6 +148,17 @@ public class ShopOrderController extends BaseController { shopOrder.setUserId(loginUser.getUserId()); shopOrder.setOpenid(loginUser.getOpenid()); shopOrder.setPayUserId(loginUser.getUserId()); + + // 下单时间 & 订单过期时间:默认下单后10分钟过期(用于发起支付等场景校验) + LocalDateTime now = LocalDateTime.now(); + if (shopOrder.getCreateTime() == null) { + shopOrder.setCreateTime(now); + } + if (shopOrder.getUpdateTime() == null) { + shopOrder.setUpdateTime(now); + } + shopOrder.setExpirationTime(shopOrder.getCreateTime().plusMinutes(10)); + if (shopOrder.getOrderNo() == null) { shopOrder.setOrderNo(Long.toString(IdUtil.getSnowflakeNextId())); } diff --git a/src/main/java/com/gxwebsoft/shop/service/OrderBusinessService.java b/src/main/java/com/gxwebsoft/shop/service/OrderBusinessService.java index 81f772f..e660b3b 100644 --- a/src/main/java/com/gxwebsoft/shop/service/OrderBusinessService.java +++ b/src/main/java/com/gxwebsoft/shop/service/OrderBusinessService.java @@ -16,6 +16,7 @@ import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import java.math.BigDecimal; import java.math.RoundingMode; +import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -244,6 +245,16 @@ public class OrderBusinessService { // 复制请求参数到订单对象 BeanUtils.copyProperties(request, shopOrder); + // 下单时间 & 订单过期时间:默认下单后10分钟过期(用于发起支付等场景校验) + LocalDateTime now = LocalDateTime.now(); + if (shopOrder.getCreateTime() == null) { + shopOrder.setCreateTime(now); + } + if (shopOrder.getUpdateTime() == null) { + shopOrder.setUpdateTime(now); + } + shopOrder.setExpirationTime(shopOrder.getCreateTime().plusMinutes(10)); + // 确保租户ID正确设置(关键字段,影响微信支付证书路径) shopOrder.setTenantId(loginUser.getTenantId());