wangmengmeng
2024-12-24 24432a361d5c6bd6f3d8c008693e9f1155d62517
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
package com.dji.sample.manage.service;
 
import com.dji.sample.component.mqtt.model.EventsReceiver;
import com.dji.sample.manage.model.dto.DeviceDTO;
import com.dji.sdk.cloudapi.firmware.OtaProgress;
 
import java.util.Optional;
import java.util.Set;
 
/**
 * @author sean
 * @version 1.4
 * @date 2023/3/21
 */
public interface IDeviceRedisService {
 
    /**
     * Determine if the device is online.
     * @param sn
     * @return
     */
    Boolean checkDeviceOnline(String sn);
 
    /**
     * Query the basic information of the device in redis.
     * @param sn
     * @return
     */
    Optional<DeviceDTO> getDeviceOnline(String sn);
 
    /**
     * Save the basic information of the device in redis.
     * @param device
     */
    void setDeviceOnline(DeviceDTO device);
 
    /**
     * Delete the basic device information saved in redis.
     * @param sn
     * @return
     */
    Boolean delDeviceOnline(String sn);
 
    /**
     * Save the device's osd real-time data.
     * @param sn
     * @param data
     * @return
     */
    void setDeviceOsd(String sn, Object data);
 
    /**
     * Get the device's osd real-time data.
     * @param sn
     * @param clazz
     * @param <T>
     * @return
     */
    <T> Optional<T> getDeviceOsd(String sn, Class<T> clazz);
    /**
     * Delete the device's osd real-time data.
     * @param sn
     * @return
     */
    Boolean delDeviceOsd(String sn);
 
    /**
     * Save the firmware update progress of the device in redis.
     * @param sn
     * @param events
     */
    void setFirmwareUpgrading(String sn, EventsReceiver<OtaProgress> events);
 
    /**
     * Query the firmware update progress of the device in redis.
     * @param sn
     * @return
     */
    Optional<EventsReceiver<OtaProgress>> getFirmwareUpgradingProgress(String sn);
 
    /**
     * Delete the firmware update progress of the device in redis.
     * @param sn
     * @return
     */
    Boolean delFirmwareUpgrading(String sn);
 
    /**
     * Save the hms key of the device in redis.
     * @param sn
     * @param keys
     */
    void addEndHmsKeys(String sn, String... keys);
 
    /**
     * Query all hms keys of the device in redis.
     * @param sn
     * @return
     */
    Set<String> getAllHmsKeys(String sn);
 
    /**
     * Delete all hms keys of the device in redis.
     * @param sn
     * @return
     */
    Boolean delHmsKeysBySn(String sn);
 
    void gatewayOffline(String gatewaySn);
 
    void subDeviceOffline(String deviceSn);
}