liusuyi
2025-03-22 fe63fd580c5b65fa398dfe1fdf44466b26c6aadd
ard-work/src/main/java/com/ard/tianyu/service/impl/TyServiceImpl.java
@@ -3,13 +3,20 @@
import com.ard.common.utils.ByteUtils;
import com.ard.tianyu.aspect.annotation.CheckTakeoffAltitude;
import com.ard.tianyu.aspect.annotation.CheckControlRight;
import com.ard.tianyu.component.netty.command.BaseCmd;
import com.ard.tianyu.component.netty.command.camera.*;
import com.ard.tianyu.component.netty.command.manual.*;
import com.ard.tianyu.component.netty.command.register.*;
import com.ard.tianyu.component.netty.command.settings.*;
import com.ard.tianyu.component.netty.command.speaker.*;
import com.ard.tianyu.component.netty.command.wayline.*;
import com.ard.tianyu.config.TyConfiguration;
import com.ard.tianyu.domain.dto.camera.*;
import com.ard.tianyu.domain.dto.manual.*;
import com.ard.tianyu.domain.dto.speaker.*;
import com.ard.tianyu.domain.dto.wayline.*;
import com.ard.tianyu.domain.receiver.*;
import com.ard.tianyu.forest.TyClient;
import com.ard.tianyu.component.forest.TyClient;
import com.ard.tianyu.domain.cache.TyTcpServerCache;
import com.ard.tianyu.domain.cache.UavSignalInfoCache;
import com.ard.tianyu.domain.cache.UavStateCache;
@@ -27,28 +34,20 @@
import com.ard.tianyu.domain.dto.signal.SignalInfo;
import com.ard.tianyu.domain.dto.state.UavState;
import com.ard.tianyu.domain.dto.telemetry.TelemetryData;
import com.ard.tianyu.netty.command.*;
import com.ard.tianyu.netty.TyNettyTcpClient;
import com.ard.tianyu.netty.command.camera.*;
import com.ard.tianyu.netty.command.control.AbsAngleControlCmd;
import com.ard.tianyu.netty.command.control.AngleControlCmd;
import com.ard.tianyu.netty.command.control.SpeedControlCmd;
import com.ard.tianyu.netty.command.manual.*;
import com.ard.tianyu.netty.command.notice.BoxPowerStatusReplyCmd;
import com.ard.tianyu.netty.command.notice.FlyWayEndReplyCmd;
import com.ard.tianyu.netty.command.notice.UavReadyReplyCmd;
import com.ard.tianyu.netty.command.real.SignalInfoCmd;
import com.ard.tianyu.netty.command.real.UavStateCmd;
import com.ard.tianyu.netty.command.real.UavTelemetryDataCmd;
import com.ard.tianyu.netty.command.register.*;
import com.ard.tianyu.netty.command.settings.*;
import com.ard.tianyu.netty.command.speaker.*;
import com.ard.tianyu.netty.command.wayline.*;
import com.ard.tianyu.netty.handler.ErrorCodeEnum;
import com.ard.tianyu.netty.protobuf.TelemetryDataPB;
import com.ard.tianyu.component.netty.NettyTcpClient;
import com.ard.tianyu.component.netty.command.control.AbsAngleControlCmd;
import com.ard.tianyu.component.netty.command.control.AngleControlCmd;
import com.ard.tianyu.component.netty.command.control.SpeedControlCmd;
import com.ard.tianyu.component.netty.command.notice.BoxPowerStatusReplyCmd;
import com.ard.tianyu.component.netty.command.notice.FlyWayEndReplyCmd;
import com.ard.tianyu.component.netty.command.notice.UavReadyReplyCmd;
import com.ard.tianyu.component.netty.command.real.SignalInfoCmd;
import com.ard.tianyu.component.netty.command.real.UavStateCmd;
import com.ard.tianyu.component.netty.command.real.UavTelemetryDataCmd;
import com.ard.tianyu.component.netty.handler.ErrorCodeEnum;
import com.ard.tianyu.component.netty.protobuf.TelemetryDataPB;
import com.ard.tianyu.service.ITyService;
import com.ard.tianyu.websocket.domain.UavControlType;
import com.ard.vtdu.service.IMediaService;
import com.ard.tianyu.domain.message.UavControlType;
import io.netty.channel.Channel;
import io.netty.channel.ChannelFuture;
import lombok.extern.slf4j.Slf4j;
@@ -76,8 +75,6 @@
    @Resource
    private TyConfiguration tyConfiguration;
    @Resource
    private IMediaService mediaService;
    /**
     * 获取天宇token信息
@@ -98,8 +95,8 @@
    public List<BoxInfoReceiver> getBoxList() {
        //请求云盒列表
        try {
            TyHttpCommonReceiver<List<BoxInfoReceiver>> boxListReveiver = tyClient.getBoxList();
            return boxListReveiver.getContent();
            TyHttpCommonReceiver<List<BoxInfoReceiver>> boxListReceiver = tyClient.getBoxList();
            return boxListReceiver.getContent();
        } catch (Exception e) {
            log.error("获取云盒列表失败:{}", e.getMessage());
            return new ArrayList<>();
@@ -632,8 +629,8 @@
                break;
            case 0x02:
                // 处理注册消息
                HeartbeatReplyCmd heartbeatReplyCmd = (HeartbeatReplyCmd) tyCommand;
                //logPrint("心跳消息", heartbeatReplyCmd.getTimestamp());
                 HeartbeatReplyCmd heartbeatReplyCmd = (HeartbeatReplyCmd) tyCommand;
                 logPrint("心跳消息", heartbeatReplyCmd.getTimestamp());
                break;
            case 0x03:
                // 处理订阅消息
@@ -830,7 +827,7 @@
     */
    private void sendMessage(String key, BaseCmd msg) {
        try {
            ChannelFuture future = TyNettyTcpClient.channels.get(key).getChannelFuture();
            ChannelFuture future = NettyTcpClient.channels.get(key).getChannelFuture();
            Channel channel = future.channel();
            if (channel.isActive()) {
                InetSocketAddress ipSocket = (InetSocketAddress) channel.remoteAddress();