IMqttMessagePublish.java 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. package com.gyjiot.mq.service;
  2. import com.gyjiot.common.core.mq.DeviceReportBo;
  3. import com.gyjiot.common.core.mq.MQSendMessageBo;
  4. import com.gyjiot.common.core.mq.message.DeviceDownMessage;
  5. import com.gyjiot.common.core.mq.message.InstructionsMessage;
  6. import com.gyjiot.common.core.mq.ota.OtaUpgradeBo;
  7. import com.gyjiot.common.core.thingsModel.ThingsModelSimpleItem;
  8. import com.gyjiot.common.enums.DeviceStatus;
  9. import com.gyjiot.common.enums.TopicType;
  10. import com.gyjiot.iot.domain.Device;
  11. import com.gyjiot.mq.model.ReportDataBo;
  12. import java.util.List;
  13. public interface IMqttMessagePublish {
  14. /**
  15. * 下发数据编码
  16. */
  17. InstructionsMessage buildMessage(DeviceDownMessage downMessage, TopicType type);
  18. /**
  19. * 服务(指令)下发
  20. */
  21. public void funcSend(MQSendMessageBo bo);
  22. /**
  23. * OTA升级下发
  24. */
  25. public void upGradeOTA(OtaUpgradeBo bo);
  26. public void sendFunctionMessage(DeviceReportBo bo);
  27. /**
  28. * 1.发布设备状态
  29. */
  30. public void publishStatus(Long productId, String deviceNum, int deviceStatus, int isShadow, int rssi);
  31. /**
  32. * 2.发布设备信息
  33. */
  34. public void publishInfo(Long productId, String deviceNum);
  35. /**
  36. * 3.发布时钟同步信息
  37. *
  38. * @param bo 数据模型
  39. */
  40. public void publishNtp(ReportDataBo bo);
  41. /**
  42. * 4.发布属性
  43. * delay 延时,秒为单位
  44. */
  45. public void publishProperty(Long productId, String deviceNum, List<ThingsModelSimpleItem> thingsList, int delay);
  46. /**
  47. * 5.发布功能
  48. * delay 延时,秒为单位
  49. */
  50. public void publishFunction(Long productId, String deviceNum, List<ThingsModelSimpleItem> thingsList, int delay);
  51. /**
  52. * 设备数据同步
  53. *
  54. * @param deviceNumber 设备编号
  55. * @return 设备
  56. */
  57. public Device deviceSynchronization(String deviceNumber);
  58. /**
  59. * 推送设备状态
  60. *
  61. * @param device 设备
  62. * @param status 状态
  63. */
  64. public void pushDeviceStatus(Device device, DeviceStatus status) ;
  65. }