package com.doumee.jtt808.web.controller; 
 | 
  
 | 
import io.swagger.annotations.Api; 
 | 
import io.swagger.v3.oas.annotations.Operation; 
 | 
import org.springframework.beans.factory.annotation.Autowired; 
 | 
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.APIResult; 
 | 
import org.yzh.protocol.basics.JTMessage; 
 | 
import org.yzh.protocol.commons.JT808; 
 | 
import org.yzh.protocol.t808.*; 
 | 
import com.doumee.jtt808.web.endpoint.MessageManager; 
 | 
import reactor.core.publisher.Mono; 
 | 
  
 | 
@RestController 
 | 
@RequestMapping("jtt808/device") 
 | 
@Api(tags = "JTT808通信接口") 
 | 
public class JT808Controller { 
 | 
  
 | 
    @Autowired 
 | 
    private MessageManager messageManager; 
 | 
  
 | 
    @Operation(summary = "8103 设置终端参数") 
 | 
    @PostMapping("8103") 
 | 
    public Mono<APIResult<T0001>> T8103(@RequestBody com.doumee.jtt808.web.t808.T8103 request) { 
 | 
        return messageManager.requestR(request.build(), T0001.class); 
 | 
    } 
 | 
  
 | 
    @Operation(summary = "8104 查询终端参数") 
 | 
    @PostMapping("8104") 
 | 
    public Mono<APIResult<T0104>> T8104(@RequestBody JTMessage request) { 
 | 
        return messageManager.requestR(request.messageId(JT808.查询终端参数), T0104.class); 
 | 
    } 
 | 
  
 | 
    @Operation(summary = "8106 查询指定终端参数") 
 | 
    @PostMapping("8106") 
 | 
    public Mono<APIResult<T0104>> T8106(@RequestBody T8106 request) { 
 | 
        return messageManager.requestR(request, T0104.class); 
 | 
    } 
 | 
  
 | 
    @Operation(summary = "8105 终端控制") 
 | 
    @PostMapping("8105") 
 | 
    public Mono<APIResult<T0001>> T8105(@RequestBody T8105 request) { 
 | 
        return messageManager.requestR(request, T0001.class); 
 | 
    } 
 | 
  
 | 
    @Operation(summary = "8107 查询终端属性") 
 | 
    @PostMapping("8107") 
 | 
    public Mono<APIResult<T0107>> T8107(@RequestBody JTMessage request) { 
 | 
        return messageManager.requestR(request.messageId(JT808.查询终端属性), T0107.class); 
 | 
    } 
 | 
  
 | 
    @Operation(summary = "8201 位置信息查询") 
 | 
    @PostMapping("8201") 
 | 
    public Mono<APIResult<T0201_0500>> T8201(@RequestBody JTMessage request) { 
 | 
        return messageManager.requestR(request.messageId(JT808.位置信息查询), T0201_0500.class); 
 | 
    } 
 | 
  
 | 
    @Operation(summary = "8202 临时位置跟踪控制") 
 | 
    @PostMapping("8202") 
 | 
    public Mono<APIResult<T0001>> T8202(@RequestBody T8202 request) { 
 | 
        return messageManager.requestR(request, T0001.class); 
 | 
    } 
 | 
  
 | 
    @Operation(summary = "8203 人工确认报警消息") 
 | 
    @PostMapping("8203") 
 | 
    public Mono<APIResult<T0001>> T8203(@RequestBody T8203 request) { 
 | 
        return messageManager.requestR(request, T0001.class); 
 | 
    } 
 | 
  
 | 
    @Operation(summary = "8204 服务器向终端发起链路检测请求") 
 | 
    @PostMapping("8204") 
 | 
    public Mono<APIResult<T0001>> T8204(@RequestBody JTMessage request) { 
 | 
        return messageManager.requestR(request.messageId(JT808.服务器向终端发起链路检测请求), T0001.class); 
 | 
    } 
 | 
  
 | 
    @Operation(summary = "8300 文本信息下发") 
 | 
    @PostMapping("8300") 
 | 
    public Mono<APIResult<T0001>> T8300(@RequestBody T8300 request) { 
 | 
        return messageManager.requestR(request, T0001.class); 
 | 
    } 
 | 
  
