| ard-admin/src/main/java/com/ard/web/controller/work/UavBaseController.java | ●●●●● patch | view | raw | blame | history | |
| ard-admin/src/main/java/com/ard/web/controller/work/UavControlController.java | ●●●●● patch | view | raw | blame | history | |
| ard-work/src/main/java/com/ard/work/component/forest/TyClient.java | ●●●●● patch | view | raw | blame | history | |
| ard-work/src/main/java/com/ard/work/component/forest/TyConst.java | ●●●●● patch | view | raw | blame | history | |
| ard-work/src/main/java/com/ard/work/domain/dto/BoxVideosDTO.java | ●●●●● patch | view | raw | blame | history | |
| ard-work/src/main/java/com/ard/work/domain/receiver/BoxVideosReceiver.java | ●●●●● patch | view | raw | blame | history | |
| ard-work/src/main/java/com/ard/work/service/ITyService.java | ●●●●● patch | view | raw | blame | history | |
| ard-work/src/main/java/com/ard/work/service/impl/TyServiceImpl.java | ●●●●● patch | view | raw | blame | history |
ard-admin/src/main/java/com/ard/web/controller/work/UavBaseController.java
@@ -3,18 +3,12 @@ import com.ard.common.core.controller.BaseController; import com.ard.common.core.domain.AjaxResult; import com.ard.common.core.page.TableDataInfo; import com.ard.work.domain.dto.BoxHistoryDTO; import com.ard.work.domain.dto.BoxPhotosDTO; import com.ard.work.domain.dto.BoxSettingsDTO; import com.ard.work.domain.dto.UavFlightStateDTO; import com.ard.work.domain.dto.*; import com.ard.work.domain.dto.telemetry.TelemetryData; import com.ard.work.domain.entity.ArdFlightTask; import com.ard.work.domain.entity.ArdFlightTaskPart; import com.ard.work.domain.entity.ArdMedia; import com.ard.work.domain.receiver.BoxHistoryReceiver; import com.ard.work.domain.receiver.BoxInfoReceiver; import com.ard.work.domain.receiver.BoxPhotosReceiver; import com.ard.work.domain.receiver.BoxStreamUrlReceiver; import com.ard.work.domain.receiver.*; import com.ard.work.service.IArdFlightTaskPartService; import com.ard.work.service.IArdFlightTaskService; import com.ard.work.service.IArdMediaService; @@ -77,6 +71,7 @@ List<BoxHistoryReceiver> boxHistory = tyService.getBoxHistory(boxHistoryDTO); return AjaxResult.success(boxHistory); } @ApiOperation("获取飞行架次") @ApiOperationSupport(order = 4) @GetMapping("/getFlightTask") @@ -89,7 +84,7 @@ @ApiOperation("获取架次飞行轨迹") @ApiOperationSupport(order = 4) @GetMapping("/getCompleteFlightData") public TableDataInfo getCompleteFlightData(ArdFlightTaskPart ardFlightTaskPart){ public TableDataInfo getCompleteFlightData(ArdFlightTaskPart ardFlightTaskPart) { List<UavFlightStateDTO> completeFlightData = ardFlightTaskPartService.getCompleteFlightData(ardFlightTaskPart); return getDataTable(completeFlightData); } @@ -111,6 +106,14 @@ return AjaxResult.success(boxPhotos); } @ApiOperation("获取任务视频") @ApiOperationSupport(order = 5) @PostMapping("/getBoxPhotos") public AjaxResult getBoxVideos(@RequestBody BoxVideosDTO boxVideosDTO) { List<BoxVideosReceiver> boxVideos = tyService.getBoxVideos(boxVideosDTO); return AjaxResult.success(boxVideos); } @ApiOperation("获取直播地址") @ApiOperationSupport(order = 6) @GetMapping("/getBoxLiveUrl/{boxSn}") ard-admin/src/main/java/com/ard/web/controller/work/UavControlController.java
@@ -4,6 +4,7 @@ import com.ard.work.service.control.UavControlService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -20,6 +21,7 @@ * 申请控制权(请求通过 WebSocket 发送给当前控制者) */ @ApiOperation("申请控制权") @PreAuthorize("@ss.hasPermi('uav:control:request')") @PostMapping("/request") public AjaxResult requestControl(@RequestParam String boxSn, @RequestParam String type) { return AjaxResult.success(uavControlService.requestControl(boxSn, type)); ard-work/src/main/java/com/ard/work/component/forest/TyClient.java
@@ -1,9 +1,6 @@ package com.ard.work.component.forest; import com.ard.work.domain.dto.BoxHistoryDTO; import com.ard.work.domain.dto.BoxPhotosDTO; import com.ard.work.domain.dto.BoxSettingsDTO; import com.ard.work.domain.dto.TokenDTO; import com.ard.work.domain.dto.*; import com.ard.work.domain.receiver.*; import com.dtflys.forest.annotation.*; @@ -43,13 +40,18 @@ @Post(value = TyConst.POST_BOX_HISTORY, interceptor = TokenInterceptor.class) TyHttpCommonReceiver<List<BoxHistoryReceiver>> getBoxHistory(@Var("serverId") String serverId, @JSONBody BoxHistoryDTO boxHistoryDTO); /** * 获取任务照片 */ @Post(value = TyConst.POST_BOX_PHOTOS, interceptor = TokenInterceptor.class) TyHttpCommonReceiver<List<BoxPhotosReceiver>> getBoxPhotos(@Var("serverId") String serverId, @JSONBody BoxPhotosDTO boxPhotosDTO); /** * 获取任务视频 */ @Post(value = TyConst.POST_BOX_VIDEOS, interceptor = TokenInterceptor.class) TyHttpCommonReceiver<List<BoxVideosReceiver>> getBoxVideos(@Var("serverId") String serverId, @JSONBody BoxVideosDTO boxVideosDTO); /** * 修改云盒设置 ard-work/src/main/java/com/ard/work/component/forest/TyConst.java
@@ -8,6 +8,7 @@ public static final String POST_UPDATE_LIVE = "/eapi/update/live"; public static final String GET_BOX_LIVE_URL = "/eapi/box/pullUrl/{boxSn}"; public static final String POST_BOX_PHOTOS = "/eapi/box/photos"; public static final String POST_BOX_VIDEOS = "/eapi/box/videos"; public static final String GET_OPEN_LIVE = "/eapi/box/openlive/{boxSn}"; public static final String GET_CLOSE_LIVE = "/eapi/box/closelive/{boxSn}"; } ard-work/src/main/java/com/ard/work/domain/dto/BoxVideosDTO.java
New file @@ -0,0 +1,27 @@ package com.ard.work.domain.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 BoxVideosDTO { @JsonProperty("boxSn") private String boxSn; @JsonProperty("taskId") private Integer taskId; @JsonProperty("pageIndex") private Integer pageIndex; @JsonProperty("pageSize") private Integer pageSize; } ard-work/src/main/java/com/ard/work/domain/receiver/BoxVideosReceiver.java
New file @@ -0,0 +1,32 @@ package com.ard.work.domain.receiver; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; @Data @JsonIgnoreProperties(ignoreUnknown = true) public class BoxVideosReceiver { @JsonProperty("id") private Long id; @JsonProperty("taskId") private Long taskId; @JsonProperty("name") private String name; @JsonProperty("spanSeconds") private String spanSeconds; @JsonProperty("uri") private String imgUrl; @JsonProperty("startTime") private String startTime; @JsonProperty("endTime") private String endTime; } ard-work/src/main/java/com/ard/work/service/ITyService.java
@@ -3,6 +3,7 @@ import com.ard.work.domain.dto.BoxHistoryDTO; import com.ard.work.domain.dto.BoxPhotosDTO; import com.ard.work.domain.dto.BoxSettingsDTO; import com.ard.work.domain.dto.BoxVideosDTO; import com.ard.work.domain.dto.camera.*; import com.ard.work.domain.dto.manual.*; import com.ard.work.domain.dto.speaker.*; @@ -32,12 +33,14 @@ /** * 获取边缘服务器token信息 * * @return */ AccessTokenReceiver getAccessToken(String ServerId); /** * 获取全部服务器云盒列表 * * @return */ List<BoxInfoReceiver> getBoxList(); @@ -51,42 +54,56 @@ /** * 获取直播地址 * * @return */ BoxStreamUrlReceiver getBoxLiveUrl(@Var("boxSn") String boxSn); /** * 获取飞行历史 * * @return */ List<BoxHistoryReceiver> getBoxHistory(BoxHistoryDTO boxHistoryDTO); /** * 获取盒子图片 * 获取任务图片 * * @return */ List<BoxPhotosReceiver> getBoxPhotos(BoxPhotosDTO boxPhotosDTO); /** * 获取任务视频 * * @return */ List<BoxVideosReceiver> getBoxVideos(BoxVideosDTO boxVideosDTO); /** * 修改云盒设置 * * @return */ Boolean updateBoxSettings(BoxSettingsDTO boxSettingsDTO); /** * 设置返航高度 * * @return */ Boolean updateReturnHeight(ReturnHeightSettingDTO returnHeightSettingDTO); /** * 设置视频码流 * * @return */ Boolean updateVideoStream(VideoStreamSettingDTO videoStreamSettingDTO); /** * 设置返航点 * * @return */ Boolean updateReturnPoint(ReturnPointSettingDTO returnPointSettingDTO); ard-work/src/main/java/com/ard/work/service/impl/TyServiceImpl.java
@@ -33,6 +33,7 @@ import com.ard.work.domain.dto.BoxHistoryDTO; import com.ard.work.domain.dto.BoxPhotosDTO; import com.ard.work.domain.dto.BoxSettingsDTO; import com.ard.work.domain.dto.BoxVideosDTO; import com.ard.work.domain.dto.camera.*; import com.ard.work.domain.dto.control.AbsAngleControlDTO; import com.ard.work.domain.dto.control.AngleControlDTO; @@ -157,7 +158,7 @@ } /** * 获取盒子图片 * 获取任务图片 * * @return List<BoxPhotosReceiver> */ @@ -172,7 +173,22 @@ boxPhotosDTO); return boxPhotos == null ? null : boxPhotos.getContent(); } /** * 获取任务视频 * * @return List<BoxVideosReceiver> */ @Override public List<BoxVideosReceiver> getBoxVideos(BoxVideosDTO boxVideosDTO) { String boxSn = boxVideosDTO.getBoxSn(); ArdDroneInfo ardDroneInfo = ardDroneService.selectArdDroneByboxSn(boxSn); if (ardDroneInfo == null) { throw new ControlException("未找到对应的飞行器信息,boxSn:{}" + boxSn); } TyHttpCommonReceiver<List<BoxVideosReceiver>> boxVideos = tyClient.getBoxVideos(ardDroneInfo.getServerId(), boxVideosDTO); return boxVideos == null ? null : boxVideos.getContent(); } /** * 修改云盒设置 */