|
|
@ -7,6 +7,7 @@ import com.qyft.gd.device.model.bo.DeviceAlarm; |
|
|
|
import com.qyft.gd.device.model.bo.DeviceFeedback; |
|
|
|
import com.qyft.gd.device.model.bo.DeviceStatus; |
|
|
|
import com.qyft.gd.device.service.DeviceStateService; |
|
|
|
import com.qyft.gd.service.WebSocketService; |
|
|
|
import io.netty.buffer.ByteBuf; |
|
|
|
import io.netty.channel.ChannelHandler; |
|
|
|
import io.netty.channel.ChannelHandlerContext; |
|
|
@ -27,6 +28,7 @@ import java.util.concurrent.ConcurrentHashMap; |
|
|
|
public class DeviceMessageHandler extends ChannelInboundHandlerAdapter { |
|
|
|
|
|
|
|
private final DeviceStateService deviceStateService; |
|
|
|
private final WebSocketService webSocketService; |
|
|
|
|
|
|
|
public final Map<String, CompletableFuture<DeviceFeedback>> responseMap = new ConcurrentHashMap<>(); |
|
|
|
|
|
|
@ -42,7 +44,7 @@ public class DeviceMessageHandler extends ChannelInboundHandlerAdapter { |
|
|
|
deviceStateService.updateDeviceStatus(deviceStatus); // 更新设备状态 |
|
|
|
} else if (TcpMessageType.ALARM.equals(jsonRpcResponse.getType())) {//设备报警 |
|
|
|
DeviceAlarm deviceAlarm = JSONUtil.toBean(jsonRpcResponse.getData(), DeviceAlarm.class); |
|
|
|
|
|
|
|
webSocketService.pushMsg("alarm", deviceAlarm); |
|
|
|
} else if (TcpMessageType.FEEDBACK.equals(jsonRpcResponse.getType())) {//设备指令反馈 |
|
|
|
DeviceFeedback deviceFeedback = JSONUtil.toBean(jsonRpcResponse.getData(), DeviceFeedback.class); |
|
|
|
this.handleTcpResponse(deviceFeedback); |
|
|
|