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); } } 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); } ard-work/src/main/java/com/ard/tianyu/model/dto/BoxHistoryDTO.java
New file @@ -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; } ard-work/src/main/java/com/ard/tianyu/model/dto/BoxPhotosDTO.java
New file @@ -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; } 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; ard-work/src/main/java/com/ard/tianyu/model/receiver/BoxHistoryReceiver.java
New file @@ -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; } ard-work/src/main/java/com/ard/tianyu/model/receiver/BoxPhotosReceiver.java
New file @@ -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; } ard-work/src/main/java/com/ard/tianyu/model/receiver/PullStreamUrlReceiver.java
New file @@ -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; } 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); } 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(); } }