|
@@ -78,25 +78,29 @@ public class MqttMsgSubscribe implements MessageHandler {
|
|
|
private void handleDhMessage(String payload, String topic) {
|
|
private void handleDhMessage(String payload, String topic) {
|
|
|
logger.info("大华消息处理开始:{}", payload);
|
|
logger.info("大华消息处理开始:{}", payload);
|
|
|
try {
|
|
try {
|
|
|
- String msgType = topic.split("/")[5];
|
|
|
|
|
- String deviceSn = topic.split("/")[4];
|
|
|
|
|
|
|
+ String msgType = topic.split("/")[4];
|
|
|
|
|
+ String deviceSn = "";
|
|
|
if (StringUtils.isNotBlank(msgType)) {
|
|
if (StringUtils.isNotBlank(msgType)) {
|
|
|
switch (msgType) {
|
|
switch (msgType) {
|
|
|
// 根据CMD类型,分别处理消息
|
|
// 根据CMD类型,分别处理消息
|
|
|
case DhMsgBase.CMD_HEARTBEAT:
|
|
case DhMsgBase.CMD_HEARTBEAT:
|
|
|
DhHeartbeat heartbeat = JSON.parseObject(payload, DhHeartbeat.class);
|
|
DhHeartbeat heartbeat = JSON.parseObject(payload, DhHeartbeat.class);
|
|
|
|
|
+ deviceSn = heartbeat.getMacAddr();
|
|
|
asyncTaskService.handleDhHeartbeatMsg(heartbeat, deviceSn);
|
|
asyncTaskService.handleDhHeartbeatMsg(heartbeat, deviceSn);
|
|
|
break;
|
|
break;
|
|
|
case DhMsgBase.CMD_ALARM_REPORT:
|
|
case DhMsgBase.CMD_ALARM_REPORT:
|
|
|
DhLiftFault faultMsg = JSON.parseObject(payload, DhLiftFault.class);
|
|
DhLiftFault faultMsg = JSON.parseObject(payload, DhLiftFault.class);
|
|
|
|
|
+ deviceSn = faultMsg.getMacAddr();
|
|
|
asyncTaskService.handleDhAlarmMsg(faultMsg, deviceSn);
|
|
asyncTaskService.handleDhAlarmMsg(faultMsg, deviceSn);
|
|
|
break;
|
|
break;
|
|
|
case DhMsgBase.CMD_ELEINFO_REPORT:
|
|
case DhMsgBase.CMD_ELEINFO_REPORT:
|
|
|
DhLiftState stateMsg = JSON.parseObject(payload, DhLiftState.class);
|
|
DhLiftState stateMsg = JSON.parseObject(payload, DhLiftState.class);
|
|
|
|
|
+ deviceSn = stateMsg.getMacAddr();
|
|
|
asyncTaskService.handleDhEleInfoMsg(stateMsg, deviceSn);
|
|
asyncTaskService.handleDhEleInfoMsg(stateMsg, deviceSn);
|
|
|
break;
|
|
break;
|
|
|
case DhMsgBase.CMD_STATISTICS_SINGLE_DATA_REPORT:
|
|
case DhMsgBase.CMD_STATISTICS_SINGLE_DATA_REPORT:
|
|
|
DhRunInfo runInfoMsg = JSON.parseObject(payload, DhRunInfo.class);
|
|
DhRunInfo runInfoMsg = JSON.parseObject(payload, DhRunInfo.class);
|
|
|
|
|
+ deviceSn = runInfoMsg.getMacAddr();
|
|
|
asyncTaskService.handleDhSingleDataMsg(runInfoMsg, deviceSn);
|
|
asyncTaskService.handleDhSingleDataMsg(runInfoMsg, deviceSn);
|
|
|
break;
|
|
break;
|
|
|
default:
|
|
default:
|