光伏设备实时数据封装

This commit is contained in:
mi9688 2024-11-15 09:58:43 +08:00
parent 3d84b71d00
commit 707d027f30
5 changed files with 112 additions and 115 deletions

View File

@ -1,19 +1,11 @@
package com.fastbee.deviceData.api.devlink.service; package com.fastbee.deviceData.api.devlink.service;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.fastbee.common.utils.DateUtils;
import com.fastbee.deviceData.domain.DeviceRealtimedataMeteorology; import com.fastbee.deviceData.domain.DeviceRealtimedataMeteorology;
import com.fastbee.deviceData.mapper.DeviceRealtimedataMeteorologyMapper; import com.fastbee.deviceData.mapper.DeviceRealtimedataMeteorologyMapper;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Objects;
/** /**
* devLink气象设备数据服务 * devLink气象设备数据服务

View File

@ -20,7 +20,7 @@ public class DevLinkPhotovoltaicDataService extends DevLinkRealTimeDataService{
DeviceRealtimedataPhotovoltaic photovoltaic = DeviceRealtimedataPhotovoltaic.builder() DeviceRealtimedataPhotovoltaic photovoltaic = DeviceRealtimedataPhotovoltaic.builder()
.airTemp(toBigDecimalValue(propertiesMap.get("airTemp"))) .airTemp(toBigDecimalValue(propertiesMap.get("airTemp")))
.mppTemp(toBigDecimalValue(propertiesMap.get("mppTemp"))) .mppTemp(toBigDecimalValue(propertiesMap.get("mppTemp")))
.batteryCap(Long.parseLong(propertiesMap.get("batteryCap"))) .batteryCap(toBigDecimalValue(propertiesMap.get("batteryCap")))
.batteryVolt(toBigDecimalValue(propertiesMap.get("batteryVolt"))) .batteryVolt(toBigDecimalValue(propertiesMap.get("batteryVolt")))
.batteryCur(toBigDecimalValue(propertiesMap.get("batteryCur"))) .batteryCur(toBigDecimalValue(propertiesMap.get("batteryCur")))
.batteryPower(toBigDecimalValue(propertiesMap.get("batteryPower"))) .batteryPower(toBigDecimalValue(propertiesMap.get("batteryPower")))
@ -42,7 +42,7 @@ public class DevLinkPhotovoltaicDataService extends DevLinkRealTimeDataService{
.control(toBigDecimalValue(propertiesMap.get("control"))) .control(toBigDecimalValue(propertiesMap.get("control")))
.airTemp2(toBigDecimalValue(propertiesMap.get("airTemp_2"))) .airTemp2(toBigDecimalValue(propertiesMap.get("airTemp_2")))
.mppTemp2(toBigDecimalValue(propertiesMap.get("mppTemp_2"))) .mppTemp2(toBigDecimalValue(propertiesMap.get("mppTemp_2")))
.batteryCap2(Long.parseLong(propertiesMap.get("batteryCap_2"))) .batteryCap2(toBigDecimalValue(propertiesMap.get("batteryCap_2")))
.batteryVolt2(toBigDecimalValue(propertiesMap.get("batteryVolt_2"))) .batteryVolt2(toBigDecimalValue(propertiesMap.get("batteryVolt_2")))
.batteryCur2(toBigDecimalValue(propertiesMap.get("batteryCur_2"))) .batteryCur2(toBigDecimalValue(propertiesMap.get("batteryCur_2")))
.batteryPower2(toBigDecimalValue(propertiesMap.get("batteryPower_2"))) .batteryPower2(toBigDecimalValue(propertiesMap.get("batteryPower_2")))

View File

@ -27,11 +27,11 @@ public class RenKeAuthorizationService {
public String getToken(){ public String getToken(){
//判断token是否过期 //判断token是否过期
String cacheToken = stringRedisTemplate.opsForValue().get("renke:user:token"); // String cacheToken = stringRedisTemplate.opsForValue().get("renke:user:token");
if (!Objects.isNull(cacheToken)){ // if (!Objects.isNull(cacheToken)){
System.err.println("缓存中获取token:"+cacheToken); // System.err.println("缓存中获取token:"+cacheToken);
return cacheToken; // return cacheToken;
} // }
//获取token //获取token
//构建请求体 //构建请求体
Map<String,Object> reqBody =new HashMap<>(); Map<String,Object> reqBody =new HashMap<>();
@ -50,8 +50,9 @@ public class RenKeAuthorizationService {
int expDate = Integer.parseInt(tokenObject.get("expDate").toString()); int expDate = Integer.parseInt(tokenObject.get("expDate").toString());
Integer periodValidity= expDate - currDate; Integer periodValidity= expDate - currDate;
//将token存入redis //将token存入redis
stringRedisTemplate.opsForValue().set("renke:user:token", tokenObject.get("token").toString(),2, TimeUnit.HOURS); return tokenObject.get("token").toString();
System.err.println("请求获取到token:"+tokenObject.get("token").toString()); // stringRedisTemplate.opsForValue().set("renke:user:token", tokenObject.get("token").toString(),2, TimeUnit.HOURS);
return stringRedisTemplate.opsForValue().get("renke:user:token"); // System.err.println("请求获取到token:"+tokenObject.get("token").toString());
// return stringRedisTemplate.opsForValue().get("renke:user:token");
} }
} }

View File

@ -21,7 +21,8 @@ public class RenkeDeviceDataService {
*/ */
public void getDeviceRealtimeData(String deviceAddrs) { public void getDeviceRealtimeData(String deviceAddrs) {
//处理鉴权 //处理鉴权
String token = authenticationService.getToken(); // String token = authenticationService.getToken();
String token = new RenKeAuthorizationService().getToken();
//获取设备实时数据 //获取设备实时数据
HttpResponse response = HttpRequest.get("http://api.farm.0531yun.cn/api/v2.0/entrance/device/getRealTimeData") HttpResponse response = HttpRequest.get("http://api.farm.0531yun.cn/api/v2.0/entrance/device/getRealTimeData")
.header("token", token) .header("token", token)
@ -36,6 +37,9 @@ public class RenkeDeviceDataService {
System.err.println("设备实时数据:"+realtimeDataList); System.err.println("设备实时数据:"+realtimeDataList);
} }
//获取token public static void main(String[] args) {
RenkeDeviceDataService renkeDeviceDataService = new RenkeDeviceDataService();
renkeDeviceDataService.getDeviceRealtimeData("1017240042");
}
} }

