package com.fzzy.gateway.hx2023.service; import com.fzzy.api.data.GatewayProtocol; import com.fzzy.api.data.PushProtocol; import com.fzzy.gateway.api.DeviceReportService; import com.fzzy.gateway.entity.GatewayDevice; import com.fzzy.gateway.hx2023.data.WebSocketPacket; import com.fzzy.gateway.hx2023.data.WebSocketPacketHeader; import com.fzzy.gateway.hx2023.websocket.WebSocketDeviceReport; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; import javax.annotation.Resource; @Slf4j @Component public class DeviceReportServiceImpl implements DeviceReportService { @Resource private WebSocketDeviceReport webSocketDeviceReport; @Override public String getProvinceProtocol() { return PushProtocol.GATEWAY_SC_2023.getCode(); } @Override public String report2GatewayBySn(double weigh, GatewayDevice device) { if (null == device) { log.error("-----------没有获取到设备配置信息-----"); return "ERROR:没有获取到设备配置信息"; } //使用WEBSOCKET返回 if (GatewayProtocol.GATE_WEBSOCKET.equals(device.getPushProtocol())) { WebSocketPacket packet = new WebSocketPacket(); WebSocketPacketHeader header = new WebSocketPacketHeader(); header.setDeviceName(device.getDeviceName()); packet.setHeaders(header); packet.setMessageType(""); packet.setDeviceId(device.getDeviceId()); packet.setProperties(null); packet.setTimestamp(System.currentTimeMillis()); webSocketDeviceReport.sendByPacket(packet); } return null; } }