You've already forked FrameTour-BE
refactor(pc): 重构景区配置管理
- 引入 ScenicConfigManager 类替代 ScenicConfigEntity - 优化景区存储、临时存储、本地存储、人脸身体识别和支付适配器的获取逻辑 - 使用 getString 和 getObject 方法替代直接解析 JSON 对象
This commit is contained in:
@@ -12,6 +12,7 @@ import com.ycwl.basic.service.pc.ScenicService;
|
|||||||
import com.ycwl.basic.storage.StorageFactory;
|
import com.ycwl.basic.storage.StorageFactory;
|
||||||
import com.ycwl.basic.storage.adapters.IStorageAdapter;
|
import com.ycwl.basic.storage.adapters.IStorageAdapter;
|
||||||
import com.ycwl.basic.storage.exceptions.StorageUnsupportedException;
|
import com.ycwl.basic.storage.exceptions.StorageUnsupportedException;
|
||||||
|
import com.ycwl.basic.util.ScenicConfigManager;
|
||||||
import com.ycwl.basic.utils.ApiResponse;
|
import com.ycwl.basic.utils.ApiResponse;
|
||||||
import com.ycwl.basic.utils.JacksonUtil;
|
import com.ycwl.basic.utils.JacksonUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@@ -43,11 +44,11 @@ public class ScenicServiceImpl implements ScenicService {
|
|||||||
public IStorageAdapter getScenicStorageAdapter(Long scenicId) {
|
public IStorageAdapter getScenicStorageAdapter(Long scenicId) {
|
||||||
return scenicStorageAdapterMap.computeIfAbsent(scenicId, (key) -> {
|
return scenicStorageAdapterMap.computeIfAbsent(scenicId, (key) -> {
|
||||||
IStorageAdapter adapter;
|
IStorageAdapter adapter;
|
||||||
ScenicConfigEntity scenicConfig = scenicRepository.getScenicConfig(scenicId);
|
ScenicConfigManager scenicConfig = scenicRepository.getScenicConfigManager(scenicId);
|
||||||
if (scenicConfig != null && scenicConfig.getStoreType() != null) {
|
if (scenicConfig.getString("store_type") != null) {
|
||||||
try {
|
try {
|
||||||
adapter = StorageFactory.get(scenicConfig.getStoreType());
|
adapter = StorageFactory.get(scenicConfig.getString("store_type"));
|
||||||
adapter.loadConfig(JacksonUtil.parseObject(scenicConfig.getStoreConfigJson(), Map.class));
|
adapter.loadConfig(scenicConfig.getObject("store_config_json", Map.class));
|
||||||
} catch (StorageUnsupportedException ignored) {
|
} catch (StorageUnsupportedException ignored) {
|
||||||
return StorageFactory.use("video");
|
return StorageFactory.use("video");
|
||||||
}
|
}
|
||||||
@@ -62,11 +63,11 @@ public class ScenicServiceImpl implements ScenicService {
|
|||||||
public IStorageAdapter getScenicTmpStorageAdapter(Long scenicId) {
|
public IStorageAdapter getScenicTmpStorageAdapter(Long scenicId) {
|
||||||
return scenicTmpStorageAdapterMap.computeIfAbsent(scenicId, (key) -> {
|
return scenicTmpStorageAdapterMap.computeIfAbsent(scenicId, (key) -> {
|
||||||
IStorageAdapter adapter;
|
IStorageAdapter adapter;
|
||||||
ScenicConfigEntity scenicConfig = scenicRepository.getScenicConfig(scenicId);
|
ScenicConfigManager scenicConfig = scenicRepository.getScenicConfigManager(scenicId);
|
||||||
if (scenicConfig != null && scenicConfig.getTmpStoreType() != null) {
|
if (scenicConfig.getString("tmp_store_type") != null) {
|
||||||
try {
|
try {
|
||||||
adapter = StorageFactory.get(scenicConfig.getTmpStoreType());
|
adapter = StorageFactory.get(scenicConfig.getString("tmp_store_type"));
|
||||||
adapter.loadConfig(JacksonUtil.parseObject(scenicConfig.getTmpStoreConfigJson(), Map.class));
|
adapter.loadConfig(scenicConfig.getObject("tmp_store_config_json", Map.class));
|
||||||
} catch (StorageUnsupportedException ignored) {
|
} catch (StorageUnsupportedException ignored) {
|
||||||
return getScenicStorageAdapter(scenicId);
|
return getScenicStorageAdapter(scenicId);
|
||||||
}
|
}
|
||||||
@@ -81,11 +82,11 @@ public class ScenicServiceImpl implements ScenicService {
|
|||||||
public IStorageAdapter getScenicLocalStorageAdapter(Long scenicId) {
|
public IStorageAdapter getScenicLocalStorageAdapter(Long scenicId) {
|
||||||
return scenicLocalStorageAdapterMap.computeIfAbsent(scenicId, (key) -> {
|
return scenicLocalStorageAdapterMap.computeIfAbsent(scenicId, (key) -> {
|
||||||
IStorageAdapter adapter;
|
IStorageAdapter adapter;
|
||||||
ScenicConfigEntity scenicConfig = scenicRepository.getScenicConfig(scenicId);
|
ScenicConfigManager scenicConfig = scenicRepository.getScenicConfigManager(scenicId);
|
||||||
if (scenicConfig != null && scenicConfig.getLocalStoreType() != null) {
|
if (scenicConfig.getString("local_store_type") != null) {
|
||||||
try {
|
try {
|
||||||
adapter = StorageFactory.get(scenicConfig.getLocalStoreType());
|
adapter = StorageFactory.get(scenicConfig.getString("local_store_type"));
|
||||||
adapter.loadConfig(JacksonUtil.parseObject(scenicConfig.getLocalStoreConfigJson(), Map.class));
|
adapter.loadConfig(scenicConfig.getObject("local_store_config_json", Map.class));
|
||||||
} catch (StorageUnsupportedException ignored) {
|
} catch (StorageUnsupportedException ignored) {
|
||||||
return getScenicStorageAdapter(scenicId);
|
return getScenicStorageAdapter(scenicId);
|
||||||
}
|
}
|
||||||
@@ -101,10 +102,10 @@ public class ScenicServiceImpl implements ScenicService {
|
|||||||
public IFaceBodyAdapter getScenicFaceBodyAdapter(Long scenicId) {
|
public IFaceBodyAdapter getScenicFaceBodyAdapter(Long scenicId) {
|
||||||
return scenicFaceBodyAdapterMap.computeIfAbsent(scenicId, (key) -> {
|
return scenicFaceBodyAdapterMap.computeIfAbsent(scenicId, (key) -> {
|
||||||
IFaceBodyAdapter adapter;
|
IFaceBodyAdapter adapter;
|
||||||
ScenicConfigEntity scenicConfig = scenicRepository.getScenicConfig(scenicId);
|
ScenicConfigManager scenicConfig = scenicRepository.getScenicConfigManager(scenicId);
|
||||||
if (scenicConfig != null && scenicConfig.getFaceType() != null) {
|
if (scenicConfig.getString("face_type") != null) {
|
||||||
adapter = FaceBodyFactory.getAdapter(scenicConfig.getFaceType());
|
adapter = FaceBodyFactory.getAdapter(scenicConfig.getString("face_type"));
|
||||||
adapter.loadConfig(JacksonUtil.parseObject(scenicConfig.getFaceConfigJson(), Map.class));
|
adapter.loadConfig(scenicConfig.getObject("face_config_json", Map.class));
|
||||||
} else {
|
} else {
|
||||||
adapter = FaceBodyFactory.use();
|
adapter = FaceBodyFactory.use();
|
||||||
}
|
}
|
||||||
@@ -117,10 +118,10 @@ public class ScenicServiceImpl implements ScenicService {
|
|||||||
public IPayAdapter getScenicPayAdapter(Long scenicId) {
|
public IPayAdapter getScenicPayAdapter(Long scenicId) {
|
||||||
return scenicPayAdapterMap.computeIfAbsent(scenicId, (key) -> {
|
return scenicPayAdapterMap.computeIfAbsent(scenicId, (key) -> {
|
||||||
IPayAdapter adapter;
|
IPayAdapter adapter;
|
||||||
ScenicConfigEntity scenicConfig = scenicRepository.getScenicConfig(scenicId);
|
ScenicConfigManager scenicConfig = scenicRepository.getScenicConfigManager(scenicId);
|
||||||
if (scenicConfig != null && scenicConfig.getPayType() != null) {
|
if (scenicConfig.getString("pay_type") != null) {
|
||||||
adapter = PayFactory.getAdapter(scenicConfig.getPayType());
|
adapter = PayFactory.getAdapter(scenicConfig.getString("pay_type"));
|
||||||
adapter.loadConfig(JacksonUtil.parseObject(scenicConfig.getPayConfigJson(), Map.class));
|
adapter.loadConfig(scenicConfig.getObject("pay_config_json", Map.class));
|
||||||
} else {
|
} else {
|
||||||
adapter = PayFactory.use();
|
adapter = PayFactory.use();
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user