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());