rain
2024-07-29 86384846e317381e7bb9e31ee76760e4ecb3ee67
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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
package com.dji.sample.wayline.service;
 
import com.dji.sample.component.mqtt.model.EventsReceiver;
import com.dji.sample.wayline.model.dto.WaylineJobDTO;
import com.dji.sample.wayline.model.dto.WaylineJobKey;
import com.dji.sample.wayline.model.dto.WaylineTaskProgressReceiver;
 
import java.util.Optional;
 
/**
 * @author sean
 * @version 1.4
 * @date 2023/3/24
 */
public interface IWaylineRedisService {
 
    /**
     * Save the status of the wayline job performed by the dock into redis.
     * @param dockSn
     * @param data
     */
    void setRunningWaylineJob(String dockSn, EventsReceiver<WaylineTaskProgressReceiver> data);
 
    /**
     * Query the status of wayline job performed by the dock in redis.
     * @param dockSn
     * @return
     */
    Optional<EventsReceiver<WaylineTaskProgressReceiver>> getRunningWaylineJob(String dockSn);
 
    /**
     * Delete the wayline job status of the dock operation in redis.
     * @param dockSn
     * @return
     */
    Boolean delRunningWaylineJob(String dockSn);
 
    /**
     * Save the wayline job suspended by the dock to redis.
     * @param dockSn
     * @param jobId
     */
    void setPausedWaylineJob(String dockSn, String jobId);
 
    /**
     * Query the wayline job id suspended by the dock in redis.
     * @param dockSn
     * @return
     */
    String getPausedWaylineJobId(String dockSn);
 
    /**
     * Delete the wayline job suspended by the dock in redis.
     * @param dockSn
     * @return
     */
    Boolean delPausedWaylineJob(String dockSn);
 
    /**
     * Save the wayline job blocked by the dock to redis.
     * @param dockSn
     * @param jobId
     */
    void setBlockedWaylineJob(String dockSn, String jobId);
 
    /**
     * Query the wayline job id blocked by the dock in redis.
     * @param dockSn
     * @return
     */
    String getBlockedWaylineJobId(String dockSn);
 
    /**
     * Delete the wayline job id blocked by the dock in redis.
     * @param dockSn
     * @return
     */
    Boolean delBlockedWaylineJobId(String dockSn);
 
    /**
     * Save the conditional wayline job by the dock to redis.
     * 将条件航线任务保存到redis中
     * @param waylineJob
     */
    void setConditionalWaylineJob(WaylineJobDTO waylineJob);
 
    /**
     * Query the conditional wayline job id by the dock in redis.
     * @param jobId
     * @return
     */
    Optional<WaylineJobDTO> getConditionalWaylineJob(String jobId);
 
    /**
     * Delete the conditional wayline job by the dock in redis.
     * @param jobId
     * @return
     */
    Boolean delConditionalWaylineJob(String jobId);
 
    /**
     * Add the wayline job that needs to be issued.
     * 添加需要发布的航路线作业
     * @param waylineJob
     * @return
     */
    Boolean addPreparedWaylineJob(WaylineJobDTO waylineJob);
 
    /**
     * Get the latest wayline job that needs to be issued.
     * @return
     */
    Optional<WaylineJobKey> getNearestPreparedWaylineJob();
 
    /**
     * Get the time when the wayline job is issued.
     * @param jobKey
     * @return
     */
    Double getPreparedWaylineJobTime(WaylineJobKey jobKey);
 
    /**
     * Delete the wayline job that needs to be issued in redis.
     * @param jobKey
     * @return
     */
    Boolean removePreparedWaylineJob(WaylineJobKey jobKey);
}