From 46fb255e66cd91c877ebc1d45f957f752e1a583c Mon Sep 17 00:00:00 2001 From: Jerry Yan <792602257@qq.com> Date: Thu, 28 Aug 2025 15:57:36 +0800 Subject: [PATCH] =?UTF-8?q?refactor(pc):=20=E9=87=8D=E6=9E=84=E6=99=AF?= =?UTF-8?q?=E5=8C=BA=E9=85=8D=E7=BD=AE=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 引入 ScenicConfigManager 类替代 ScenicConfigEntity - 优化景区存储、临时存储、本地存储、人脸身体识别和支付适配器的获取逻辑 - 使用 getString 和 getObject 方法替代直接解析 JSON 对象 --- .../service/pc/impl/ScenicServiceImpl.java | 41 ++++++++++--------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/ycwl/basic/service/pc/impl/ScenicServiceImpl.java b/src/main/java/com/ycwl/basic/service/pc/impl/ScenicServiceImpl.java index 2cfdf82..be753f2 100644 --- a/src/main/java/com/ycwl/basic/service/pc/impl/ScenicServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/pc/impl/ScenicServiceImpl.java @@ -12,6 +12,7 @@ import com.ycwl.basic.service.pc.ScenicService; import com.ycwl.basic.storage.StorageFactory; import com.ycwl.basic.storage.adapters.IStorageAdapter; import com.ycwl.basic.storage.exceptions.StorageUnsupportedException; +import com.ycwl.basic.util.ScenicConfigManager; import com.ycwl.basic.utils.ApiResponse; import com.ycwl.basic.utils.JacksonUtil; import lombok.extern.slf4j.Slf4j; @@ -43,11 +44,11 @@ public class ScenicServiceImpl implements ScenicService { public IStorageAdapter getScenicStorageAdapter(Long scenicId) { return scenicStorageAdapterMap.computeIfAbsent(scenicId, (key) -> { IStorageAdapter adapter; - ScenicConfigEntity scenicConfig = scenicRepository.getScenicConfig(scenicId); - if (scenicConfig != null && scenicConfig.getStoreType() != null) { + ScenicConfigManager scenicConfig = scenicRepository.getScenicConfigManager(scenicId); + if (scenicConfig.getString("store_type") != null) { try { - adapter = StorageFactory.get(scenicConfig.getStoreType()); - adapter.loadConfig(JacksonUtil.parseObject(scenicConfig.getStoreConfigJson(), Map.class)); + adapter = StorageFactory.get(scenicConfig.getString("store_type")); + adapter.loadConfig(scenicConfig.getObject("store_config_json", Map.class)); } catch (StorageUnsupportedException ignored) { return StorageFactory.use("video"); } @@ -62,11 +63,11 @@ public class ScenicServiceImpl implements ScenicService { public IStorageAdapter getScenicTmpStorageAdapter(Long scenicId) { return scenicTmpStorageAdapterMap.computeIfAbsent(scenicId, (key) -> { IStorageAdapter adapter; - ScenicConfigEntity scenicConfig = scenicRepository.getScenicConfig(scenicId); - if (scenicConfig != null && scenicConfig.getTmpStoreType() != null) { + ScenicConfigManager scenicConfig = scenicRepository.getScenicConfigManager(scenicId); + if (scenicConfig.getString("tmp_store_type") != null) { try { - adapter = StorageFactory.get(scenicConfig.getTmpStoreType()); - adapter.loadConfig(JacksonUtil.parseObject(scenicConfig.getTmpStoreConfigJson(), Map.class)); + adapter = StorageFactory.get(scenicConfig.getString("tmp_store_type")); + adapter.loadConfig(scenicConfig.getObject("tmp_store_config_json", Map.class)); } catch (StorageUnsupportedException ignored) { return getScenicStorageAdapter(scenicId); } @@ -81,11 +82,11 @@ public class ScenicServiceImpl implements ScenicService { public IStorageAdapter getScenicLocalStorageAdapter(Long scenicId) { return scenicLocalStorageAdapterMap.computeIfAbsent(scenicId, (key) -> { IStorageAdapter adapter; - ScenicConfigEntity scenicConfig = scenicRepository.getScenicConfig(scenicId); - if (scenicConfig != null && scenicConfig.getLocalStoreType() != null) { + ScenicConfigManager scenicConfig = scenicRepository.getScenicConfigManager(scenicId); + if (scenicConfig.getString("local_store_type") != null) { try { - adapter = StorageFactory.get(scenicConfig.getLocalStoreType()); - adapter.loadConfig(JacksonUtil.parseObject(scenicConfig.getLocalStoreConfigJson(), Map.class)); + adapter = StorageFactory.get(scenicConfig.getString("local_store_type")); + adapter.loadConfig(scenicConfig.getObject("local_store_config_json", Map.class)); } catch (StorageUnsupportedException ignored) { return getScenicStorageAdapter(scenicId); } @@ -101,10 +102,10 @@ public class ScenicServiceImpl implements ScenicService { public IFaceBodyAdapter getScenicFaceBodyAdapter(Long scenicId) { return scenicFaceBodyAdapterMap.computeIfAbsent(scenicId, (key) -> { IFaceBodyAdapter adapter; - ScenicConfigEntity scenicConfig = scenicRepository.getScenicConfig(scenicId); - if (scenicConfig != null && scenicConfig.getFaceType() != null) { - adapter = FaceBodyFactory.getAdapter(scenicConfig.getFaceType()); - adapter.loadConfig(JacksonUtil.parseObject(scenicConfig.getFaceConfigJson(), Map.class)); + ScenicConfigManager scenicConfig = scenicRepository.getScenicConfigManager(scenicId); + if (scenicConfig.getString("face_type") != null) { + adapter = FaceBodyFactory.getAdapter(scenicConfig.getString("face_type")); + adapter.loadConfig(scenicConfig.getObject("face_config_json", Map.class)); } else { adapter = FaceBodyFactory.use(); } @@ -117,10 +118,10 @@ public class ScenicServiceImpl implements ScenicService { public IPayAdapter getScenicPayAdapter(Long scenicId) { return scenicPayAdapterMap.computeIfAbsent(scenicId, (key) -> { IPayAdapter adapter; - ScenicConfigEntity scenicConfig = scenicRepository.getScenicConfig(scenicId); - if (scenicConfig != null && scenicConfig.getPayType() != null) { - adapter = PayFactory.getAdapter(scenicConfig.getPayType()); - adapter.loadConfig(JacksonUtil.parseObject(scenicConfig.getPayConfigJson(), Map.class)); + ScenicConfigManager scenicConfig = scenicRepository.getScenicConfigManager(scenicId); + if (scenicConfig.getString("pay_type") != null) { + adapter = PayFactory.getAdapter(scenicConfig.getString("pay_type")); + adapter.loadConfig(scenicConfig.getObject("pay_config_json", Map.class)); } else { adapter = PayFactory.use(); }