| | |
| | | package com.fzzy.gateway.hx2023.service; |
| | | |
| | | import com.alibaba.fastjson2.JSONObject; |
| | | import com.fzzy.api.data.PushProtocol; |
| | | import com.fzzy.gateway.api.GatewayDeviceReportService; |
| | | import com.fzzy.gateway.data.BaseReqData; |
| | | import com.fzzy.gateway.data.BaseResp; |
| | | import com.fzzy.gateway.entity.GatewayDevice; |
| | | import com.fzzy.gateway.hx2023.ScConstant; |
| | | import com.fzzy.gateway.hx2023.data.LprData; |
| | | 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.KafkaDeviceReportService; |
| | | import com.fzzy.mqtt.MqttGatewayService; |
| | | import lombok.extern.slf4j.Slf4j; |
| | |
| | | |
| | | topic = topic.replace("${productId}", reqData.getProductId()).replace("${deviceId}", reqData.getDeviceId()); |
| | | |
| | | if (null == reqData.getData()) { |
| | | GatewayDevice device = reqData.getDevice(); |
| | | |
| | | WebSocketPacket packet = new WebSocketPacket(); |
| | | |
| | | WebSocketPacketHeader header = new WebSocketPacketHeader(); |
| | | header.setDeviceName(device.getDeviceName()); |
| | | header.setProductId(device.getProductId()); |
| | | packet.setHeaders(header); |
| | | packet.setMessageType(ScConstant.MESSAGE_TYPE_REPORT_PROPERTY); |
| | | packet.setDeviceId(device.getDeviceId()); |
| | | |
| | | //设置信息主体 |
| | | WeightInfo weightInfo = new WeightInfo(); |
| | | weightInfo.setGrossWeight(reqData.getWeight()); |
| | | weightInfo.setNetWeight(reqData.getWeight()); |
| | | weightInfo.setNetWeight(reqData.getWeight()); |
| | | weightInfo.setWeightUnit("KG"); |
| | | JSONObject jsonObject = new JSONObject(); |
| | | jsonObject.put("weightInfo", JSONObject.toJSONString(weightInfo)); |
| | | |
| | | packet.setProperties(jsonObject); |
| | | |
| | | packet.setTimestamp(System.currentTimeMillis()); |
| | | |
| | | reqData.setData(JSONObject.toJSONString(packet)); |
| | | } |
| | | |
| | | publishService.publishMqttWithTopic(reqData.getData(), topic); |
| | | |
| | | log.info("----------------------------推送MQTT地磅信息---------------------------"); |
| | |
| | | String topic = ScConstant.TOPIC_MESSAGE_REPORT; |
| | | topic = topic.replace("${productId}", reqData.getProductId()).replace("${deviceId}", reqData.getDeviceId()); |
| | | |
| | | GatewayDevice device = reqData.getDevice(); |
| | | |
| | | if (null == reqData.getData()) { |
| | | WebSocketPacket packet = new WebSocketPacket(); |
| | | WebSocketPacketHeader header = new WebSocketPacketHeader(); |
| | | header.setDeviceName(reqData.getDeviceName()); |
| | | header.setProductId(reqData.getProductId()); |
| | | |
| | | packet.setHeaders(header); |
| | | packet.setMessageType(ScConstant.MESSAGE_TYPE_REPORT_PROPERTY); |
| | | packet.setDeviceId(reqData.getDeviceId()); |
| | | packet.setMessageId(System.currentTimeMillis() + ""); |
| | | //设置信息主体 |
| | | LprData lpr = new LprData(); |
| | | lpr.setDeviceId(reqData.getDeviceId()); |
| | | lpr.setCarNumber(reqData.getCarNumber()); |
| | | JSONObject jsonObject = new JSONObject(); |
| | | jsonObject.put("carNumber", reqData.getCarNumber()); |
| | | jsonObject.put("position", device.getPosition()); |
| | | packet.setProperties(jsonObject); |
| | | packet.setTimestamp(System.currentTimeMillis()); |
| | | } |
| | | |
| | | publishService.publishMqttWithTopic(reqData.getData(), topic); |
| | | |
| | | log.info("----------------------------推送MQTT车牌识别信息---------------------------"); |