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

@@ -17,6 +17,7 @@ import com.ycwl.basic.util.TtlCacheMap;
import com.ycwl.basic.utils.ApiResponse;
import com.ycwl.basic.utils.JacksonUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.logging.log4j.util.Strings;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -60,7 +61,7 @@ public class ScenicServiceImpl implements ScenicService {
return scenicStorageAdapterCache.computeIfAbsent(scenicId, (key) -> {
IStorageAdapter adapter;
ScenicConfigManager scenicConfig = scenicRepository.getScenicConfigManager(scenicId);
if (scenicConfig.getString("store_type") != null) {
if (Strings.isNotBlank(scenicConfig.getString("store_type"))) {
try {
adapter = StorageFactory.get(scenicConfig.getString("store_type"));
adapter.loadConfig(scenicConfig.getObject("store_config_json", Map.class));
@@ -78,7 +79,7 @@ public class ScenicServiceImpl implements ScenicService {
return scenicTmpStorageAdapterCache.computeIfAbsent(scenicId, (key) -> {
IStorageAdapter adapter;
ScenicConfigManager scenicConfig = scenicRepository.getScenicConfigManager(scenicId);
if (scenicConfig.getString("tmp_store_type") != null) {
if (Strings.isNotBlank(scenicConfig.getString("tmp_store_type"))) {
try {
adapter = StorageFactory.get(scenicConfig.getString("tmp_store_type"));
adapter.loadConfig(scenicConfig.getObject("tmp_store_config_json", Map.class));
@@ -96,7 +97,7 @@ public class ScenicServiceImpl implements ScenicService {
return scenicLocalStorageAdapterCache.computeIfAbsent(scenicId, (key) -> {
IStorageAdapter adapter;
ScenicConfigManager scenicConfig = scenicRepository.getScenicConfigManager(scenicId);
if (scenicConfig.getString("local_store_type") != null) {
if (Strings.isNotBlank(scenicConfig.getString("local_store_type"))) {
try {
adapter = StorageFactory.get(scenicConfig.getString("local_store_type"));
adapter.loadConfig(scenicConfig.getObject("local_store_config_json", Map.class));
@@ -115,7 +116,7 @@ public class ScenicServiceImpl implements ScenicService {
return scenicFaceBodyAdapterCache.computeIfAbsent(scenicId, (key) -> {
IFaceBodyAdapter adapter;
ScenicConfigManager scenicConfig = scenicRepository.getScenicConfigManager(scenicId);
if (scenicConfig.getString("face_type") != null) {
if (Strings.isNotBlank(scenicConfig.getString("face_type"))) {
adapter = FaceBodyFactory.getAdapter(scenicConfig.getString("face_type"));
adapter.loadConfig(scenicConfig.getObject("face_config_json", Map.class));
} else {
@@ -130,7 +131,7 @@ public class ScenicServiceImpl implements ScenicService {
return scenicPayAdapterCache.computeIfAbsent(scenicId, (key) -> {
IPayAdapter adapter;
ScenicConfigManager scenicConfig = scenicRepository.getScenicConfigManager(scenicId);
if (scenicConfig.getString("pay_type") != null) {
if (Strings.isNotBlank(scenicConfig.getString("pay_type"))) {
adapter = PayFactory.getAdapter(scenicConfig.getString("pay_type"));
adapter.loadConfig(scenicConfig.getObject("pay_config_json", Map.class));
} else {