|
|
@@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.pms.service.yanfan.sip;
|
|
|
import cn.iocoder.yudao.module.pms.controller.admin.yanfan.enums.TopicType;
|
|
|
import cn.iocoder.yudao.module.pms.controller.admin.yanfan.mqtt.PubMqttClient;
|
|
|
import cn.iocoder.yudao.module.pms.controller.admin.yanfan.sip.vo.SipDeviceSummary;
|
|
|
+import cn.iocoder.yudao.module.pms.controller.admin.yanfan.thingsmodel.vo.ThingsModelSimpleItem;
|
|
|
import cn.iocoder.yudao.module.pms.controller.admin.yanfan.utils.TopicsUtils;
|
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.yanfan.device.YfIotDeviceDO;
|
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.yanfan.sip.config.IotSipConfigDO;
|
|
|
@@ -80,62 +81,62 @@ public class VideoMqttService implements IMqttService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-// @Override
|
|
|
-// public void publishEvent(Alarm alarm) {
|
|
|
-// Alarm.Info info;
|
|
|
-// ThingsModelSimpleItem item;
|
|
|
-// SipConfig sipConfig = sipConfigService.selectSipConfigBydeviceSipId(alarm.getDeviceId());
|
|
|
-// if (null != sipConfig) {
|
|
|
-// List<ThingsModelSimpleItem> events = new ArrayList<>();
|
|
|
-// switch (alarm.getAlarmMethod()){
|
|
|
-// case telAlarm:
|
|
|
-// item = new ThingsModelSimpleItem("telAlarm","1","");
|
|
|
-// events.add(item);
|
|
|
-// break;
|
|
|
-// case devAlarm:
|
|
|
-// item = new ThingsModelSimpleItem("devAlarm","1","");
|
|
|
-// info = alarm.getInfo();
|
|
|
-// if(info != null && info.getAlarmType() != null){
|
|
|
-// item.setValue(info.getAlarmType());
|
|
|
-// }
|
|
|
-// events.add(item);
|
|
|
-// break;
|
|
|
-// case smsAlarm:
|
|
|
-// item = new ThingsModelSimpleItem("smsAlarm","1","");
|
|
|
-// events.add(item);
|
|
|
-// break;
|
|
|
-// case gpsAlarm:
|
|
|
-// item = new ThingsModelSimpleItem("gpsAlarm","1","");
|
|
|
-// events.add(item);
|
|
|
-// break;
|
|
|
-// case videoAlarm:
|
|
|
-// item = new ThingsModelSimpleItem("videoAlarm","1","");
|
|
|
-// info = alarm.getInfo();
|
|
|
-// if(info != null && info.getAlarmType() != null){
|
|
|
-// item.setValue(info.getAlarmType());
|
|
|
-// }
|
|
|
-// events.add(item);
|
|
|
-// break;
|
|
|
-// case devErrorAlarm:
|
|
|
-// item = new ThingsModelSimpleItem("devErrorAlarm","1","");
|
|
|
-// info = alarm.getInfo();
|
|
|
-// if(info != null && info.getAlarmType() != null){
|
|
|
-// item.setValue(info.getAlarmType());
|
|
|
-// }
|
|
|
-// events.add(item);
|
|
|
-// break;
|
|
|
-// case other:
|
|
|
-// item = new ThingsModelSimpleItem("otherAlarm","1","");
|
|
|
-// events.add(item);
|
|
|
-// break;
|
|
|
-// }
|
|
|
-// Long productId = sipConfig.getProductId();
|
|
|
-// if (null != productId && productId != -1L && productId != 0L) {
|
|
|
-// String topic = topicsUtils.buildTopic(sipConfig.getProductId(), alarm.getDeviceId(), TopicType.DEV_EVENT_POST);
|
|
|
-// mqttClient.publish(1, false, topic, JSON.toJSONString(events));
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
+ @Override
|
|
|
+ public void publishEvent(Alarm alarm) {
|
|
|
+ Alarm.Info info;
|
|
|
+ ThingsModelSimpleItem item;
|
|
|
+ IotSipConfigDO sipConfig = sipConfigService.selectSipConfigBydeviceSipId(alarm.getDeviceId());
|
|
|
+ if (null != sipConfig) {
|
|
|
+ List<ThingsModelSimpleItem> events = new ArrayList<>();
|
|
|
+ switch (alarm.getAlarmMethod()){
|
|
|
+ case telAlarm:
|
|
|
+ item = new ThingsModelSimpleItem("telAlarm","1","");
|
|
|
+ events.add(item);
|
|
|
+ break;
|
|
|
+ case devAlarm:
|
|
|
+ item = new ThingsModelSimpleItem("devAlarm","1","");
|
|
|
+ info = alarm.getInfo();
|
|
|
+ if(info != null && info.getAlarmType() != null){
|
|
|
+ item.setValue(info.getAlarmType());
|
|
|
+ }
|
|
|
+ events.add(item);
|
|
|
+ break;
|
|
|
+ case smsAlarm:
|
|
|
+ item = new ThingsModelSimpleItem("smsAlarm","1","");
|
|
|
+ events.add(item);
|
|
|
+ break;
|
|
|
+ case gpsAlarm:
|
|
|
+ item = new ThingsModelSimpleItem("gpsAlarm","1","");
|
|
|
+ events.add(item);
|
|
|
+ break;
|
|
|
+ case videoAlarm:
|
|
|
+ item = new ThingsModelSimpleItem("videoAlarm","1","");
|
|
|
+ info = alarm.getInfo();
|
|
|
+ if(info != null && info.getAlarmType() != null){
|
|
|
+ item.setValue(info.getAlarmType());
|
|
|
+ }
|
|
|
+ events.add(item);
|
|
|
+ break;
|
|
|
+ case devErrorAlarm:
|
|
|
+ item = new ThingsModelSimpleItem("devErrorAlarm","1","");
|
|
|
+ info = alarm.getInfo();
|
|
|
+ if(info != null && info.getAlarmType() != null){
|
|
|
+ item.setValue(info.getAlarmType());
|
|
|
+ }
|
|
|
+ events.add(item);
|
|
|
+ break;
|
|
|
+ case other:
|
|
|
+ item = new ThingsModelSimpleItem("otherAlarm","1","");
|
|
|
+ events.add(item);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ Long productId = sipConfig.getProductId();
|
|
|
+ if (null != productId && productId != -1L && productId != 0L) {
|
|
|
+ String topic = topicsUtils.buildTopic(sipConfig.getProductId(), alarm.getDeviceId(), TopicType.DEV_EVENT_POST);
|
|
|
+ mqttClient.publish(1, false, topic, JSON.toJSONString(events));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
//
|
|
|
// public void publishChannelsProperty(String DeviceSipId, List<SipDeviceChannel> channels) {
|
|
|
// SipConfig sipConfig = sipConfigService.selectSipConfigBydeviceSipId(DeviceSipId);
|