leutu
2024-06-03 3ef35e6cd16bbfa206b26bb3271eac40ad020bcb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
package com.fastbee.mq.service;
 
import com.fastbee.common.core.mq.DeviceReportBo;
import com.fastbee.common.core.mq.MQSendMessageBo;
import com.fastbee.common.core.mq.message.DeviceDownMessage;
import com.fastbee.common.core.mq.message.InstructionsMessage;
import com.fastbee.common.core.mq.ota.OtaUpgradeBo;
import com.fastbee.common.core.thingsModel.ThingsModelSimpleItem;
import com.fastbee.common.enums.TopicType;
import com.fastbee.iot.domain.Device;
import com.fastbee.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);
 
 
}