You've already forked FrameTour-BE
refactor(repository):重构景区配置管理逻辑- 引入 ScenicConfigManager 管理配置信息
- 移除手动构建 configMap 的逻辑 - 修改 convertToScenicEntity 方法签名,支持传入配置管理器 - 使用 configManager 替代直接从 DTO 获取配置值的方式 - 统一配置项获取方式,增强代码可维护性与扩展性
This commit is contained in:
@@ -54,15 +54,7 @@ public class ScenicRepository {
|
|||||||
public ScenicEntity getScenic(Long id) {
|
public ScenicEntity getScenic(Long id) {
|
||||||
// 分别获取景区基础信息和配置信息
|
// 分别获取景区基础信息和配置信息
|
||||||
ScenicV2DTO scenicBasic = scenicIntegrationService.getScenic(id);
|
ScenicV2DTO scenicBasic = scenicIntegrationService.getScenic(id);
|
||||||
List<ScenicConfigV2DTO> configList = scenicConfigIntegrationService.listConfigs(id);
|
ScenicConfigManager configManager = getScenicConfigManager(id);
|
||||||
|
|
||||||
// 将配置列表转换为Map
|
|
||||||
Map<String, Object> configMap = new HashMap<>();
|
|
||||||
if (configList != null) {
|
|
||||||
for (ScenicConfigV2DTO config : configList) {
|
|
||||||
configMap.put(config.getConfigKey(), config.getConfigValue());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 手动组合成WithConfig对象用于转换
|
// 手动组合成WithConfig对象用于转换
|
||||||
ScenicV2WithConfigDTO scenicWithConfig = new ScenicV2WithConfigDTO();
|
ScenicV2WithConfigDTO scenicWithConfig = new ScenicV2WithConfigDTO();
|
||||||
@@ -70,9 +62,8 @@ public class ScenicRepository {
|
|||||||
scenicWithConfig.setName(scenicBasic.getName());
|
scenicWithConfig.setName(scenicBasic.getName());
|
||||||
scenicWithConfig.setMpId(scenicBasic.getMpId());
|
scenicWithConfig.setMpId(scenicBasic.getMpId());
|
||||||
scenicWithConfig.setStatus(scenicBasic.getStatus());
|
scenicWithConfig.setStatus(scenicBasic.getStatus());
|
||||||
scenicWithConfig.setConfig(configMap);
|
|
||||||
|
|
||||||
ScenicEntity scenicEntity = convertToScenicEntity(scenicWithConfig);
|
ScenicEntity scenicEntity = convertToScenicEntity(scenicWithConfig, configManager);
|
||||||
return scenicEntity;
|
return scenicEntity;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -239,7 +230,7 @@ public class ScenicRepository {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private ScenicEntity convertToScenicEntity(ScenicV2WithConfigDTO dto) {
|
private ScenicEntity convertToScenicEntity(ScenicV2WithConfigDTO dto, ScenicConfigManager configManager) {
|
||||||
if (dto == null) {
|
if (dto == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@@ -248,19 +239,17 @@ public class ScenicRepository {
|
|||||||
entity.setName(dto.getName());
|
entity.setName(dto.getName());
|
||||||
entity.setMpId(dto.getMpId());
|
entity.setMpId(dto.getMpId());
|
||||||
entity.setStatus(dto.getStatus().toString());
|
entity.setStatus(dto.getStatus().toString());
|
||||||
if (dto.getConfig() != null) {
|
entity.setAddress(configManager.getString("address"));
|
||||||
entity.setAddress(ConfigValueUtil.getStringValue(dto.getConfig(), "address"));
|
entity.setArea(configManager.getString("area"));
|
||||||
entity.setArea(ConfigValueUtil.getStringValue(dto.getConfig(), "area"));
|
entity.setCity(configManager.getString("city"));
|
||||||
entity.setCity(ConfigValueUtil.getStringValue(dto.getConfig(), "city"));
|
entity.setProvince(configManager.getString("province"));
|
||||||
entity.setProvince(ConfigValueUtil.getStringValue(dto.getConfig(), "province"));
|
entity.setLatitude(configManager.getBigDecimal("latitude"));
|
||||||
entity.setLatitude(ConfigValueUtil.getBigDecimalValue(dto.getConfig(), "latitude"));
|
entity.setLongitude(configManager.getBigDecimal("longitude"));
|
||||||
entity.setLongitude(ConfigValueUtil.getBigDecimalValue(dto.getConfig(), "longitude"));
|
entity.setRadius(configManager.getBigDecimal("radius"));
|
||||||
entity.setRadius(ConfigValueUtil.getBigDecimalValue(dto.getConfig(), "radius"));
|
entity.setPhone(configManager.getString("phone"));
|
||||||
entity.setPhone(ConfigValueUtil.getStringValue(dto.getConfig(), "phone"));
|
entity.setLogoUrl(configManager.getString("logo_url"));
|
||||||
entity.setLogoUrl(ConfigValueUtil.getStringValue(dto.getConfig(), "logoUrl"));
|
entity.setCoverUrl(configManager.getString("cover_url"));
|
||||||
entity.setCoverUrl(ConfigValueUtil.getStringValue(dto.getConfig(), "coverUrl"));
|
entity.setKfCodeUrl(configManager.getString("kf_code_url"));
|
||||||
entity.setKfCodeUrl(ConfigValueUtil.getStringValue(dto.getConfig(), "kfCodeUrl"));
|
|
||||||
}
|
|
||||||
return entity;
|
return entity;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user