Compare commits

...

2 Commits

Author SHA1 Message Date
孙小云 ec5dba7fc5 添加舱门状态 2026-01-21 18:33:36 +08:00
孙小云 6e538bd4cb 添加空调状态 2026-01-21 18:31:50 +08:00
2 changed files with 38 additions and 1 deletions

View File

@ -90,7 +90,10 @@ public class DeviceTelemetry {
); );
/**
* 舱门状态
* {"0":"关闭","1":"打开","2":"半开","3":"舱盖状态异常"}
*/
public static final TelemetryKey<Integer> Cover_State = TelemetryKey.of( public static final TelemetryKey<Integer> Cover_State = TelemetryKey.of(
"cover_state", "cover_state",
Integer.class, Integer.class,

View File

@ -17,6 +17,7 @@ import com.ruoyi.device.api.enums.AircraftStatusEnum;
import com.ruoyi.device.api.enums.DockStatusEnum; import com.ruoyi.device.api.enums.DockStatusEnum;
import com.ruoyi.device.api.enums.NetworkTypeEnum; import com.ruoyi.device.api.enums.NetworkTypeEnum;
import com.ruoyi.device.api.enums.AirConditionerStatusEnum; import com.ruoyi.device.api.enums.AirConditionerStatusEnum;
import com.ruoyi.device.api.enums.CabinDoorStatusEnum;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -224,6 +225,15 @@ public class BufferDeviceImpl implements IBufferDeviceService
} }
}); });
// 舱门状态枚举值0-关闭1-打开2-半开3-舱盖状态异常
telemetryMap.get(DeviceTelemetry.Cover_State)
.ifPresent(telemetryValue -> {
Integer coverState = telemetryValue.getValue();
if (coverState != null) {
dto.setCabinDoorStatus(mapCabinDoorState(coverState));
}
});
return dto; return dto;
} }
@ -295,6 +305,30 @@ public class BufferDeviceImpl implements IBufferDeviceService
} }
} }
/**
* 将舱门状态代码映射到 CabinDoorStatusEnum
* @param coverState 舱门状态代码0-关闭1-打开2-半开3-舱盖状态异常
* @return 舱门状态枚举的 code
*/
private String mapCabinDoorState(Integer coverState) {
if (coverState == null) {
return null;
}
switch (coverState) {
case 0:
return CabinDoorStatusEnum.CLOSED.getCode();
case 1:
return CabinDoorStatusEnum.OPEN.getCode();
case 2:
return CabinDoorStatusEnum.HALF_OPEN.getCode();
case 3:
return CabinDoorStatusEnum.ABNORMAL.getCode();
default:
return null;
}
}
private AircraftDetailDTO getChangeAbleAirDetailDTO(String deviceIotId) private AircraftDetailDTO getChangeAbleAirDetailDTO(String deviceIotId)
{ {