fix (farm): 土壤传感器
- 缓存至redis
This commit is contained in:
@@ -18,4 +18,5 @@ public class RealTimeDataReqVO {
|
|||||||
* tips: 多个用英文逗号分隔,空为获取当前用户下的所有设备
|
* tips: 多个用英文逗号分隔,空为获取当前用户下的所有设备
|
||||||
*/
|
*/
|
||||||
private String deviceAddrs;
|
private String deviceAddrs;
|
||||||
|
private Long tenantId;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
Reference in New Issue
Block a user