 | 
    @Operation(summary = "8301 事件设置") 
 | 
    @PostMapping("8301") 
 | 
    public Mono<APIResult<T0001>> T8301(@RequestBody T8301 request) { 
 | 
        return messageManager.requestR(request, T0001.class); 
 | 
    } 
 | 
  
 | 
    @Operation(summary = "8302 提问下发") 
 | 
    @PostMapping("8302") 
 | 
    public Mono<APIResult<T0001>> T8302(@RequestBody T8302 request) { 
 | 
        return messageManager.requestR(request, T0001.class); 
 | 
    } 
 | 
  
 | 
    @Operation(summary = "8303 信息点播菜单设置") 
 | 
    @PostMapping("8303") 
 | 
    public Mono<APIResult<T0001>> T8303(@RequestBody T8303 request) { 
 | 
        return messageManager.requestR(request, T0001.class); 
 | 
    } 
 | 
  
 | 
    @Operation(summary = "8304 信息服务") 
 | 
    @PostMapping("8304") 
 | 
    public Mono<APIResult<T0001>> T8304(@RequestBody T8304 request) { 
 | 
        return messageManager.requestR(request, T0001.class); 
 | 
    } 
 | 
  
 | 
    @Operation(summary = "8400 电话回拨") 
 | 
    @PostMapping("8400") 
 | 
    public Mono<APIResult<T0001>> T8400(@RequestBody T8400 request) { 
 | 
        return messageManager.requestR(request, T0001.class); 
 | 
    } 
 | 
  
 | 
    @Operation(summary = "8401 设置电话本") 
 | 
    @PostMapping("8401") 
 | 
    public Mono<APIResult<T0001>> T8401(@RequestBody T8401 request) { 
 | 
        return messageManager.requestR(request, T0001.class); 
 | 
    } 
 | 
  
 | 
    @Operation(summary = "8500 车辆控制") 
 | 
    @PostMapping("8500") 
 | 
    public Mono<APIResult<T0201_0500>> T8500(@RequestBody T8500 request) { 
 | 
        return messageManager.requestR(request, T0201_0500.class); 
 | 
    } 
 | 
  
 | 
    @Operation(summary = "8600 设置圆形区域") 
 | 
    @PostMapping("8600") 
 | 
    public Mono<APIResult<T0001>> T8600(@RequestBody T8600 request) { 
 | 
        return messageManager.requestR(request, T0001.class); 
 | 
    } 
 | 
  
 | 
    @Operation(summary = "8601 删除圆形区域") 
 | 
    @PostMapping("8601") 
 | 
    public Mono<APIResult<T0001>> T8601(@RequestBody T8601 request) { 
 | 
        return messageManager.requestR(request.messageId(JT808.删除圆形区域), T0001.class); 
 | 
    } 
 | 
  
 | 
    @Operation(summary = "8602 设置矩形区域") 
 | 
    @PostMapping("8602") 
 | 
    public Mono<APIResult<T0001>> T8602(@RequestBody T8602 request) { 
 | 
        return messageManager.requestR(request, T0001.class); 
 | 
    } 
 | 
  
 | 
    @Operation(summary = "8603 删除矩形区域") 
 | 
    @PostMapping("8603") 
 | 
    public Mono<APIResult<T0001>> T8603(@RequestBody T8601 request) { 
 | 
        return messageManager.requestR(request.messageId(JT808.删除矩形区域), T0001.class); 
 | 
    } 
 | 
  
 | 
    @Operation(summary = "8604 设置多边形区域") 
 | 
    @PostMapping("8604") 
 | 
    public Mono<APIResult<T0001>> T8604(@RequestBody T8604 request) { 
 | 
        return messageManager.requestR(request, T0001.class); 
 | 
    } 
 | 
  
 | 
    @Operation(summary = "8605 删除多边形区域") 
 | 
    @PostMapping("8605") 
 | 
    public Mono<APIResult<T0001>> T8605(@RequestBody T8601 request) { 
 | 
        return messageManager.requestR(request.messageId(JT808.删除多边形区域), T0001.class); 
 | 
    } 
 | 
  
 | 
    @Operation(summary = "8606 设置路线") 
 | 
    @PostMapping("8606") 
 | 
    public Mono<APIResult<T0001>> T8606(@RequestBody T8606 request) { 
 | 
        return messageManager.requestR(request, T0001.class); 
 | 
    } 
 | 
  
