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