diff --git a/src/main/java/com/ycwl/basic/repository/ScenicRepository.java b/src/main/java/com/ycwl/basic/repository/ScenicRepository.java index 7bc87c40..7c71c1e7 100644 --- a/src/main/java/com/ycwl/basic/repository/ScenicRepository.java +++ b/src/main/java/com/ycwl/basic/repository/ScenicRepository.java @@ -54,15 +54,7 @@ public class ScenicRepository { public ScenicEntity getScenic(Long id) { // 分别获取景区基础信息和配置信息 ScenicV2DTO scenicBasic = scenicIntegrationService.getScenic(id); - List configList = scenicConfigIntegrationService.listConfigs(id); - - // 将配置列表转换为Map - Map configMap = new HashMap<>(); - if (configList != null) { - for (ScenicConfigV2DTO config : configList) { - configMap.put(config.getConfigKey(), config.getConfigValue()); - } - } + ScenicConfigManager configManager = getScenicConfigManager(id); // 手动组合成WithConfig对象用于转换 ScenicV2WithConfigDTO scenicWithConfig = new ScenicV2WithConfigDTO(); @@ -70,9 +62,8 @@ public class ScenicRepository { scenicWithConfig.setName(scenicBasic.getName()); scenicWithConfig.setMpId(scenicBasic.getMpId()); scenicWithConfig.setStatus(scenicBasic.getStatus()); - scenicWithConfig.setConfig(configMap); - ScenicEntity scenicEntity = convertToScenicEntity(scenicWithConfig); + ScenicEntity scenicEntity = convertToScenicEntity(scenicWithConfig, configManager); return scenicEntity; } @@ -239,7 +230,7 @@ public class ScenicRepository { } } - private ScenicEntity convertToScenicEntity(ScenicV2WithConfigDTO dto) { + private ScenicEntity convertToScenicEntity(ScenicV2WithConfigDTO dto, ScenicConfigManager configManager) { if (dto == null) { return null; } @@ -248,19 +239,17 @@ public class ScenicRepository { entity.setName(dto.getName()); entity.setMpId(dto.getMpId()); entity.setStatus(dto.getStatus().toString()); - if (dto.getConfig() != null) { - entity.setAddress(ConfigValueUtil.getStringValue(dto.getConfig(), "address")); - entity.setArea(ConfigValueUtil.getStringValue(dto.getConfig(), "area")); - entity.setCity(ConfigValueUtil.getStringValue(dto.getConfig(), "city")); - entity.setProvince(ConfigValueUtil.getStringValue(dto.getConfig(), "province")); - entity.setLatitude(ConfigValueUtil.getBigDecimalValue(dto.getConfig(), "latitude")); - entity.setLongitude(ConfigValueUtil.getBigDecimalValue(dto.getConfig(), "longitude")); - entity.setRadius(ConfigValueUtil.getBigDecimalValue(dto.getConfig(), "radius")); - entity.setPhone(ConfigValueUtil.getStringValue(dto.getConfig(), "phone")); - entity.setLogoUrl(ConfigValueUtil.getStringValue(dto.getConfig(), "logoUrl")); - entity.setCoverUrl(ConfigValueUtil.getStringValue(dto.getConfig(), "coverUrl")); - entity.setKfCodeUrl(ConfigValueUtil.getStringValue(dto.getConfig(), "kfCodeUrl")); - } + entity.setAddress(configManager.getString("address")); + entity.setArea(configManager.getString("area")); + entity.setCity(configManager.getString("city")); + entity.setProvince(configManager.getString("province")); + entity.setLatitude(configManager.getBigDecimal("latitude")); + entity.setLongitude(configManager.getBigDecimal("longitude")); + entity.setRadius(configManager.getBigDecimal("radius")); + entity.setPhone(configManager.getString("phone")); + entity.setLogoUrl(configManager.getString("logo_url")); + entity.setCoverUrl(configManager.getString("cover_url")); + entity.setKfCodeUrl(configManager.getString("kf_code_url")); return entity; }