diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/manager/equipmentproducer/dto/soil/realtime/RealTimeDataReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/manager/equipmentproducer/dto/soil/realtime/RealTimeDataReqVO.java index 7b4c25dc..79cb7942 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/manager/equipmentproducer/dto/soil/realtime/RealTimeDataReqVO.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/manager/equipmentproducer/dto/soil/realtime/RealTimeDataReqVO.java @@ -18,4 +18,5 @@ public class RealTimeDataReqVO { * tips: 多个用英文逗号分隔,空为获取当前用户下的所有设备 */ private String deviceAddrs; + private Long tenantId; } diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/manager/equipmentproducer/service/impl/SoilService.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/manager/equipmentproducer/service/impl/SoilService.java index 29bb9c2a..e9557aeb 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/manager/equipmentproducer/service/impl/SoilService.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/manager/equipmentproducer/service/impl/SoilService.java @@ -19,6 +19,7 @@ import cn.iocoder.yudao.module.farm.manager.equipmentproducer.service.HistoryDat import cn.iocoder.yudao.module.farm.manager.equipmentproducer.service.TokenCacheService; import cn.iocoder.yudao.module.farm.manager.equipmentproducer.utils.HttpClientUtils; import lombok.extern.slf4j.Slf4j; +import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Service; import java.util.*; @@ -36,11 +37,14 @@ public class SoilService extends AbstractDeviceService { private final HistoryDataStorageService historyDataStorageService; private final DeviceConf deviceConf; private final HttpClientUtils httpClientUtils; + private final StringRedisTemplate stringRedisTemplate; - public SoilService(HistoryDataStorageService historyDataStorageService, DeviceConf deviceConf, HttpClientUtils httpClientUtils) { + + public SoilService(HistoryDataStorageService historyDataStorageService, DeviceConf deviceConf, HttpClientUtils httpClientUtils, StringRedisTemplate stringRedisTemplate) { this.historyDataStorageService = historyDataStorageService; this.deviceConf = deviceConf; this.httpClientUtils = httpClientUtils; + this.stringRedisTemplate = stringRedisTemplate; } @Override @@ -95,6 +99,9 @@ public class SoilService extends AbstractDeviceService { // 调用土壤设备厂商API获取实时数据 GET 请求方式 RealTimeDataRespVO vendorResponse = callSoilRealTimeDataApi(token, soilRequest); + // 加入redis缓存 + this.storeDataToRedis(soilRequest, vendorResponse); + // 直接返回原始响应数据,不进行统一转换 return RealTimeDataResponse.success(vendorResponse); @@ -103,6 +110,15 @@ public class SoilService extends AbstractDeviceService { } } + private void storeDataToRedis(RealTimeDataReqVO soilRequest, RealTimeDataRespVO vendorResponse) { + if (vendorResponse == null || vendorResponse.getData() == null || vendorResponse.getData().isEmpty()) { + return; + } + + Long tenantId = soilRequest.getTenantId(); + + } + @Override protected HistoryDataResponse doGetHistoryData(String token, Object historyRequest) { try {