View File

@ -15,13 +15,13 @@ import com.fastbee.common.core.domain.BaseEntity;
* 光伏设备实时数据对象 iot_device_realtimedata_photovoltaic * 光伏设备实时数据对象 iot_device_realtimedata_photovoltaic
* *
* @author kerwincui * @author kerwincui
* @date 2024-11-14 * @date 2024-11-15
*/ */
@ApiModel(value = "DeviceRealtimedataPhotovoltaic",description = "光伏设备实时数据 iot_device_realtimedata_photovoltaic") @ApiModel(value = "DeviceRealtimedataPhotovoltaic",description = "光伏设备实时数据 iot_device_realtimedata_photovoltaic")
@Data @Data
@Builder @Builder
@NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
public class DeviceRealtimedataPhotovoltaic extends BaseEntity public class DeviceRealtimedataPhotovoltaic extends BaseEntity
{ {
@ -48,7 +48,7 @@ private static final long serialVersionUID = 1L;
/** 1#电池电量 */ /** 1#电池电量 */
@Excel(name = "1#电池电量") @Excel(name = "1#电池电量")
@ApiModelProperty("1#电池电量") @ApiModelProperty("1#电池电量")
private Long batteryCap; private BigDecimal batteryCap;
/** 1#电池电压 */ /** 1#电池电压 */
@Excel(name = "1#电池电压") @Excel(name = "1#电池电压")
@ -158,7 +158,7 @@ private static final long serialVersionUID = 1L;
/** 2#电池电量 */ /** 2#电池电量 */
@Excel(name = "2#电池电量") @Excel(name = "2#电池电量")
@ApiModelProperty("2#电池电量") @ApiModelProperty("2#电池电量")
private Long batteryCap2; private BigDecimal batteryCap2;
/** 2#电池电压 */ /** 2#电池电压 */
@Excel(name = "2#电池电压") @Excel(name = "2#电池电压")