18045010223
2025-07-07 0d3a683a0c97154b1f2e6657398664537e4e3e82
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
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
package org.yzh.web.controller;
 
import io.swagger.v3.oas.annotations.Operation;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.yzh.commons.model.R;
import org.yzh.protocol.basics.JTMessage;
import org.yzh.protocol.commons.JT808;
import org.yzh.protocol.t808.*;
import org.yzh.web.endpoint.MessageManager;
import reactor.core.publisher.Mono;
 
@RestController
@RequestMapping("device")
@RequiredArgsConstructor
public class JT808Controller {
 
    private final MessageManager messageManager;
 
    @Operation(summary = "8103 设置终端参数")
    @PostMapping("8103")
    public Mono<R<T0001>> T8103(@RequestBody T8103 request) {
        return messageManager.requestR(request.build(), T0001.class);
    }
 
    @Operation(summary = "8104 查询终端参数")
    @PostMapping("8104")
    public Mono<R<T0104>> T8104(@RequestBody JTMessage request) {
        return messageManager.requestR(request.setMessageId(JT808.查询终端参数), T0104.class);
    }
 
    @Operation(summary = "8106 查询指定终端参数")
    @PostMapping("8106")
    public Mono<R<T0104>> T8106(@RequestBody T8106 request) {
        return messageManager.requestR(request, T0104.class);
    }
 
    @Operation(summary = "8105 终端控制")
    @PostMapping("8105")
    public Mono<R<T0001>> T8105(@RequestBody T8105 request) {
        return messageManager.requestR(request, T0001.class);
    }
 
    @Operation(summary = "8107 查询终端属性")
    @PostMapping("8107")
    public Mono<R<T0107>> T8107(@RequestBody JTMessage request) {
        return messageManager.requestR(request.setMessageId(JT808.查询终端属性), T0107.class);
    }
 
    @Operation(summary = "8201 位置信息查询")
    @PostMapping("8201")
    public Mono<R<T0201_0500>> T8201(@RequestBody JTMessage request) {
        return messageManager.requestR(request.setMessageId(JT808.位置信息查询), T0201_0500.class);
    }
 
    @Operation(summary = "8202 临时位置跟踪控制")
    @PostMapping("8202")
    public Mono<R<T0001>> T8202(@RequestBody T8202 request) {
        return messageManager.requestR(request, T0001.class);
    }
 
    @Operation(summary = "8203 人工确认报警消息")
    @PostMapping("8203")
    public Mono<R<T0001>> T8203(@RequestBody T8203 request) {
        return messageManager.requestR(request, T0001.class);
    }
 
    @Operation(summary = "8204 服务器向终端发起链路检测请求")
    @PostMapping("8204")
    public Mono<R<T0001>> T8204(@RequestBody JTMessage request) {
        return messageManager.requestR(request.setMessageId(JT808.服务器向终端发起链路检测请求), T0001.class);
    }
 
    @Operation(summary = "8300 文本信息下发")
    @PostMapping("8300")
    public Mono<R<T0001>> T8300(@RequestBody T8300 request) {
        return messageManager.requestR(request, T0001.class);
    }
 
    @Operation(summary = "8301 事件设置")
    @PostMapping("8301")
    public Mono<R<T0001>> T8301(@RequestBody T8301 request) {
        return messageManager.requestR(request, T0001.class);
    }
 
    @Operation(summary = "8302 提问下发")
    @PostMapping("8302")
    public Mono<R<T0001>> T8302(@RequestBody T8302 request) {
        return messageManager.requestR(request, T0001.class);
    }
 
    @Operation(summary = "8303 信息点播菜单设置")
    @PostMapping("8303")
    public Mono<R<T0001>> T8303(@RequestBody T8303 request) {
        return messageManager.requestR(request, T0001.class);
    }
 
    @Operation(summary = "8304 信息服务")
    @PostMapping("8304")
    public Mono<R<T0001>> T8304(@RequestBody T8304 request) {
        return messageManager.requestR(request, T0001.class);
    }
 
    @Operation(summary = "8400 电话回拨")
    @PostMapping("8400")
    public Mono<R<T0001>> T8400(@RequestBody T8400 request) {
        return messageManager.requestR(request, T0001.class);
    }
 
    @Operation(summary = "8401 设置电话本")
    @PostMapping("8401")
    public Mono<R<T0001>> T8401(@RequestBody T8401 request) {
        return messageManager.requestR(request, T0001.class);
    }
 
    @Operation(summary = "8500 车辆控制")
    @PostMapping("8500")
    public Mono<R<T0201_0500>> T8500(@RequestBody T8500 request) {
        return messageManager.requestR(request, T0201_0500.class);
    }
 
    @Operation(summary = "8600 设置圆形区域")
    @PostMapping("8600")
    public Mono<R<T0001>> T8600(@RequestBody T8600 request) {
        return messageManager.requestR(request, T0001.class);
    }
 
