| | |
| | | import com.fasterxml.jackson.databind.ObjectMapper; |
| | | import com.ycl.annotation.LogSave; |
| | | import com.ycl.api.CommonResult; |
| | | import com.ycl.dto.casePool.ViolationParam; |
| | | import com.ycl.dto.v1.Req.FirstReq; |
| | | import com.ycl.dto.v1.Req.GpsSubscribe; |
| | | import com.ycl.dto.v1.Req.SecondReq; |
| | | import com.ycl.dto.v1.Res.FirstRes; |
| | | import com.ycl.dto.video.AlarmParam; |
| | |
| | | |
| | | @Api(tags = "第三方接口-大华") |
| | | @RestController |
| | | @RequestMapping("/API/videoService/eventCenter/messages") |
| | | @RequestMapping("/API") |
| | | public class TranspondDHController { |
| | | |
| | | @Value("${videoPoint.url}") |
| | | @Value("${DH.web_url}") |
| | | private String url; |
| | | |
| | | @Value("${videoPoint.userName}") |
| | | @Value("${DH.userName}") |
| | | private String userName; |
| | | |
| | | @Value("${videoPoint.passWord}") |
| | | @Value("${DH.passWord}") |
| | | private String passWord; |
| | | |
| | | @Value("${videoPoint.ip}") |
| | | private String ip; |
| | | |
| | | @ApiOperation("消息订阅") |
| | | @GetMapping("/subscribeAddress") |
| | | @GetMapping("/videoService/eventCenter/messages/subscribeAddress") |
| | | public CommonResult subscribeAddress() { |
| | | String url = "/videoService/eventCenter/messages/subscribeAddress"; |
| | | return getResult(url, ""); |
| | | } |
| | | |
| | | @ApiOperation("用户信息") |
| | | @GetMapping("/udu/user/infos") |
| | | public CommonResult infos() { |
| | | String url = "/udu/user/infos"; |
| | | return getResult(url, ""); |
| | | } |
| | | |
| | | @ApiOperation("gps订阅") |
| | | @PostMapping("/dsu/gps/subscribe") |
| | | public CommonResult gps_subscribe(@RequestBody GpsSubscribe subscribe) { |
| | | String url = "/dsu/gps/subscribe"; |
| | | postResult(url, subscribe); |
| | | return CommonResult.success("订阅成功"); |
| | | } |
| | | |
| | | @ApiOperation("gps用户订阅") |
| | | @PostMapping("/dsu/gps/user/subscribe") |
| | | public CommonResult gps_user_subscribe(@RequestBody GpsSubscribe subscribe) { |
| | | String url = "/dsu/gps/user/subscribe"; |
| | | postResult(url, subscribe); |
| | | return CommonResult.success("订阅成功"); |
| | | } |
| | | |
| | | |
| | | @ApiOperation("长轮询获取消息") |
| | | @GetMapping("/subscribe") |
| | | @GetMapping("/videoService/eventCenter/messages/subscribe") |
| | | public CommonResult subscribe(@RequestParam Integer type, |
| | | @RequestParam Integer msgId, |
| | | @RequestParam(required = false) Integer msgNum, |
| | | @RequestParam(required = false) Integer waitSec) { |
| | | String url = "/videoService/eventCenter/messages/subscribe"; |
| | | String param = "?type=" + type + "&msgId=" + msgId + "&msgNum=" + msgNum + "&waitSec=" + waitSec; |
| | | String param = "?type=" + type + "&msgId=" + msgId + "&waitSec=" + waitSec + "&msgNum=" + msgNum; |
| | | |
| | | return getResult(url, param); |
| | | } |
| | | |
| | | private CommonResult<?> getResult(String url, String param) { |
| | | private CommonResult<?> getResult(String reqUrl, String param) { |
| | | try { |
| | | String token = getToken(); |
| | | |
| | | // System.out.println("定位接口url:" + url + reqUrl + param); |
| | | HttpHeaders deviceHeaders = new HttpHeaders(); |
| | | ObjectMapper objectMapper = new ObjectMapper(); |
| | | deviceHeaders.add("X-Subject-Token", token); |
| | | HttpEntity<Object> deviceEntity = new HttpEntity<>(deviceHeaders); |
| | | |
| | | RestTemplate restTemplate = new RestTemplate(); |
| | | ResponseEntity<String> exchange = restTemplate.exchange(url + param, HttpMethod.GET, deviceEntity, String.class); |
| | | ResponseEntity<String> exchange = restTemplate.exchange(url + reqUrl + param, HttpMethod.GET, deviceEntity, String.class); |
| | | System.out.println(exchange); |
| | | return CommonResult.success(exchange); |
| | | } catch (Exception ex) { |
| | | System.out.println("定位接口错误:" + ex.getMessage()); |
| | | return CommonResult.failed(); |
| | | } |
| | | } |
| | | |
| | | private void postResult(String reqUrl, GpsSubscribe subscribe) { |
| | | try { |
| | | String token = getToken(); |
| | | // System.out.println("定位接口url:" + url + reqUrl + subscribe.toString()); |
| | | HttpHeaders deviceHeaders = new HttpHeaders(); |
| | | ObjectMapper objectMapper = new ObjectMapper(); |
| | | deviceHeaders.add("X-Subject-Token", token); |
| | | HttpEntity<Object> deviceEntity = new HttpEntity<>(deviceHeaders); |
| | | //请求头 |
| | | HttpHeaders httpHeaders = new HttpHeaders(); |
| | | httpHeaders.setContentType(MediaType.APPLICATION_JSON); |
| | | |
| | | RestTemplate restTemplate = new RestTemplate(); |
| | | HttpEntity<String> secondEntity = new HttpEntity<>(objectMapper.writeValueAsString(subscribe), httpHeaders); |
| | | ResponseEntity<String> resEntity = restTemplate.postForEntity(url + reqUrl, secondEntity, String.class); |
| | | |
| | | System.out.println(resEntity.toString()); |
| | | } catch (Exception ex) { |
| | | System.out.println("定位接口错误:" + ex.getMessage()); |
| | | } |
| | | } |
| | | |
| | | |
| | | private String getToken() throws JsonProcessingException { |
| | | |