fix (farm): 土壤传感器

- 缓存至redis
This commit is contained in:
达富斌
2025-10-09 19:06:27 +08:00
parent 2fe5577931
commit 634dc66aee
2 changed files with 18 additions and 1 deletions

View File

@@ -18,4 +18,5 @@ public class RealTimeDataReqVO {
* tips: 多个用英文逗号分隔,空为获取当前用户下的所有设备 * tips: 多个用英文逗号分隔,空为获取当前用户下的所有设备
*/ */
private String deviceAddrs; private String deviceAddrs;
private Long tenantId;
} }

View File

@@ -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.service.TokenCacheService;
import cn.iocoder.yudao.module.farm.manager.equipmentproducer.utils.HttpClientUtils; import cn.iocoder.yudao.module.farm.manager.equipmentproducer.utils.HttpClientUtils;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.*; import java.util.*;
@@ -36,11 +37,14 @@ public class SoilService extends AbstractDeviceService {
private final HistoryDataStorageService historyDataStorageService; private final HistoryDataStorageService historyDataStorageService;
private final DeviceConf deviceConf; private final DeviceConf deviceConf;
private final HttpClientUtils httpClientUtils; 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.historyDataStorageService = historyDataStorageService;
this.deviceConf = deviceConf; this.deviceConf = deviceConf;
this.httpClientUtils = httpClientUtils; this.httpClientUtils = httpClientUtils;
this.stringRedisTemplate = stringRedisTemplate;
} }
@Override @Override
@@ -95,6 +99,9 @@ public class SoilService extends AbstractDeviceService {
// 调用土壤设备厂商API获取实时数据 GET 请求方式 // 调用土壤设备厂商API获取实时数据 GET 请求方式
RealTimeDataRespVO vendorResponse = callSoilRealTimeDataApi(token, soilRequest); RealTimeDataRespVO vendorResponse = callSoilRealTimeDataApi(token, soilRequest);
// 加入redis缓存
this.storeDataToRedis(soilRequest, vendorResponse);
// 直接返回原始响应数据,不进行统一转换 // 直接返回原始响应数据,不进行统一转换
return RealTimeDataResponse.success(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 @Override
protected HistoryDataResponse doGetHistoryData(String token, Object historyRequest) { protected HistoryDataResponse doGetHistoryData(String token, Object historyRequest) {
try { try {