This commit is contained in:
parent
7530b9b119
commit
aba19deb5b
|
|
@ -20,6 +20,9 @@ public class TuohengRealTimeData {
|
||||||
@JsonProperty("nestCharger")
|
@JsonProperty("nestCharger")
|
||||||
private TuohengResponse<TuohengChargerData> nestCharger;
|
private TuohengResponse<TuohengChargerData> nestCharger;
|
||||||
|
|
||||||
|
@JsonProperty("nestDoor")
|
||||||
|
private TuohengResponse<TuohengDoorData> nestDoor;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public static class TuohengResponse<T> {
|
public static class TuohengResponse<T> {
|
||||||
@JsonProperty("msg")
|
@JsonProperty("msg")
|
||||||
|
|
@ -157,4 +160,10 @@ public class TuohengRealTimeData {
|
||||||
@JsonProperty("voltage")
|
@JsonProperty("voltage")
|
||||||
private String voltage;
|
private String voltage;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public static class TuohengDoorData {
|
||||||
|
@JsonProperty("status")
|
||||||
|
private Integer status; // 1=开仓, 2=关仓
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -117,6 +117,9 @@ public class TuohengService {
|
||||||
// 同步无人机开关机状态
|
// 同步无人机开关机状态
|
||||||
syncDronePowerState(deviceSn, data);
|
syncDronePowerState(deviceSn, data);
|
||||||
|
|
||||||
|
// 同步舱门状态
|
||||||
|
syncCoverStateFromRealTimeData(deviceSn, data);
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("处理实时数据失败", e);
|
log.error("处理实时数据失败", e);
|
||||||
}
|
}
|
||||||
|
|
@ -334,7 +337,44 @@ public class TuohengService {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 同步舱门状态
|
* 从 realTime/data 主题同步舱门状态
|
||||||
|
*/
|
||||||
|
private void syncCoverStateFromRealTimeData(String deviceSn, TuohengRealTimeData data) {
|
||||||
|
try {
|
||||||
|
if (data == null || data.getNestDoor() == null || data.getNestDoor().getData() == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Integer status = data.getNestDoor().getData().getStatus();
|
||||||
|
if (status == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
log.info("【状态同步】收到舱门状态: sn={}, status={}", deviceSn, status);
|
||||||
|
|
||||||
|
// 根据 status 值更新舱门状态
|
||||||
|
// 1 = 开仓, 2 = 关仓
|
||||||
|
CoverState coverState;
|
||||||
|
if (status == 1) {
|
||||||
|
coverState = CoverState.OPENED;
|
||||||
|
log.info("【状态同步】同步舱门开启状态: sn={}, status={}", deviceSn, status);
|
||||||
|
} else if (status == 2) {
|
||||||
|
coverState = CoverState.CLOSED;
|
||||||
|
log.info("【状态同步】同步舱门关闭状态: sn={}, status={}", deviceSn, status);
|
||||||
|
} else {
|
||||||
|
log.warn("未知的舱门状态值: sn={}, status={}", deviceSn, status);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
stateManager.setCoverState(deviceSn, coverState);
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("同步舱门状态失败: sn={}", deviceSn, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 同步舱门状态(从 realTime/basic 主题,已废弃)
|
||||||
*/
|
*/
|
||||||
private void syncCoverState(String deviceSn, com.ruoyi.device.domain.impl.tuohengmqtt.model.RealTimeBasicData data) {
|
private void syncCoverState(String deviceSn, com.ruoyi.device.domain.impl.tuohengmqtt.model.RealTimeBasicData data) {
|
||||||
try {
|
try {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue