From 7f9d813634b584abc6e076bf777f6064eaede3d2 Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: Tue, 22 Oct 2024 10:28:47 +0800
Subject: [PATCH] 增加:获取直播地址|获取飞行历史|获取任务照片
---
ard-work/src/main/java/com/ard/tianyu/model/receiver/BoxPhotosReceiver.java | 38 +++++++
ard-work/src/main/java/com/ard/tianyu/service/impl/TyServiceImpl.java | 43 ++++++++
ard-work/src/main/java/com/ard/tianyu/http/TyClient.java | 17 ++
ard-work/src/main/java/com/ard/tianyu/controller/UavController.java | 31 +++++
ard-work/src/main/java/com/ard/tianyu/model/receiver/AccessTokenReceiver.java | 1
ard-work/src/main/java/com/ard/tianyu/service/ITyService.java | 26 ++++
ard-work/src/main/java/com/ard/tianyu/model/dto/BoxHistoryDTO.java | 31 ++++++
ard-work/src/main/java/com/ard/tianyu/model/dto/BoxPhotosDTO.java | 24 ++++
ard-work/src/main/java/com/ard/tianyu/model/receiver/PullStreamUrlReceiver.java | 26 +++++
ard-work/src/main/java/com/ard/tianyu/model/receiver/BoxHistoryReceiver.java | 38 +++++++
10 files changed, 261 insertions(+), 14 deletions(-)
diff --git a/ard-work/src/main/java/com/ard/tianyu/controller/UavController.java b/ard-work/src/main/java/com/ard/tianyu/controller/UavController.java
index 757ab0b..4eba05c 100644
--- a/ard-work/src/main/java/com/ard/tianyu/controller/UavController.java
+++ b/ard-work/src/main/java/com/ard/tianyu/controller/UavController.java
@@ -1,13 +1,16 @@
package com.ard.tianyu.controller;
import com.ard.common.core.domain.AjaxResult;
+import com.ard.tianyu.model.dto.BoxHistoryDTO;
+import com.ard.tianyu.model.dto.BoxPhotosDTO;
+import com.ard.tianyu.model.receiver.BoxHistoryReceiver;
+import com.ard.tianyu.model.receiver.BoxPhotosReceiver;
import com.ard.tianyu.model.receiver.BoxReceiver;
+import com.ard.tianyu.model.receiver.PullStreamUrlReceiver;
import com.ard.tianyu.service.ITyService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
@@ -36,7 +39,27 @@
@GetMapping("/getBoxList")
public AjaxResult getBoxList() {
List<BoxReceiver> BoxList = tyService.getBoxList();
- //{"state":0,"content":{"companyId":4127,"accessToken":"sOONT0MMVdoKcMBibb40xxgrUrq0Hw9RFiajic3KOzoNtk"}}
return AjaxResult.success(BoxList);
}
+
+ @ApiOperation("获取直播地址")
+ @GetMapping("/getBoxList/{boxSn}")
+ public AjaxResult getBoxLiveUrl(@PathVariable("boxSn") String boxSn) {
+ PullStreamUrlReceiver boxLiveUrl = tyService.getBoxLiveUrl(boxSn);
+ return AjaxResult.success(boxLiveUrl);
+ }
+
+ @ApiOperation("获取飞行历史")
+ @PostMapping("/getBoxHistory")
+ public AjaxResult getBoxHistory(@RequestBody BoxHistoryDTO boxHistoryDTO) {
+ List<BoxHistoryReceiver> boxHistory = tyService.getBoxHistory(boxHistoryDTO);
+ return AjaxResult.success(boxHistory);
+ }
+
+ @ApiOperation("获取任务照片")
+ @PostMapping("/getBoxPhotos")
+ public AjaxResult getBoxPhotos(@RequestBody BoxPhotosDTO boxPhotosDTO) {
+ List<BoxPhotosReceiver> boxPhotos = tyService.getBoxPhotos(boxPhotosDTO);
+ return AjaxResult.success(boxPhotos);
+ }
}
\ No newline at end of file
diff --git a/ard-work/src/main/java/com/ard/tianyu/http/TyClient.java b/ard-work/src/main/java/com/ard/tianyu/http/TyClient.java
index ec6c518..3978c29 100644
--- a/ard-work/src/main/java/com/ard/tianyu/http/TyClient.java
+++ b/ard-work/src/main/java/com/ard/tianyu/http/TyClient.java
@@ -1,9 +1,9 @@
package com.ard.tianyu.http;
+import com.ard.tianyu.model.dto.BoxHistoryDTO;
+import com.ard.tianyu.model.dto.BoxPhotosDTO;
import com.ard.tianyu.model.dto.TokenDTO;
-import com.ard.tianyu.model.receiver.AccessTokenReceiver;
-import com.ard.tianyu.model.receiver.BoxReceiver;
-import com.ard.tianyu.model.receiver.TyHttpCommonReceiver;
+import com.ard.tianyu.model.receiver.*;
import com.dtflys.forest.annotation.*;
import java.util.List;
@@ -25,4 +25,13 @@
@Get(TyConst.GET_BOX_LIST)
TyHttpCommonReceiver<List<BoxReceiver>> getBoxList(@Header Map<String, String> headers);
-}
+
+ @Get(TyConst.GET_BOX_LIVE_URL)
+ TyHttpCommonReceiver<PullStreamUrlReceiver> getBoxLiveUrl(@Var("boxSn") String boxSn, @Header Map<String, String> headers);
+
+ @Post(TyConst.POST_BOX_HISTORY)
+ TyHttpCommonReceiver<List<BoxHistoryReceiver>> getBoxHistory(@JSONBody BoxHistoryDTO boxHistoryDTO, @Header Map<String, String> headers);
+
+ @Post(TyConst.POST_BOX_PHOTOS)
+ TyHttpCommonReceiver<List<BoxPhotosReceiver>> getBoxPhotos(@JSONBody BoxPhotosDTO boxPhotosDTO, @Header Map<String, String> headers);
+}
\ No newline at end of file
diff --git a/ard-work/src/main/java/com/ard/tianyu/model/dto/BoxHistoryDTO.java b/ard-work/src/main/java/com/ard/tianyu/model/dto/BoxHistoryDTO.java
new file mode 100644
index 0000000..d6bc0c3
--- /dev/null
+++ b/ard-work/src/main/java/com/ard/tianyu/model/dto/BoxHistoryDTO.java
@@ -0,0 +1,31 @@
+package com.ard.tianyu.model.dto;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+public class BoxHistoryDTO {
+
+ @JsonProperty("boxSn")
+ private String boxSn;
+
+ @JsonProperty("startTime")
+ private String startTime;
+
+ @JsonProperty("endTime")
+ private String endTime;
+
+ @JsonProperty("pageIndex")
+ private Integer pageIndex;
+
+ @JsonProperty("pageSize")
+ private Integer pageSize;
+
+}
+
diff --git a/ard-work/src/main/java/com/ard/tianyu/model/dto/BoxPhotosDTO.java b/ard-work/src/main/java/com/ard/tianyu/model/dto/BoxPhotosDTO.java
new file mode 100644
index 0000000..081d245
--- /dev/null
+++ b/ard-work/src/main/java/com/ard/tianyu/model/dto/BoxPhotosDTO.java
@@ -0,0 +1,24 @@
+package com.ard.tianyu.model.dto;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+public class BoxPhotosDTO {
+
+ @JsonProperty("taskId")
+ private Integer taskId;
+
+ @JsonProperty("pageIndex")
+ private Integer pageIndex;
+
+ @JsonProperty("pageSize")
+ private Integer pageSize;
+
+}
\ No newline at end of file
diff --git a/ard-work/src/main/java/com/ard/tianyu/model/receiver/AccessTokenReceiver.java b/ard-work/src/main/java/com/ard/tianyu/model/receiver/AccessTokenReceiver.java
index f36b13a..01c11ec 100644
--- a/ard-work/src/main/java/com/ard/tianyu/model/receiver/AccessTokenReceiver.java
+++ b/ard-work/src/main/java/com/ard/tianyu/model/receiver/AccessTokenReceiver.java
@@ -3,7 +3,6 @@
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
-import org.springframework.http.HttpHeaders;
import org.springframework.util.MultiValueMap;
import java.util.HashMap;
diff --git a/ard-work/src/main/java/com/ard/tianyu/model/receiver/BoxHistoryReceiver.java b/ard-work/src/main/java/com/ard/tianyu/model/receiver/BoxHistoryReceiver.java
new file mode 100644
index 0000000..16cdaea
--- /dev/null
+++ b/ard-work/src/main/java/com/ard/tianyu/model/receiver/BoxHistoryReceiver.java
@@ -0,0 +1,38 @@
+package com.ard.tianyu.model.receiver;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+
+@Data
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class BoxHistoryReceiver {
+
+ @JsonProperty("taskId")
+ private Integer taskId;
+
+ @JsonProperty("boxSn")
+ private String boxSn;
+
+ @JsonProperty("boxName")
+ private String boxName;
+
+ @JsonProperty("taskName")
+ private String taskName;
+
+ @JsonProperty("photoCount")
+ private String photoCount;
+
+ @JsonProperty("telemetryPath")
+ private String telemetryPath;
+
+ @JsonProperty("videoPath")
+ private String videoPath;
+
+ @JsonProperty("startTime")
+ private String startTime;
+
+ @JsonProperty("endTime")
+ private String endTime;
+
+}
diff --git a/ard-work/src/main/java/com/ard/tianyu/model/receiver/BoxPhotosReceiver.java b/ard-work/src/main/java/com/ard/tianyu/model/receiver/BoxPhotosReceiver.java
new file mode 100644
index 0000000..183b598
--- /dev/null
+++ b/ard-work/src/main/java/com/ard/tianyu/model/receiver/BoxPhotosReceiver.java
@@ -0,0 +1,38 @@
+package com.ard.tianyu.model.receiver;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+
+@Data
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class BoxPhotosReceiver {
+
+ @JsonProperty("photoId")
+ private Long photoId;
+
+ @JsonProperty("lng")
+ private Double lng;
+
+ @JsonProperty("lat")
+ private Double lat;
+
+ @JsonProperty("height")
+ private Double height;
+
+ @JsonProperty("taskId")
+ private Long taskId;
+
+ @JsonProperty("fileSize")
+ private Long fileSize;
+
+ @JsonProperty("fileMd5")
+ private String fileMd5;
+
+ @JsonProperty("imgUrl")
+ private String imgUrl;
+
+ @JsonProperty("timeStamp")
+ private Long timeStamp;
+
+}
diff --git a/ard-work/src/main/java/com/ard/tianyu/model/receiver/PullStreamUrlReceiver.java b/ard-work/src/main/java/com/ard/tianyu/model/receiver/PullStreamUrlReceiver.java
new file mode 100644
index 0000000..4b2d808
--- /dev/null
+++ b/ard-work/src/main/java/com/ard/tianyu/model/receiver/PullStreamUrlReceiver.java
@@ -0,0 +1,26 @@
+package com.ard.tianyu.model.receiver;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+
+@Data
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class PullStreamUrlReceiver {
+
+ @JsonProperty("rtsp")
+ private String rtsp;
+
+ @JsonProperty("rtmp")
+ private String rtmp;
+
+ @JsonProperty("flv")
+ private String flv;
+
+ @JsonProperty("hls")
+ private String hls;
+
+ @JsonProperty("rtc")
+ private String rtc;
+
+}
\ No newline at end of file
diff --git a/ard-work/src/main/java/com/ard/tianyu/service/ITyService.java b/ard-work/src/main/java/com/ard/tianyu/service/ITyService.java
index d057f79..c1bccd2 100644
--- a/ard-work/src/main/java/com/ard/tianyu/service/ITyService.java
+++ b/ard-work/src/main/java/com/ard/tianyu/service/ITyService.java
@@ -1,9 +1,13 @@
package com.ard.tianyu.service;
-import com.ard.tianyu.model.receiver.AccessTokenReceiver;
-import com.ard.tianyu.model.receiver.BoxReceiver;
+import com.ard.tianyu.model.dto.BoxHistoryDTO;
+import com.ard.tianyu.model.dto.BoxPhotosDTO;
+import com.ard.tianyu.model.receiver.*;
+import com.dtflys.forest.annotation.Header;
+import com.dtflys.forest.annotation.Var;
import java.util.List;
+import java.util.Map;
/**
* ITyService
@@ -26,4 +30,22 @@
*/
List<BoxReceiver> getBoxList();
+ /**
+ * 获取直播地址
+ * @return
+ */
+ PullStreamUrlReceiver getBoxLiveUrl(@Var("boxSn") String boxSn);
+
+ /**
+ * 获取飞行历史
+ * @return
+ */
+ List<BoxHistoryReceiver> getBoxHistory(BoxHistoryDTO boxHistoryDTO);
+
+ /**
+ * 获取盒子图片
+ * @return
+ */
+ List<BoxPhotosReceiver> getBoxPhotos(BoxPhotosDTO boxPhotosDTO);
+
}
diff --git a/ard-work/src/main/java/com/ard/tianyu/service/impl/TyServiceImpl.java b/ard-work/src/main/java/com/ard/tianyu/service/impl/TyServiceImpl.java
index 8734666..8fbd088 100644
--- a/ard-work/src/main/java/com/ard/tianyu/service/impl/TyServiceImpl.java
+++ b/ard-work/src/main/java/com/ard/tianyu/service/impl/TyServiceImpl.java
@@ -2,9 +2,9 @@
import com.ard.tianyu.config.TyConfiguration;
import com.ard.tianyu.http.TyClient;
-import com.ard.tianyu.model.receiver.AccessTokenReceiver;
-import com.ard.tianyu.model.receiver.BoxReceiver;
-import com.ard.tianyu.model.receiver.TyHttpCommonReceiver;
+import com.ard.tianyu.model.dto.BoxHistoryDTO;
+import com.ard.tianyu.model.dto.BoxPhotosDTO;
+import com.ard.tianyu.model.receiver.*;
import com.ard.tianyu.service.ITyService;
import org.springframework.stereotype.Service;
@@ -28,14 +28,17 @@
/**
* 获取天宇token信息
+ *
* @return
*/
@Override
public AccessTokenReceiver getAccessToken() {
return tyConfiguration.getAccessToken();
}
+
/**
* 获取云盒列表
+ *
* @return
*/
@Override
@@ -44,4 +47,38 @@
TyHttpCommonReceiver<List<BoxReceiver>> boxListReveiver = tyClient.getBoxList(tyConfiguration.getAccessToken().convertFromDTO());
return boxListReveiver.getContent();
}
+
+ /**
+ * 获取直播地址
+ *
+ * @return
+ */
+ @Override
+ public PullStreamUrlReceiver getBoxLiveUrl(String boxSn) {
+
+ TyHttpCommonReceiver<PullStreamUrlReceiver> boxLiveUrl = tyClient.getBoxLiveUrl(boxSn, tyConfiguration.getAccessToken().convertFromDTO());
+ return boxLiveUrl.getContent();
+ }
+
+ /**
+ * 获取飞行历史
+ *
+ * @return
+ */
+ @Override
+ public List<BoxHistoryReceiver> getBoxHistory(BoxHistoryDTO boxHistoryDTO) {
+ TyHttpCommonReceiver<List<BoxHistoryReceiver>> boxHistory = tyClient.getBoxHistory(boxHistoryDTO, tyConfiguration.getAccessToken().convertFromDTO());
+ return boxHistory.getContent();
+ }
+
+ /**
+ * 获取盒子图片
+ *
+ * @return
+ */
+ @Override
+ public List<BoxPhotosReceiver> getBoxPhotos(BoxPhotosDTO boxPhotosDTO) {
+ TyHttpCommonReceiver<List<BoxPhotosReceiver>> boxPhotos = tyClient.getBoxPhotos(boxPhotosDTO, tyConfiguration.getAccessToken().convertFromDTO());
+ return boxPhotos.getContent();
+ }
}
--
Gitblit v1.9.3