refactor(basic): 重构景区配置获取方法并优化配置管理初始化

- 在 ScenicConfigIntegrationService 中使用 fallback 机制封装景区配置获取方法
- 优化 ScenicRepository 中的 getScenicConfigManager 方法,提高代码健壮性
This commit is contained in:
2025-09-08 10:47:30 +08:00
parent c3101ceb6b
commit c1d61f4ed5
2 changed files with 21 additions and 8 deletions

View File

@@ -24,14 +24,28 @@ public class ScenicConfigIntegrationService {
public List<ScenicConfigV2DTO> listConfigs(Long scenicId) {
log.info("获取景区配置列表, scenicId: {}", scenicId);
CommonResponse<List<ScenicConfigV2DTO>> response = scenicConfigV2Client.listConfigs(scenicId);
return handleResponse(response, "获取景区配置列表失败");
return fallbackService.executeWithFallback(
SERVICE_NAME,
"scenic:configs:" + scenicId,
() -> {
CommonResponse<List<ScenicConfigV2DTO>> response = scenicConfigV2Client.listConfigs(scenicId);
return handleResponse(response, "获取景区配置列表失败");
},
List.class
);
}
public ScenicConfigV2DTO getConfigByKey(Long scenicId, String configKey) {
log.info("根据键获取景区配置, scenicId: {}, configKey: {}", scenicId, configKey);
CommonResponse<ScenicConfigV2DTO> response = scenicConfigV2Client.getConfigByKey(scenicId, configKey);
return handleResponse(response, "根据键获取景区配置失败");
return fallbackService.executeWithFallback(
SERVICE_NAME,
"scenic:config:" + scenicId + ":" + configKey,
() -> {
CommonResponse<ScenicConfigV2DTO> response = scenicConfigV2Client.getConfigByKey(scenicId, configKey);
return handleResponse(response, "根据键获取景区配置失败");
},
ScenicConfigV2DTO.class
);
}
public Map<String, Object> getFlatConfigs(Long scenicId) {