From b70ae5eb265dcf3911103bb818579e515a3a5ec3 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期六, 09 五月 2026 09:38:56 +0800
Subject: [PATCH] 修改bug

---
 xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/controller/XpMapController.java |   17 ++++++++++++-----
 1 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/controller/XpMapController.java b/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/controller/XpMapController.java
index 3e1c30b..c501215 100644
--- a/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/controller/XpMapController.java
+++ b/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/controller/XpMapController.java
@@ -1,18 +1,21 @@
 package com.xiaopeng.map.controller;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.xiaopeng.api.dto.WeatherDTO;
 import com.xiaopeng.api.dto.map.HistoryPointDto;
 import com.xiaopeng.api.dto.map.OrderRouteAndFareDto;
 import com.xiaopeng.api.dto.map.RouteAndFareDto;
 import com.xiaopeng.api.feignClient.order.XpOrderClient;
 import com.xiaopeng.api.model.map.XpGeoFencingPolygon;
+import com.xiaopeng.api.model.operation.XpElectronicFenceArea;
 import com.xiaopeng.api.vo.map.PointByIpVo;
 import com.xiaopeng.api.vo.operation.RouteVo;
 import com.xiaopeng.common.core.domain.R;
 import com.xiaopeng.common.redis.service.RedisService;
 import com.xiaopeng.map.mangodb.model.GeoPoint;
 import com.xiaopeng.map.mangodb.service.XpGeoFencingPolygonService;
+import com.xiaopeng.map.service.XpElectronicFenceAreaService;
 import com.xiaopeng.map.utils.AmapWalkingRouteUtil;
 import com.xiaopeng.map.utils.GDMapGeocodingUtil;
 import com.xiaopeng.unifiedverification.interceptor.XpClientCheck;
@@ -36,6 +39,7 @@
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import java.io.IOException;
 import java.nio.charset.StandardCharsets;
@@ -57,6 +61,8 @@
     private final RedisService redisService;
     private final XpOrderClient xpOrderClient;
     private final MongoTemplate mongoTemplate;
+    @Resource
+    private XpElectronicFenceAreaService xpElectronicFenceAreaService;
 
     public XpMapController(GDMapGeocodingUtil gdMapGeocodingUtil, XpGeoFencingPolygonService xpGeoFencingPolygonService, RedisService redisService, XpOrderClient xpOrderClient, MongoTemplate mongoTemplate) {
         this.gdMapGeocodingUtil = gdMapGeocodingUtil;
@@ -145,13 +151,14 @@
         String fenceId = null;
         if(!operatingArea.isEmpty()){
             fenceId = operatingArea.get(0);
-            List<XpGeoFencingPolygon> pointsInFence = mongoTemplate.find(Query.query(Criteria.where("fenceId").is(fenceId)), XpGeoFencingPolygon.class);
-            for (XpGeoFencingPolygon xpGeoFencingPolygon : pointsInFence) {
-                GeoJsonPolygon points = xpGeoFencingPolygon.getPoints();
+            List<XpElectronicFenceArea> list = xpElectronicFenceAreaService.list(new QueryWrapper<XpElectronicFenceArea>().eq("electronic_id", fenceId).eq("is_deleted", 0).eq("area_type", 2));
+            for (XpElectronicFenceArea xpElectronicFenceArea : list) {
+                String fencePoints = xpElectronicFenceArea.getFencePoints();
                 List<String> coordinatesList = new ArrayList<>();
-                for (Point point : points) {
-                    coordinatesList.add(point.getX()+","+point.getY());
+                for (String s : fencePoints.split(",")) {
+                    coordinatesList.add(s.replace("_", ","));
                 }
+
                 JSONObject jsonObject = new JSONObject();
                 jsonObject.put("coordinates", coordinatesList);
                 pointStrParam.add(jsonObject);

--
Gitblit v1.7.1