feat(order): 添加订单创建时间和过期时间设置功能
- 引入 LocalDateTime 用于时间操作 - 在订单创建时自动设置 createTime 和 updateTime - 设置订单默认10分钟过期时间用于支付校验 - 确保时间戳只在为空时进行初始化避免覆盖 - 统一在服务层和控制层实现时间设置逻辑
This commit is contained in:
@@ -148,6 +148,17 @@ public class ShopOrderController extends BaseController {
|
|||||||
shopOrder.setUserId(loginUser.getUserId());
|
shopOrder.setUserId(loginUser.getUserId());
|
||||||
shopOrder.setOpenid(loginUser.getOpenid());
|
shopOrder.setOpenid(loginUser.getOpenid());
|
||||||
shopOrder.setPayUserId(loginUser.getUserId());
|
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) {
|
if (shopOrder.getOrderNo() == null) {
|
||||||
shopOrder.setOrderNo(Long.toString(IdUtil.getSnowflakeNextId()));
|
shopOrder.setOrderNo(Long.toString(IdUtil.getSnowflakeNextId()));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ import org.springframework.util.CollectionUtils;
|
|||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.math.RoundingMode;
|
import java.math.RoundingMode;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -244,6 +245,16 @@ public class OrderBusinessService {
|
|||||||
// 复制请求参数到订单对象
|
// 复制请求参数到订单对象
|
||||||
BeanUtils.copyProperties(request, shopOrder);
|
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正确设置(关键字段,影响微信支付证书路径)
|
// 确保租户ID正确设置(关键字段,影响微信支付证书路径)
|
||||||
shopOrder.setTenantId(loginUser.getTenantId());
|
shopOrder.setTenantId(loginUser.getTenantId());
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user