liusuyi
2026-05-14 9958bc1501d0daee954d9bba383475e55e24ebab
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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
package com.ard.qs.api;
 
import com.ard.common.core.constant.SecurityConstants;
import com.ard.common.core.constant.ServiceNameConstants;
import com.ard.common.core.domain.R;
import com.ard.qs.api.domain.QsDevice;
import com.ard.qs.api.factory.RemoteQsDeviceFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
 
import java.util.List;
import java.util.Set;
 
/**
 * 视频监控设备 服务
 *
 * @FileName RemoteQsDeviceService
 * @Description
 * @Author fengcheng
 * @date 2026-03-28
 **/
@FeignClient(contextId = "remoteQsDeviceService", value = ServiceNameConstants.QS_SERVICE, fallbackFactory = RemoteQsDeviceFallbackFactory.class)
public interface RemoteQsDeviceService {
 
    /**
     * 查询视频监控设备
     *
     * @param qsDevice 视频监控设备
     * @param source   请求来源
     * @return
     */
    @PostMapping("/api/device/allList")
    public R<List<QsDevice>> list(QsDevice qsDevice, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
 
    /**
     * 更新设备在线状态
     *
     * @param onlineDeviceSet 在线设备集合
     * @param deviceStatus    设备状态
     * @param inner           请求来源
     * @return
     */
    @PostMapping("/api/device/updateDeviceStatusList/{deviceStatus}")
    public R<Boolean> updateQsDeviceStatusList(@RequestBody Set<Long> onlineDeviceSet, @PathVariable String deviceStatus, @RequestHeader(SecurityConstants.FROM_SOURCE) String inner);
 
 
    /**
     * 修改视频监控设备
     *
     * @param qsDevice 视频监控设备
     * @param inner    请求来源
     * @return
     */
    @PutMapping("/api/device/updateQsDevice")
    public R<Boolean> updateQsDevice(@RequestBody QsDevice qsDevice, @RequestHeader(SecurityConstants.FROM_SOURCE) String inner);
 
 
    /**
     * 移除视频监控设备
     *
     * @param ids      视频监控设备
     * @param inner    请求来源
     * @return
     */
    @PutMapping("/api/device/removeQsDevice/{ids}")
    public R<Boolean> removeQsDevice(@PathVariable String[] ids, @RequestHeader(SecurityConstants.FROM_SOURCE) String inner);
 
    /**
     * 根据流id获取视频监控设备
     *
     * @param stream 流id
     * @param inner  请求来源
     * @return
     */
    @GetMapping("/api/device/getQsDeviceStream/{stream}")
    R<QsDevice> getQsDeviceStream(@PathVariable String stream, @RequestHeader(SecurityConstants.FROM_SOURCE) String inner);
 
    /**
     * 获取视频监控设备详细信息
     *
     * @param id    设备id
     * @param inner 请求来源
     * @return
     */
    @GetMapping("/api/device/getQsDeviceInfo/{id}")
    R<QsDevice> getQsDeviceInfo(@PathVariable Long id, @RequestHeader(SecurityConstants.FROM_SOURCE) String inner);
 
    /**
     * 设备状态任务
     *
     * @param inner 请求来源
     * @return
     */
    @GetMapping("/api/device/task")
    R<QsDevice> task(@RequestHeader(SecurityConstants.FROM_SOURCE) String inner);
 
    /**
     * 清理设备计划id
     *
     * @param planId 设备id
     * @param inner  请求来源
     */
    @GetMapping("/api/device/cleanRecordPlanId/{planId}")
    R<Void> cleanRecordPlanId(@PathVariable Long planId, @RequestHeader(SecurityConstants.FROM_SOURCE) String inner);
 
    /**
     * 根据设备id集合查询设备信息
     *
     * @param startDeviceIdList 设备id集合
     * @param inner             请求来源
     * @return
     */
    @GetMapping("/api/device/queryByIds/{startDeviceIdList}")
    R<List<QsDevice>> queryByIds(@PathVariable List<Long> startDeviceIdList, @RequestHeader(SecurityConstants.FROM_SOURCE) String inner);
 
    /**
     * 根据计划id查询设备数量
     *
     * @param planId 计划id
     * @param inner  请求来源
     * @return
     */
    @GetMapping("/api/device/countRecordPlanDevice/{planId}")
    R<Integer> countRecordPlanDevice(@PathVariable Long planId, @RequestHeader(SecurityConstants.FROM_SOURCE) String inner);
 
    /**
     * 新增视频监控设备
     *
     * @param qsDevice 视频监控设备
     * @param inner    请求来源
     * @return
     */
    @PostMapping("/api/device/addQsDevice")
    public R<Boolean> addQsDevice(QsDevice qsDevice, @RequestHeader(SecurityConstants.FROM_SOURCE) String inner);
 
    /**
     * 根据 gbDeviceId 更新设备在线状态
     *
     * @param gbDeviceId   国标设备编号
     * @param deviceStatus 设备状态(ON/OFFLINE)
     * @param inner        请求来源
     * @return
     */
    @PostMapping("/api/device/updateDeviceStatusByGbDeviceId/{gbDeviceId}/{deviceStatus}")
    public R<Boolean> updateDeviceStatusByGbDeviceId(@PathVariable String gbDeviceId, @PathVariable String deviceStatus, @RequestHeader(SecurityConstants.FROM_SOURCE) String inner);
 
    /**
     * 根据 jtMobileNo 更新设备在线状态
     *
     * @param jtMobileNo   设备手机号
     * @param deviceStatus 设备状态(ON/OFFLINE)
     * @param inner        请求来源
     * @return
     */
    @PostMapping("/api/device/updateDeviceStatusByJtMobileNo/{jtMobileNo}/{deviceStatus}")
    public R<Boolean> updateDeviceStatusByJtMobileNo(@PathVariable String jtMobileNo, @PathVariable String deviceStatus, @RequestHeader(SecurityConstants.FROM_SOURCE) String inner);
}