diff --git a/src/main/java/com/ycwl/basic/repository/DeviceRepository.java b/src/main/java/com/ycwl/basic/repository/DeviceRepository.java index 77d9121..46fe66f 100644 --- a/src/main/java/com/ycwl/basic/repository/DeviceRepository.java +++ b/src/main/java/com/ycwl/basic/repository/DeviceRepository.java @@ -31,8 +31,6 @@ public class DeviceRepository { public static final String DEVICE_ONLINE_CACHE_KEY = "device:online_status:%s"; public static final String DEVICE_CACHE_KEY = "device:%s"; public static final String DEVICE_CONFIG_CACHE_KEY = "device:%s:config"; - public static final String DEVICE_CACHE_SUCCESS_KEY = "device:success:%s"; - public static final String DEVICE_NO_CACHE_SUCCESS_KEY = "device:success:no:%s"; /** * 将DeviceV2DTO转换为DeviceEntity @@ -60,52 +58,16 @@ public class DeviceRepository { public DeviceEntity getDevice(Long deviceId) { log.debug("获取设备信息, deviceId: {}", deviceId); - try { - DeviceV2DTO deviceDto = deviceIntegrationService.getDevice(deviceId); - DeviceEntity device = convertToEntity(deviceDto); - if (device != null) { - // 存储到常规缓存 - redisTemplate.opsForValue().set(String.format(DEVICE_CACHE_KEY, deviceId), JacksonUtil.toJSONString(device), 3, TimeUnit.DAYS); - // 存储到成功结果缓存,用于失败时降级 - redisTemplate.opsForValue().set(String.format(DEVICE_CACHE_SUCCESS_KEY, deviceId), JacksonUtil.toJSONString(device), 7, TimeUnit.DAYS); - } - return device; - } catch (Exception e) { - log.warn("调用zt-device服务失败, deviceId: {}, 尝试返回缓存结果", deviceId, e); - String cachedDevice = redisTemplate.opsForValue().get(String.format(DEVICE_CACHE_SUCCESS_KEY, deviceId)); - if (cachedDevice != null) { - log.info("返回缓存的设备信息, deviceId: {}", deviceId); - return JacksonUtil.parseObject(cachedDevice, DeviceEntity.class); - } - log.error("无法获取设备信息且无缓存数据, deviceId: {}", deviceId); - throw e; - } + DeviceV2DTO deviceDto = deviceIntegrationService.getDevice(deviceId); + DeviceEntity device = convertToEntity(deviceDto); + return device; } public DeviceEntity getDeviceByDeviceNo(String deviceNo) { log.debug("根据设备编号获取设备信息, deviceNo: {}", deviceNo); - try { - DeviceV2DTO deviceDto = deviceIntegrationService.getDeviceByNo(deviceNo); - DeviceEntity device = convertToEntity(deviceDto); - if (device != null) { - // 存储到常规缓存 - redisTemplate.opsForValue().set(String.format(DEVICE_CACHE_KEY, deviceNo), JacksonUtil.toJSONString(device), 3, TimeUnit.DAYS); - redisTemplate.opsForValue().set(String.format(DEVICE_CACHE_KEY, device.getId()), JacksonUtil.toJSONString(device), 3, TimeUnit.DAYS); - // 存储到成功结果缓存,用于失败时降级 - redisTemplate.opsForValue().set(String.format(DEVICE_NO_CACHE_SUCCESS_KEY, deviceNo), JacksonUtil.toJSONString(device), 7, TimeUnit.DAYS); - redisTemplate.opsForValue().set(String.format(DEVICE_CACHE_SUCCESS_KEY, device.getId()), JacksonUtil.toJSONString(device), 7, TimeUnit.DAYS); - } - return device; - } catch (Exception e) { - log.warn("调用zt-device服务失败, deviceNo: {}, 尝试返回缓存结果", deviceNo, e); - String cachedDevice = redisTemplate.opsForValue().get(String.format(DEVICE_NO_CACHE_SUCCESS_KEY, deviceNo)); - if (cachedDevice != null) { - log.info("返回缓存的设备信息, deviceNo: {}", deviceNo); - return JacksonUtil.parseObject(cachedDevice, DeviceEntity.class); - } - log.error("无法获取设备信息且无缓存数据, deviceNo: {}", deviceNo); - throw e; - } + DeviceV2DTO deviceDto = deviceIntegrationService.getDeviceByNo(deviceNo); + DeviceEntity device = convertToEntity(deviceDto); + return device; } public DeviceConfigEntity getDeviceConfig(Long deviceId) { @@ -137,8 +99,6 @@ public class DeviceRepository { } } redisTemplate.delete(String.format(DEVICE_CACHE_KEY, deviceNo)); - // 清理成功结果缓存 - redisTemplate.delete(String.format(DEVICE_NO_CACHE_SUCCESS_KEY, deviceNo)); return true; } public boolean clearDeviceCache(Long deviceId) { @@ -149,8 +109,6 @@ public class DeviceRepository { } redisTemplate.delete(String.format(DEVICE_CACHE_KEY, deviceId)); redisTemplate.delete(String.format(DEVICE_CONFIG_CACHE_KEY, deviceId)); - // 清理成功结果缓存 - redisTemplate.delete(String.format(DEVICE_CACHE_SUCCESS_KEY, deviceId)); return true; } diff --git a/src/main/java/com/ycwl/basic/repository/ScenicRepository.java b/src/main/java/com/ycwl/basic/repository/ScenicRepository.java index 1075949..4d88f41 100644 --- a/src/main/java/com/ycwl/basic/repository/ScenicRepository.java +++ b/src/main/java/com/ycwl/basic/repository/ScenicRepository.java @@ -49,51 +49,15 @@ public class ScenicRepository { public ScenicV2DTO getScenicBasic(Long id) { String key = String.format(SCENIC_BASIC_CACHE_KEY, id); - try { - ScenicV2DTO scenicDTO = scenicIntegrationService.getScenic(id); - - // 请求成功,写入缓存 - if (scenicDTO != null) { - redisTemplate.opsForValue().set( - key, - JacksonUtil.toJSONString(scenicDTO) - ); - } - return scenicDTO; - } catch (Exception e) { - // 请求失败,尝试从缓存获取历史成功数据 - String cacheKey = key; - if (redisTemplate.hasKey(cacheKey)) { - return JacksonUtil.parseObject(redisTemplate.opsForValue().get(cacheKey), ScenicV2DTO.class); - } - // 缓存也没有,返回null - return null; - } + ScenicV2DTO scenicDTO = scenicIntegrationService.getScenic(id); + return scenicDTO; } public ScenicEntity getScenic(Long id) { String key = String.format(SCENIC_CACHE_KEY, id); - try { - ScenicV2WithConfigDTO scenicDTO = scenicIntegrationService.getScenicWithConfig(id); - ScenicEntity scenicEntity = convertToScenicEntity(scenicDTO); - - // 请求成功,写入缓存 - if (scenicEntity != null) { - redisTemplate.opsForValue().set( - key, - JacksonUtil.toJSONString(scenicEntity) - ); - } - return scenicEntity; - } catch (Exception e) { - // 请求失败,尝试从缓存获取历史成功数据 - String cacheKey = key; - if (redisTemplate.hasKey(cacheKey)) { - return JacksonUtil.parseObject(redisTemplate.opsForValue().get(cacheKey), ScenicEntity.class); - } - // 缓存也没有,返回null - return null; - } + ScenicV2WithConfigDTO scenicDTO = scenicIntegrationService.getScenicWithConfig(id); + ScenicEntity scenicEntity = convertToScenicEntity(scenicDTO); + return scenicEntity; } public ScenicConfigEntity getScenicConfig(Long scenicId) { @@ -384,38 +348,13 @@ public class ScenicRepository { public ScenicConfigManager getScenicConfigManagerWithCache(Long scenicId) { String key = String.format(SCENIC_CONFIG_CACHE_KEY + ":manager", scenicId); - try { - List configList = - scenicConfigIntegrationService.listConfigs(scenicId); - if (configList != null) { - ScenicConfigManager manager = new ScenicConfigManager(configList); - - // 请求成功,写入缓存(将配置列表序列化存储) - redisTemplate.opsForValue().set( - key, - JacksonUtil.toJSONString(configList) - ); - - return manager; - } - return null; - } catch (Exception e) { - // 请求失败,尝试从缓存获取历史成功数据 - if (redisTemplate.hasKey(key)) { - try { - String cachedConfigJson = redisTemplate.opsForValue().get(key); - @SuppressWarnings("unchecked") - List cachedConfigList = - JacksonUtil.parseArray(cachedConfigJson, ScenicConfigV2DTO.class); - return new ScenicConfigManager(cachedConfigList); - } catch (Exception cacheException) { - // 缓存解析失败,返回null - return null; - } - } - // 缓存也没有,返回null - return null; + List configList = + scenicConfigIntegrationService.listConfigs(scenicId); + if (configList != null) { + ScenicConfigManager manager = new ScenicConfigManager(configList); + return manager; } + return null; } }