|
@@ -49,14 +49,8 @@ public class MqttMsgService {
|
|
private CareEventOrderChambService careEventOrderChambService;
|
|
private CareEventOrderChambService careEventOrderChambService;
|
|
@Resource
|
|
@Resource
|
|
private MqttMsgRedisService mqttMsgRedisService;
|
|
private MqttMsgRedisService mqttMsgRedisService;
|
|
- @Resource
|
|
|
|
- private CareRoomSensorService careRoomSensorService;
|
|
|
|
- @Resource
|
|
|
|
- private CareRoomService careRoomService;
|
|
|
|
- @Resource
|
|
|
|
- private CareRoomGateService careRoomGateService;
|
|
|
|
- @Resource
|
|
|
|
- private CareRoomRegionService careRoomRegionService;
|
|
|
|
|
|
+
|
|
|
|
+
|
|
|
|
|
|
private static Logger logger = LoggerFactory.getLogger(MqttMsgService.class);
|
|
private static Logger logger = LoggerFactory.getLogger(MqttMsgService.class);
|
|
|
|
|
|
@@ -67,66 +61,9 @@ public class MqttMsgService {
|
|
* @throws Exception
|
|
* @throws Exception
|
|
*/
|
|
*/
|
|
public void handleMessage(String topic, String mqttMessageStr) throws Exception {
|
|
public void handleMessage(String topic, String mqttMessageStr) throws Exception {
|
|
- if(topic.contains("event")){ //工单的消息
|
|
|
|
- handleOrderEventMessage(topic,mqttMessageStr);
|
|
|
|
- } else { //房间信息配置的返回消息
|
|
|
|
- handleConfigureRoomInfoResultMessage(topic,mqttMessageStr);
|
|
|
|
- }
|
|
|
|
|
|
+ handleOrderEventMessage(topic,mqttMessageStr);
|
|
}
|
|
}
|
|
|
|
|
|
- /**
|
|
|
|
- * 查询配置房间信息的结果消息 处理
|
|
|
|
- * @param topic
|
|
|
|
- * @param mqttMessageStr
|
|
|
|
- */
|
|
|
|
- private void handleConfigureRoomInfoResultMessage(String topic, String mqttMessageStr) {
|
|
|
|
- Map map = JSON.parseObject(mqttMessageStr);
|
|
|
|
- String type = (String) map.get("type");
|
|
|
|
- if(StringUtils.isEmpty(type)) {
|
|
|
|
- logger.error("不是正确格式的消息");
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
- Map msg = (Map) map.get("msg");
|
|
|
|
- if(msg == null) {
|
|
|
|
- logger.error("不是正确格式的消息");
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
- String ack = (String)msg.get("ack");
|
|
|
|
- if(StringUtils.isEmpty(ack)) {
|
|
|
|
- logger.error("不是激活返回消息");
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- logger.info("是激活返回消息: ack == " + ack);
|
|
|
|
-
|
|
|
|
- QueryWrapper<CareDevice> queryWrapper = new QueryWrapper<>();
|
|
|
|
- queryWrapper.lambda().eq(CareDevice::getTopic,topic.replaceAll("control","event"));
|
|
|
|
- CareDevice careDevice = careDeviceService.getOne(queryWrapper);
|
|
|
|
- if(careDevice == null) {
|
|
|
|
- logger.error("数据库中没找到对应设备");
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
- String devCode = careDevice.getDevCode();
|
|
|
|
-
|
|
|
|
- if("CfgAreaAck".equals(type)) { //房间信息
|
|
|
|
- UpdateWrapper<CareRoom> updateWrapper = new UpdateWrapper<>();
|
|
|
|
- updateWrapper.lambda().eq(CareRoom::getRoomId,devCode).set(CareRoom::getAck,ack);
|
|
|
|
- careRoomService.update(updateWrapper);
|
|
|
|
- } else if("CfgDevicePositionAck".equals(type)) { //传感器
|
|
|
|
- UpdateWrapper<CareRoomSensor> updateWrapper = new UpdateWrapper<>();
|
|
|
|
- updateWrapper.lambda().eq(CareRoomSensor::getRoomId,devCode).set(CareRoomSensor::getAck,ack);
|
|
|
|
- careRoomSensorService.update(updateWrapper);
|
|
|
|
- } else if("CfgGatesAck".equals(type)) { //门
|
|
|
|
- UpdateWrapper<CareRoomGate> updateWrapper = new UpdateWrapper<>();
|
|
|
|
- updateWrapper.lambda().eq(CareRoomGate::getRoomId,devCode).set(CareRoomGate::getAck,ack);
|
|
|
|
- careRoomGateService.update(updateWrapper);
|
|
|
|
- } else if("CfgRegionsAck".equals(type)) { //区域
|
|
|
|
- UpdateWrapper<CareRoomRegion> updateWrapper = new UpdateWrapper<>();
|
|
|
|
- updateWrapper.lambda().eq(CareRoomRegion::getRoomId,devCode).set(CareRoomRegion::getAck,ack);
|
|
|
|
- careRoomRegionService.update(updateWrapper);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
/**
|
|
/**
|
|
* 工单事件的消息 处理
|
|
* 工单事件的消息 处理
|
|
* @param topic
|
|
* @param topic
|