| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- package com.gyjiot.mq.service;
- import com.gyjiot.common.core.mq.DeviceReportBo;
- import com.gyjiot.common.core.mq.MQSendMessageBo;
- import com.gyjiot.common.core.mq.message.DeviceDownMessage;
- import com.gyjiot.common.core.mq.message.InstructionsMessage;
- import com.gyjiot.common.core.mq.ota.OtaUpgradeBo;
- import com.gyjiot.common.core.thingsModel.ThingsModelSimpleItem;
- import com.gyjiot.common.enums.DeviceStatus;
- import com.gyjiot.common.enums.TopicType;
- import com.gyjiot.iot.domain.Device;
- import com.gyjiot.mq.model.ReportDataBo;
- import java.util.List;
- public interface IMqttMessagePublish {
- /**
- * 下发数据编码
- */
- InstructionsMessage buildMessage(DeviceDownMessage downMessage, TopicType type);
- /**
- * 服务(指令)下发
- */
- public void funcSend(MQSendMessageBo bo);
- /**
- * OTA升级下发
- */
- public void upGradeOTA(OtaUpgradeBo bo);
- public void sendFunctionMessage(DeviceReportBo bo);
- /**
- * 1.发布设备状态
- */
- public void publishStatus(Long productId, String deviceNum, int deviceStatus, int isShadow, int rssi);
- /**
- * 2.发布设备信息
- */
- public void publishInfo(Long productId, String deviceNum);
- /**
- * 3.发布时钟同步信息
- *
- * @param bo 数据模型
- */
- public void publishNtp(ReportDataBo bo);
- /**
- * 4.发布属性
- * delay 延时,秒为单位
- */
- public void publishProperty(Long productId, String deviceNum, List<ThingsModelSimpleItem> thingsList, int delay);
- /**
- * 5.发布功能
- * delay 延时,秒为单位
- */
- public void publishFunction(Long productId, String deviceNum, List<ThingsModelSimpleItem> thingsList, int delay);
- /**
- * 设备数据同步
- *
- * @param deviceNumber 设备编号
- * @return 设备
- */
- public Device deviceSynchronization(String deviceNumber);
- /**
- * 推送设备状态
- *
- * @param device 设备
- * @param status 状态
- */
- public void pushDeviceStatus(Device device, DeviceStatus status) ;
- }
|