From b7c05407dcf01cd7c01fde0efdf2a6a0283d4016 Mon Sep 17 00:00:00 2001
From: rain <167982779@qq.com>
Date: Sat, 03 Aug 2024 17:50:22 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/ht-dev' into ht-dev

---
 src/main/java/com/dji/sample/droneairport/service/impl/RegistServiceImpl.java |   97 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 97 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/dji/sample/droneairport/service/impl/RegistServiceImpl.java b/src/main/java/com/dji/sample/droneairport/service/impl/RegistServiceImpl.java
new file mode 100644
index 0000000..62b4dea
--- /dev/null
+++ b/src/main/java/com/dji/sample/droneairport/service/impl/RegistServiceImpl.java
@@ -0,0 +1,97 @@
+package com.dji.sample.droneairport.service.impl;
+
+import com.dji.sample.droneairport.model.dto.DroneStateDto;
+import com.dji.sample.droneairport.model.param.AddDeviceParam;
+import com.dji.sample.droneairport.model.param.RegistParam;
+import com.dji.sample.droneairport.service.RegistService;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.springframework.http.*;
+import org.springframework.stereotype.Service;
+import org.springframework.web.client.RestTemplate;
+
+import java.util.List;
+
+@Service
+public class RegistServiceImpl implements RegistService {
+    private final RestTemplate restTemplate = new RestTemplate();
+    private final ObjectMapper objectMapper = new ObjectMapper();
+
+    public String registPort(RegistParam param) {
+        try {
+            // 构建请求体
+            String jsonBody = buildRequestBody(param);
+            // 设置请求头
+            HttpHeaders headers = new HttpHeaders();
+            headers.setContentType(MediaType.APPLICATION_JSON);
+            headers.setAccept(List.of(MediaType.APPLICATION_JSON, MediaType.TEXT_PLAIN, MediaType.ALL));
+            headers.set("Accept-Language", "zh-CN,zh;q=0.9");
+            headers.setConnection("keep-alive");
+            headers.set("x-auth-token", "");
+            headers.set("x-lc-token","");
+            // 构建请求实体
+            HttpEntity<String> requestEntity = new HttpEntity<>(jsonBody, headers);
+            // 发送请求
+            ResponseEntity<String> response = restTemplate.exchange(
+                    "https://wrj.shuixiongit.com/drone-api/droneAirport/test",
+                    HttpMethod.POST,
+                    requestEntity,
+                    String.class);
+            return response.getBody();
+
+        } catch (Exception e) {
+            // 异常处理
+            throw new IllegalArgumentException("Request failed: " + e.getMessage(), e);
+        }
+    }
+
+    private String buildRequestBody(RegistParam param) {
+        try {
+            return objectMapper.writeValueAsString(param);
+        } catch (JsonProcessingException e) {
+            throw new RuntimeException("数据有误", e);
+        }
+    }
+
+    @Override
+    public String addDrone(AddDeviceParam param) {
+        try {
+            // 构建请求体
+            String jsonBody = buildRequestBody(param);
+            // 设置请求头
+            HttpHeaders headers = new HttpHeaders();
+            headers.setContentType(MediaType.APPLICATION_JSON);
+            headers.setAccept(List.of(MediaType.APPLICATION_JSON, MediaType.TEXT_PLAIN, MediaType.ALL));
+            headers.set("Accept-Language", "zh-CN,zh;q=0.9");
+            headers.setConnection("keep-alive");
+            headers.set("x-auth-token", "");
+            headers.set("x-lc-token","");
+            // 构建请求实体
+            HttpEntity<String> requestEntity = new HttpEntity<>(jsonBody, headers);
+            // 发送请求
+            ResponseEntity<String> response = restTemplate.exchange(
+                    "https://wrj.shuixiongit.com/drone-api/droneAirport/test",
+                    HttpMethod.POST,
+                    requestEntity,
+                    String.class);
+            return response.getBody();
+
+        } catch (Exception e) {
+            // 异常处理
+            throw new IllegalArgumentException("Request failed: " + e.getMessage(), e);
+        }
+    }
+
+    @Override
+    public DroneStateDto getDroneState(String deviceId) {
+        return null;
+    }
+
+    private String buildRequestBody(AddDeviceParam param) {
+        try {
+            return objectMapper.writeValueAsString(param);
+        } catch (JsonProcessingException e) {
+            throw new RuntimeException("数据有误", e);
+        }
+    }
+}

--
Gitblit v1.9.3