|
@@ -2,29 +2,15 @@ package com.zy.bms.handler;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.zy.bms.common.Constant;
|
|
|
-import com.zy.bms.common.exception.ApiRuntimeException;
|
|
|
import com.zy.bms.entity.*;
|
|
|
-import com.zy.bms.entity.ubi.UbiNtrip;
|
|
|
-import com.zy.bms.entity.ubi.UbiInfoRecord;
|
|
|
-import com.zy.bms.entity.ubi.UbiInfoState;
|
|
|
-import com.zy.bms.entity.ubi.UbiTcp;
|
|
|
import com.zy.bms.pojo.dto.MqttDTO;
|
|
|
import com.zy.bms.service.*;
|
|
|
-import com.zy.bms.service.lp.ILpInfoStateService;
|
|
|
-import com.zy.bms.service.ubi.IUbiInfoRecordService;
|
|
|
-import com.zy.bms.service.ubi.IUbiInfoStateService;
|
|
|
-import com.zy.bms.service.ubi.IUbiNtripService;
|
|
|
-import com.zy.bms.service.ubi.IUbiTcpService;
|
|
|
-import com.zy.bms.utils.BeanUtil;
|
|
|
import com.zy.bms.utils.MD5Util;
|
|
|
import com.zy.bms.utils.RabbitMQApi;
|
|
|
-import com.zy.bms.utils.TransformEntity;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
-import java.time.LocalDateTime;
|
|
|
-import java.util.Map;
|
|
|
|
|
|
|
|
|
* MQTT 消息返回处理类
|
|
@@ -45,15 +31,7 @@ public class MqttCallbackHandler {
|
|
|
@Resource
|
|
|
private IDeviceBaseService deviceStaticService;
|
|
|
@Resource
|
|
|
- private IUbiInfoRecordService heartbeatRecordService;
|
|
|
- @Resource
|
|
|
- private IUbiInfoStateService deviceDynamicService;
|
|
|
- @Resource
|
|
|
- private IUbiNtripService ntripSetService;
|
|
|
- @Resource
|
|
|
- private IUbiTcpService tcpSetService;
|
|
|
- @Resource
|
|
|
- private ILpInfoStateService lpInfoStateService;
|
|
|
+ private UbiHandlers ubiHandlers;
|
|
|
|
|
|
|
|
|
* 处理消息
|
|
@@ -83,12 +61,12 @@ public class MqttCallbackHandler {
|
|
|
}
|
|
|
|
|
|
case Constant.M.UBI_HEARTBEAT: {
|
|
|
- heartbeatHandler(openNum, mqttDTO);
|
|
|
+ ubiHandlers.heartbeatHandler(openNum, mqttDTO);
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
case Constant.M.UBI_SET_INFO: {
|
|
|
- deviceSetHandler(openNum, mqttDTO);
|
|
|
+ ubiHandlers.deviceSetHandler(openNum, mqttDTO);
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
@@ -121,100 +99,4 @@ public class MqttCallbackHandler {
|
|
|
|
|
|
postMqttMsgService.handleRegister(device);
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
- * 心跳协议
|
|
|
- */
|
|
|
- private void heartbeatHandler(String openNum, MqttDTO mqttDTO) {
|
|
|
- try {
|
|
|
- UbiInfoRecord entity = TransformEntity.tsf2UbiInfoRecord(openNum, mqttDTO);
|
|
|
-
|
|
|
- heartbeatRecordService.save(entity);
|
|
|
-
|
|
|
- UbiInfoState ubiInfoState = BeanUtil.cast(entity, UbiInfoState.class);
|
|
|
-
|
|
|
- ubiInfoState.setUpdateTime(LocalDateTime.now());
|
|
|
-
|
|
|
- ubiInfoState.setStatus(1);
|
|
|
- deviceDynamicService.saveOrUpdate(ubiInfoState,
|
|
|
- new QueryWrapper<UbiInfoState>().eq("open_num", ubiInfoState.getOpenNum()));
|
|
|
- } catch (Exception e) {
|
|
|
- log.error("解析设备心跳消息异常", e);
|
|
|
- throw new ApiRuntimeException("处理设备上传位置定位信息出错");
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- * 普适性-设备设置信息
|
|
|
- */
|
|
|
- @SuppressWarnings("unchecked")
|
|
|
- private void deviceSetHandler(String openNum, MqttDTO mqttDTO) {
|
|
|
-
|
|
|
- UbiNtrip client = TransformEntity.tsf2UbiNtrip((Map<String, String>) mqttDTO.getObject("ntripclient"));
|
|
|
- UbiNtrip server = TransformEntity.tsf2UbiNtrip((Map<String, String>) mqttDTO.getObject("ntripserver"));
|
|
|
- ntripSetService.saveOrUpdateNtripSet(client, openNum, IUbiNtripService.CLIENT);
|
|
|
- ntripSetService.saveOrUpdateNtripSet(server, openNum, IUbiNtripService.SERVER);
|
|
|
-
|
|
|
- UbiTcp link1 = TransformEntity.tsf2UbiTcp((Map<String, String>) mqttDTO.getObject("tcplink1"));
|
|
|
- UbiTcp link2 = TransformEntity.tsf2UbiTcp((Map<String, String>) mqttDTO.getObject("tcplink2"));
|
|
|
- UbiTcp link3 = TransformEntity.tsf2UbiTcp((Map<String, String>) mqttDTO.getObject("tcplink3"));
|
|
|
- tcpSetService.saveOrUpdateTcpSet(link1, openNum, IUbiTcpService.LINK_1);
|
|
|
- tcpSetService.saveOrUpdateTcpSet(link2, openNum, IUbiTcpService.LINK_2);
|
|
|
- tcpSetService.saveOrUpdateTcpSet(link3, openNum, IUbiTcpService.LINK_3);
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
}
|