    @Operation(summary = "8601 删除圆形区域")
    @PostMapping("8601")
    public Mono<R<T0001>> T8601(@RequestBody T8601 request) {
        return messageManager.requestR(request.setMessageId(JT808.删除圆形区域), T0001.class);
    }
 
    @Operation(summary = "8602 设置矩形区域")
    @PostMapping("8602")
    public Mono<R<T0001>> T8602(@RequestBody T8602 request) {
        return messageManager.requestR(request, T0001.class);
    }
 
    @Operation(summary = "8603 删除矩形区域")
    @PostMapping("8603")
    public Mono<R<T0001>> T8603(@RequestBody T8601 request) {
        return messageManager.requestR(request.setMessageId(JT808.删除矩形区域), T0001.class);
    }
 
    @Operation(summary = "8604 设置多边形区域")
    @PostMapping("8604")
    public Mono<R<T0001>> T8604(@RequestBody T8604 request) {
        return messageManager.requestR(request, T0001.class);
    }
 
    @Operation(summary = "8605 删除多边形区域")
    @PostMapping("8605")
    public Mono<R<T0001>> T8605(@RequestBody T8601 request) {
        return messageManager.requestR(request.setMessageId(JT808.删除多边形区域), T0001.class);
    }
 
    @Operation(summary = "8606 设置路线")
    @PostMapping("8606")
    public Mono<R<T0001>> T8606(@RequestBody T8606 request) {
        return messageManager.requestR(request, T0001.class);
    }
 
    @Operation(summary = "8607 删除路线")
    @PostMapping("8607")
    public Mono<R<T0001>> T8607(@RequestBody T8601 request) {
        return messageManager.requestR(request.setMessageId(JT808.删除路线), T0001.class);
    }
 
    @Operation(summary = "8608 查询区域或线路数据")
    @PostMapping("8608")
    public Mono<R<T0608>> T8608(@RequestBody T8608 request) {
        return messageManager.requestR(request, T0608.class);
    }
 
    @Operation(summary = "8700 行驶记录仪数据采集命令")
    @PostMapping("8700")
    public Mono<R<T0001>> T8700(@RequestBody JTMessage request) {
        return messageManager.requestR(request.setMessageId(JT808.行驶记录仪数据采集命令), T0001.class);
    }
 
    @Operation(summary = "8701 行驶记录仪参数下传命令")
    @PostMapping("8701")
    public Mono<R<T0001>> T8701(@RequestBody T8701 request) {
        return messageManager.requestR(request, T0001.class);
    }
 
    @Operation(summary = "8702 上报驾驶员身份信息请求")
    @PostMapping("8702")
    public Mono<R<T0702>> T8702(@RequestBody JTMessage request) {
        return messageManager.requestR(request.setMessageId(JT808.上报驾驶员身份信息请求), T0702.class);
    }
 
    @Operation(summary = "8801 摄像头立即拍摄命令")
    @PostMapping("8801")
    public Mono<R<T0805>> T8801(@RequestBody T8801 request) {
        return messageManager.requestR(request, T0805.class);
    }
 
    @Operation(summary = "8802 存储多媒体数据检索")
    @PostMapping("8802")
    public Mono<R<T0802>> T8802(@RequestBody T8802 request) {
        return messageManager.requestR(request, T0802.class);
    }
 
    @Operation(summary = "8803 存储多媒体数据上传")
    @PostMapping("8803")
    public Mono<R<T0001>> T8803(@RequestBody T8803 request) {
        return messageManager.requestR(request, T0001.class);
    }
 
    @Operation(summary = "8804 录音开始命令")
    @PostMapping("8804")
    public Mono<R<T0001>> T8804(@RequestBody T8804 request) {
        return messageManager.requestR(request, T0001.class);
    }
 
    @Operation(summary = "8805 单条存储多媒体数据检索上传命令")
    @PostMapping("8805")
    public Mono<R<T0001>> T8805(@RequestBody T8805 request) {
        return messageManager.requestR(request, T0001.class);
    }
 
    @Operation(summary = "8108 下发终端升级包")
    @PostMapping("8108")
    public Mono<R<T0001>> T8108(@RequestBody T8108 request) {
        return messageManager.requestR(request, T0001.class);
    }
 
    @Operation(summary = "8900 数据下行透传")
    @PostMapping("8900")
    public Mono<R<T0001>> T8900(@RequestBody T8900 request) {
        return messageManager.requestR(request.build(), T0001.class);
    }
 
    @Operation(summary = "8A00 平台RSA公钥")
    @PostMapping("8A00")
    public Mono<R<T0A00_8A00>> T8A00(@RequestBody T0A00_8A00 request) {
        return messageManager.requestR(request, T0A00_8A00.class);
    }
}