 | 
    @Operation(summary = "8607 删除路线") 
 | 
    @PostMapping("8607") 
 | 
    public Mono<APIResult<T0001>> T8607(@RequestBody T8601 request) { 
 | 
        return messageManager.requestR(request.messageId(JT808.删除路线), T0001.class); 
 | 
    } 
 | 
  
 | 
    @Operation(summary = "8608 查询区域或线路数据") 
 | 
    @PostMapping("8608") 
 | 
    public Mono<APIResult<T0608>> T8608(@RequestBody T8608 request) { 
 | 
        return messageManager.requestR(request, T0608.class); 
 | 
    } 
 | 
  
 | 
    @Operation(summary = "8700 行驶记录仪数据采集命令") 
 | 
    @PostMapping("8700") 
 | 
    public Mono<APIResult<T0001>> T8700(@RequestBody JTMessage request) { 
 | 
        return messageManager.requestR(request.messageId(JT808.行驶记录仪数据采集命令), T0001.class); 
 | 
    } 
 | 
  
 | 
    @Operation(summary =  "8701 行驶记录仪参数下传命令") 
 | 
    @PostMapping("8701") 
 | 
    public Mono<APIResult<T0001>> T8701(@RequestBody T8701 request) { 
 | 
        return messageManager.requestR(request, T0001.class); 
 | 
    } 
 | 
  
 | 
    @Operation(summary = "8702 上报驾驶员身份信息请求") 
 | 
    @PostMapping("8702") 
 | 
    public Mono<APIResult<T0702>> T8702(@RequestBody JTMessage request) { 
 | 
        return messageManager.requestR(request.messageId(JT808.上报驾驶员身份信息请求), T0702.class); 
 | 
    } 
 | 
  
 | 
    @Operation(summary = "8801 摄像头立即拍摄命令") 
 | 
    @PostMapping("8801") 
 | 
    public Mono<APIResult<T0805>> T8801(@RequestBody T8801 request) { 
 | 
        return messageManager.requestR(request, T0805.class); 
 | 
    } 
 | 
  
 | 
    @Operation(summary = "8802 存储多媒体数据检索") 
 | 
    @PostMapping("8802") 
 | 
    public Mono<APIResult<T0802>> T8802(@RequestBody T8802 request) { 
 | 
        return messageManager.requestR(request, T0802.class); 
 | 
    } 
 | 
  
 | 
    @Operation(summary = "8803 存储多媒体数据上传") 
 | 
    @PostMapping("8803") 
 | 
    public Mono<APIResult<T0001>> T8803(@RequestBody T8803 request) { 
 | 
        return messageManager.requestR(request, T0001.class); 
 | 
    } 
 | 
  
 | 
    @Operation(summary = "8804 录音开始命令") 
 | 
    @PostMapping("8804") 
 | 
    public Mono<APIResult<T0001>> T8804(@RequestBody T8804 request) { 
 | 
        return messageManager.requestR(request, T0001.class); 
 | 
    } 
 | 
  
 | 
    @Operation(summary = "8805 单条存储多媒体数据检索上传命令") 
 | 
    @PostMapping("8805") 
 | 
    public Mono<APIResult<T0001>> T8805(@RequestBody T8805 request) { 
 | 
        return messageManager.requestR(request, T0001.class); 
 | 
    } 
 | 
  
 | 
    @Operation(summary = "8108 下发终端升级包") 
 | 
    @PostMapping("8108") 
 | 
    public Mono<APIResult<T0001>> T8108(@RequestBody T8108 request) { 
 | 
        return messageManager.requestR(request, T0001.class); 
 | 
    } 
 | 
  
 | 
    @Operation(summary = "8900 数据下行透传") 
 | 
    @PostMapping("8900") 
 | 
    public Mono<APIResult<T0001>> T8900(@RequestBody com.doumee.jtt808.web.t808.T8900 request) { 
 | 
        return messageManager.requestR(request.build(), T0001.class); 
 | 
    } 
 | 
  
 | 
    @Operation(summary = "8A00 平台RSA公钥") 
 | 
    @PostMapping("8A00") 
 | 
    public Mono<APIResult<T0A00_8A00>> T8A00(@RequestBody com.doumee.jtt808.web.t808.T0A00_8A00 request) { 
 | 
        return messageManager.requestR(request.build(), T0A00_8A00.class); 
 | 
    } 
 | 
} 
 |