From 6e33e3f0ee952d768026fda82dc0000204e21c72 Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: Tue, 18 Feb 2025 09:46:05 +0800
Subject: [PATCH] 222
---
ard-work/src/main/java/com/ard/tianyu/service/impl/TyServiceImpl.java | 57 +++++++++++++++++++++++++++++++++++----------------------
1 files changed, 35 insertions(+), 22 deletions(-)
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 b0ef261..b3a1f2c 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
@@ -14,9 +14,9 @@
import com.ard.tianyu.model.dto.control.AbsAngleControlDTO;
import com.ard.tianyu.model.dto.control.AngleControlDTO;
import com.ard.tianyu.model.dto.control.SpeedControlDTO;
-import com.ard.tianyu.model.dto.converter.UavSignalInfoConverter;
-import com.ard.tianyu.model.dto.converter.UavStateConverter;
-import com.ard.tianyu.model.dto.converter.UavTelemetryDataConverter;
+import com.ard.tianyu.model.dto.converter.realdata.UavSignalInfoConverter;
+import com.ard.tianyu.model.dto.converter.realdata.UavStateConverter;
+import com.ard.tianyu.model.dto.converter.realdata.UavTelemetryDataConverter;
import com.ard.tianyu.model.dto.converter.wayline.PlanLineDataConverter;
import com.ard.tianyu.model.dto.manual.*;
import com.ard.tianyu.model.dto.settings.ReturnHeightSettingDTO;
@@ -49,6 +49,8 @@
import com.ard.tianyu.netty.protobuf.TelemetryDataPB;
import com.ard.tianyu.service.ITyService;
import com.ard.tianyu.websocket.utils.WebSocketUtil;
+import com.ard.vtdu.domain.ArdVtdu;
+import com.ard.vtdu.service.IMediaService;
import io.netty.channel.Channel;
import io.netty.channel.ChannelFuture;
import lombok.extern.slf4j.Slf4j;
@@ -58,10 +60,7 @@
import javax.annotation.Resource;
import java.net.InetSocketAddress;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
/**
* TyServiceImpl
@@ -79,6 +78,8 @@
@Resource
private TyConfiguration tyConfiguration;
+ @Resource
+ private IMediaService mediaService;
/**
* 获取天宇token信息
@@ -99,7 +100,7 @@
public List<BoxInfoReceiver> getBoxList() {
//请求云盒列表
try {
- TyHttpCommonReceiver<List<BoxInfoReceiver>> boxListReveiver = tyClient.getBoxList(tyConfiguration.getAccessToken().convertFromDTO());
+ TyHttpCommonReceiver<List<BoxInfoReceiver>> boxListReveiver = tyClient.getBoxList();
return boxListReveiver.getContent();
} catch (Exception e) {
log.error("获取云盒列表失败:{}", e.getMessage());
@@ -115,7 +116,7 @@
@Override
public BoxStreamUrlReceiver getBoxLiveUrl(String boxSn) {
- TyHttpCommonReceiver<BoxStreamUrlReceiver> boxLiveUrl = tyClient.getBoxLiveUrl(boxSn, tyConfiguration.getAccessToken().convertFromDTO());
+ TyHttpCommonReceiver<BoxStreamUrlReceiver> boxLiveUrl = tyClient.getBoxLiveUrl(boxSn);
return boxLiveUrl.getContent();
}
@@ -126,7 +127,7 @@
*/
@Override
public List<BoxHistoryReceiver> getBoxHistory(BoxHistoryDTO boxHistoryDTO) {
- TyHttpCommonReceiver<List<BoxHistoryReceiver>> boxHistory = tyClient.getBoxHistory(boxHistoryDTO, tyConfiguration.getAccessToken().convertFromDTO());
+ TyHttpCommonReceiver<List<BoxHistoryReceiver>> boxHistory = tyClient.getBoxHistory(boxHistoryDTO);
return boxHistory.getContent();
}
@@ -137,7 +138,7 @@
*/
@Override
public List<BoxPhotosReceiver> getBoxPhotos(BoxPhotosDTO boxPhotosDTO) {
- TyHttpCommonReceiver<List<BoxPhotosReceiver>> boxPhotos = tyClient.getBoxPhotos(boxPhotosDTO, tyConfiguration.getAccessToken().convertFromDTO());
+ TyHttpCommonReceiver<List<BoxPhotosReceiver>> boxPhotos = tyClient.getBoxPhotos(boxPhotosDTO);
return boxPhotos.getContent();
}
@@ -146,7 +147,7 @@
*/
@Override
public Boolean updateBoxSettings(BoxSettingsDTO boxSettingsDTO) {
- TyHttpCommonReceiver<?> result = tyClient.updateBoxSettings(boxSettingsDTO, tyConfiguration.getAccessToken().convertFromDTO());
+ TyHttpCommonReceiver<?> result = tyClient.updateBoxSettings(boxSettingsDTO);
return result.getState() == 1;
}
@@ -564,6 +565,20 @@
}
/**
+ * 点播
+ */
+ @Override
+ public String play(String boxSn) {
+ BoxStreamUrlReceiver boxLiveUrl = getBoxLiveUrl(boxSn);
+ if(boxLiveUrl == null||boxLiveUrl.getRtsp() == null) {
+ return "";
+ }
+ ArdVtdu ardVtdu = ArdVtdu.builder().name(boxSn).rtspSource(boxLiveUrl.getRtsp()).build();
+ ardVtdu = mediaService.addPath(ardVtdu);
+ return ardVtdu.getWebrtcUrl();
+ }
+
+ /**
* 处理天宇服务器返回的消息
*/
@Override
@@ -599,26 +614,23 @@
case (byte) 0xA8:
// 处理无人机状态消息
UavStateCmd uavStateCmd = (UavStateCmd) tyCommand;
- UavState uavState = UavStateConverter.convertProtoToEntity(uavStateCmd.getUavState());
- UavStateCache.putUavState(uavState);
- logPrint("无人机状态", uavState.getBoxSn());
- // WebSocketUtil.sendMessageAll(uavState);
+ UavStateCache.putUavState(uavStateCmd.getUavState());
+ logPrint("无人机状态", uavStateCmd.getUavState().getBoxSn());
+ WebSocketUtil.sendMessageAll(uavStateCmd.getUavState());
break;
case (byte) 0xA9:
// 处理无人机遥测消息
UavTelemetryDataCmd uavTelemetryDataCmd = (UavTelemetryDataCmd) tyCommand;
- TelemetryData telemetryData = UavTelemetryDataConverter.convertProtoToEntity(uavTelemetryDataCmd.getTelemetryData());
- UavTelemetryDataCache.putUavTelemetryData(telemetryData);
- logPrint("无人机遥测", telemetryData.getBoxSn());
- WebSocketUtil.sendMessageAll(telemetryData);
+ UavTelemetryDataCache.putUavTelemetryData(uavTelemetryDataCmd.getTelemetryData());
+ logPrint("无人机遥测", uavTelemetryDataCmd.getTelemetryData().getBoxSn());
+ WebSocketUtil.sendMessageAll(uavTelemetryDataCmd.getTelemetryData());
break;
case (byte) 0x0C:
// 处理无人机信道质量数据
SignalInfoCmd signalInfoCmd = (SignalInfoCmd) tyCommand;
- SignalInfo signalInfo = UavSignalInfoConverter.convertProtoToEntity(signalInfoCmd.getSignalInfo());
- UavSignalInfoCache.putUavSignalInfoCache(signalInfo);
- logPrint("无人机信道质量", signalInfo.getBoxSn());
+ UavSignalInfoCache.putUavSignalInfoCache(signalInfoCmd.getSignalInfo());
+ logPrint("无人机信道质量", signalInfoCmd.getSignalInfo().getBoxSn());
break;
case (byte) 0xD1:
// 处理无人机
@@ -789,4 +801,5 @@
log.error("发送消息异常:{}", e.getMessage());
}
}
+
}
\ No newline at end of file
--
Gitblit v1.9.3