refactor(order): 重构订单相关代码并优化商品哈希计算逻辑

- 修改 DiscountType 枚举,将 FLASH_SALE 改为 LIMITED_TIME
- 优化 OrderServiceImpl 中的商品信息设置逻辑,增加空值判断
- 更新 IDiscountProvider 接口和 FlashSaleDiscountProvider 类中的提供者类型标识- 优化 ScenicServiceImpl 中的字符串判空逻辑,使用 Strings.isNotBlank 方法
- 重构 PriceCacheService 中的商品列表哈希值计算逻辑,仅基于必传字段生成哈希
This commit is contained in:
2025-08-29 16:54:46 +08:00
parent e2b760caab
commit 98ae9f2930
6 changed files with 32 additions and 19 deletions

View File

@@ -18,7 +18,7 @@ public enum DiscountType {
/**
* 限时立减
*/
FLASH_SALE("FLASH_SALE", "限时立减"),
LIMITED_TIME("LIMITED_TIME", "限时立减"),
/**
* 套餐优惠

View File

@@ -109,10 +109,10 @@ public class OrderServiceImpl implements IOrderService {
orderItem.setProductType(product.getProductType().name());
orderItem.setProductId(product.getProductId());
orderItem.setProductName(getProductName(product)); // 根据商品类型和ID获取商品名称
orderItem.setQuantity(product.getQuantity());
orderItem.setUnitPrice(product.getUnitPrice());
orderItem.setOriginalAmount(product.getOriginalPrice());
orderItem.setFinalAmount(product.getSubtotal());
orderItem.setQuantity(product.getQuantity() != null ? product.getQuantity() : 1);
orderItem.setUnitPrice(product.getUnitPrice() != null ? product.getUnitPrice() : BigDecimal.ZERO);
orderItem.setOriginalAmount(product.getOriginalPrice() != null ? product.getOriginalPrice() : BigDecimal.ZERO);
orderItem.setFinalAmount(product.getSubtotal() != null ? product.getSubtotal() : BigDecimal.ZERO);
orderItem.setCreateTime(now);
orderItem.setUpdateTime(now);