| | |
| | | package com.fzzy.gateway.hx2023.service; |
| | | |
| | | import com.alibaba.fastjson2.JSONObject; |
| | | 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.ScConstant; |
| | | import com.fzzy.gateway.hx2023.data.KafaGrainData; |
| | | import com.fzzy.gateway.hx2023.data.WebSocketPacket; |
| | | import com.fzzy.gateway.hx2023.data.WebSocketPacketHeader; |
| | | import com.fzzy.gateway.hx2023.data.WeightInfo; |
| | | import com.fzzy.gateway.hx2023.kafka.KafkaDeviceReport; |
| | | import com.fzzy.gateway.hx2023.websocket.WebSocketDeviceReport; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.stereotype.Component; |
| | |
| | | |
| | | @Resource |
| | | private WebSocketDeviceReport webSocketDeviceReport; |
| | | @Resource |
| | | private KafkaDeviceReport kafkaDeviceReport; |
| | | |
| | | @Override |
| | | public String getProvinceProtocol() { |
| | |
| | | |
| | | WebSocketPacket packet = new WebSocketPacket(); |
| | | |
| | | //productId的值在webSocket执行发送方法中补充 |
| | | WebSocketPacketHeader header = new WebSocketPacketHeader(); |
| | | header.setDeviceName(device.getDeviceName()); |
| | | header.setProductId("hx-weigh-big-01"); |
| | | //header.set |
| | | packet.setHeaders(header); |
| | | packet.setMessageType(""); |
| | | packet.setMessageType(ScConstant.MESSAGE_TYPE_REPORT_PROPERTY); |
| | | packet.setDeviceId(device.getDeviceId()); |
| | | packet.setProperties(null); |
| | | |
| | | //设置信息主体 |
| | | WeightInfo weightInfo = new WeightInfo(); |
| | | weightInfo.setGrossWeight(weigh); |
| | | weightInfo.setNetWeight(weigh); |
| | | weightInfo.setNetWeight(weigh); |
| | | weightInfo.setWeightUnit("KG"); |
| | | JSONObject jsonObject = new JSONObject(); |
| | | jsonObject.put("weightInfo", JSONObject.toJSONString(weightInfo)); |
| | | |
| | | packet.setProperties(jsonObject); |
| | | |
| | | packet.setTimestamp(System.currentTimeMillis()); |
| | | |
| | | |
| | | webSocketDeviceReport.sendByPacket(packet); |
| | | } |
| | | |
| | | if (GatewayProtocol.GATE_MQTT.equals(device.getPushProtocol())) { |
| | | //TODO ---->>>后期添加支持 |
| | | } |
| | | |
| | | return null; |
| | | } |
| | | |
| | | @Override |
| | | public String pushGrainData2Cloud(KafaGrainData data) { |
| | | |
| | | return kafkaDeviceReport.sendGrainData2Cloud(data); |
| | | } |
| | | } |