puzhibing
2026-03-10 3fa6b0b6fc7925ffbf8c597c15d72938e13993d6
处理围栏闭合问题
1个文件已修改
10 ■■■■■ 已修改文件
xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/service/serviceimpl/XpElectronicFenceServiceImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/service/serviceimpl/XpElectronicFenceServiceImpl.java
@@ -133,6 +133,11 @@
        for (XpElectronicFenceArea newArea : newElectronicFenceAreas) {
            if (newArea.getAreaType() == 1) { // 只检查运营区域
                for (XpElectronicFenceArea existingArea : existingOperationAreas) {
                    //处理围栏闭合
                    String[] split = existingArea.getFencePoints().split(",");
                    if(split[0].equals(split[split.length - 1])){
                        existingArea.setFencePoints(existingArea.getFencePoints() + "," + split[0]);
                    }
                    if (polygonOverlapService.checkPolygonOverlap(
                            newArea.getFencePoints(),
                            existingArea.getFencePoints())) {
@@ -317,6 +322,11 @@
            for (XpElectronicFenceArea updatedArea : updatedElectronicFenceAreas) {
                if (updatedArea.getAreaType() == 1) { // 只检查运营区域
                    for (XpElectronicFenceArea existingArea : existingOperationAreas) {
                        //处理围栏闭合
                        String[] split = existingArea.getFencePoints().split(",");
                        if(split[0].equals(split[split.length - 1])){
                            existingArea.setFencePoints(existingArea.getFencePoints() + "," + split[0]);
                        }
                        if (polygonOverlapService.checkPolygonOverlap(
                                updatedArea.getFencePoints(),
                                existingArea.getFencePoints())) {