Xiajijian
2025-11-26 d85eddf40bc7d5db0c8f4ec6cd74ade775ff2c57
ard-route/src/main/java/com/ard/route/service/impl/ArdRouteInfoServiceImpl.java
@@ -20,11 +20,11 @@
import com.ard.route.domain.djuav.UavRouteReq;
import com.ard.route.domain.dto.ArdNoflyDto;
import com.ard.route.domain.route.ArdRouteInfo;
import com.ard.route.domain.sixhe.ArdRouteChange;
import com.ard.route.domain.vo.KmzResultVo;
import com.ard.route.mapper.ArdRouteInfoMapper;
import com.ard.route.service.IArdRouteInfoService;
import com.ard.route.service.UavRouteService;
import com.ard.work.domain.cache.UavWaylineCache;
import com.ard.work.domain.dto.state.PointData;
import com.ard.work.domain.dto.wayline.*;
import com.ard.work.service.ITyService;
@@ -121,6 +121,7 @@
        KmzResultVo kmzResult = routeService.buildKmz(ardRouteInfo.getUavRouteReq(), ardRouteInfo.getName());
        ardRouteInfo.setPath(kmzResult.getPath());
        ardRouteInfo.setReadOnly("0");
        ardRouteInfo.setPointCount(getPointCount(ardRouteInfo));
        ardRouteInfoMapper.insertArdRouteInfo(ardRouteInfo);
        return kmzResult.getPath();
    }
@@ -149,7 +150,15 @@
            }
            ardRouteInfo.setPath(kmzResult.getPath());
        }
        ardRouteInfo.setPointCount(getPointCount(ardRouteInfo));
        return ardRouteInfoMapper.updateArdRouteInfo(ardRouteInfo);
    }
    private Integer getPointCount(ArdRouteInfo ardRouteInfo) {
        if (ardRouteInfo.getUavRouteReq().getRoutePointList() != null) {
            return ardRouteInfo.getUavRouteReq().getRoutePointList().size();
        }
        return 0;
    }
    /**
@@ -194,6 +203,7 @@
            information.setPath(url);
            information.setGroupId("0");     // 默认分组
            information.setReadOnly("1");   // 默认只读
            // 增加航线实体类信息
            insertRouteInfomation(information);
            return MinioUploadResult.builder()
                    .url(url)
@@ -206,7 +216,7 @@
    }
    /**
     * 根据文件名称查询航线信息
     * 根据名称查询航线信息
     *
     * @param name 文件名称
     * @return 结果
@@ -254,11 +264,15 @@
            throw new RuntimeException(e);
        }
        // 1.2通过minio获取航线信息
        // 2.将航线信息转换成对应实体类
        WayLineUploadDTO wayLineUploadDTO = buildWayLineUploadDTO(route);
        wayLineUploadDTO.setBoxSn(boxSn);
        // 3.调用接口
        // 3.缓存航线信息
        WaylineInfo WaylineInfo = new WaylineInfo();
        WaylineInfo.setBoxSn(boxSn);
        WaylineInfo.setWaylineId(route.getId());
        UavWaylineCache.put(WaylineInfo);
        // 4.调用接口
        tyService.wayLineUpload(wayLineUploadDTO);
        return true;
    }
@@ -326,18 +340,16 @@
        String exitOnRcLostAction = ardRouteInfo.getUavRouteReq().getExitOnRcLostAction();  //0
        PlanLineData planLineData = new PlanLineData();
        if (finishAction != null){
            planLineData.setLoseAction(0);
        }
        if (autoFlightSpeed != null){
            planLineData.setAutoSpeed(8);
        }
        if (globalTransitionalSpeed != null){
            planLineData.setMaxSpeed(15);
        }
        planLineData.setMaxSpeed(15);
//        if (globalTransitionalSpeed != null){
//            planLineData.setMaxSpeed(15);
//        }
        if (exitOnRcLostAction != null){
            planLineData.setFinishedAction(1);
        }
@@ -363,11 +375,11 @@
            if (height != null){
                pointData.setHeight(height.floatValue());
            }
            Double longitude = routePointReq.getLatitude();
            Double longitude = routePointReq.getLongitude();
            if (longitude != null){
                pointData.setLng(longitude.floatValue());
            }
            Double latitude = routePointReq.getLongitude();
            Double latitude = routePointReq.getLatitude();
            if (latitude != null){
                pointData.setLat(latitude.floatValue());
            }