liusuyi
2024-10-22 7f9d813634b584abc6e076bf777f6064eaede3d2
增加:获取直播地址|获取飞行历史|获取任务照片
5 files added
5 files modified
273 ■■■■■ changed files
ard-work/src/main/java/com/ard/tianyu/controller/UavController.java 31 ●●●●● patch | view | raw | blame | history
ard-work/src/main/java/com/ard/tianyu/http/TyClient.java 15 ●●●●● patch | view | raw | blame | history
ard-work/src/main/java/com/ard/tianyu/model/dto/BoxHistoryDTO.java 31 ●●●●● patch | view | raw | blame | history
ard-work/src/main/java/com/ard/tianyu/model/dto/BoxPhotosDTO.java 24 ●●●●● patch | view | raw | blame | history
ard-work/src/main/java/com/ard/tianyu/model/receiver/AccessTokenReceiver.java 1 ●●●●● patch | view | raw | blame | history
ard-work/src/main/java/com/ard/tianyu/model/receiver/BoxHistoryReceiver.java 38 ●●●●● patch | view | raw | blame | history
ard-work/src/main/java/com/ard/tianyu/model/receiver/BoxPhotosReceiver.java 38 ●●●●● patch | view | raw | blame | history
ard-work/src/main/java/com/ard/tianyu/model/receiver/PullStreamUrlReceiver.java 26 ●●●●● patch | view | raw | blame | history
ard-work/src/main/java/com/ard/tianyu/service/ITyService.java 26 ●●●●● patch | view | raw | blame | history
ard-work/src/main/java/com/ard/tianyu/service/impl/TyServiceImpl.java 43 ●●●●● patch | view | raw | blame | history
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();
    }
}