xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/constant/I18nKeyConstant.java
@@ -26,7 +26,7 @@ // 添加电子围栏失败 String ADD_ELECTRONIC_ERROR = "add.electronic.error"; // 区域重叠 String AREA_OVERLAP = "area.overlap"; String AREA_OVERLAP_ERROR = "area.overlap.error"; // 围栏构成不存在 String FENCE_STRUCTURE_NOT_EXIST = "fence.structure.not.exist"; // 围栏不存在 xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/controller/XpPointManagementController.java
@@ -48,7 +48,8 @@ @PostMapping("/listElectronicFenceArea") public R<List<XpElectronicFenceArea>> listElectronicFenceArea() { // 获取所有启用的电子围栏 List<XpElectronicFence> electronicFences = xpElectronicFenceService.lambdaQuery().eq(XpElectronicFence::getStatus, 2).list(); List<XpElectronicFence> electronicFences = xpElectronicFenceService.lambdaQuery() .eq(XpElectronicFence::getStatus, 2).list(); List<Long> electronicFenceIds = electronicFences.stream().map(XpElectronicFence::getId).collect(Collectors.toList()); if (electronicFenceIds.isEmpty()) { return R.ok(new ArrayList<XpElectronicFenceArea>()); xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/service/serviceimpl/XpElectronicFenceServiceImpl.java
@@ -11,7 +11,6 @@ import com.xiaopeng.api.model.map.XpGeoFencingProhibitedPolygon; import com.xiaopeng.api.model.operation.*; import com.xiaopeng.api.query.operation.ElectronicPageListQuery; import com.xiaopeng.api.vo.operation.XpElectronicFenceVo; import com.xiaopeng.common.core.domain.R; import com.xiaopeng.common.core.exception.ServiceException; import com.xiaopeng.common.core.utils.DateUtils; @@ -41,7 +40,6 @@ import javax.annotation.Resource; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -277,10 +275,10 @@ @Override public R editElectronic(ElectronicFenceUpdateDto dto) { try { // 获取现有的运营区域(areaType=1),排除当前正在编辑的电子围栏 LambdaQueryWrapper<XpElectronicFenceArea> xpElectronicFenceAreaLambdaQueryWrapper = new LambdaQueryWrapper<>(); xpElectronicFenceAreaLambdaQueryWrapper.eq(XpElectronicFenceArea::getAreaType, 1); xpElectronicFenceAreaLambdaQueryWrapper.eq(XpElectronicFenceArea::getAreaStatus, 1); xpElectronicFenceAreaLambdaQueryWrapper.ne(XpElectronicFenceArea::getElectronicId, dto.getId()); List<XpElectronicFenceArea> existingOperationAreas = xpElectronicFenceAreaMapper.selectList(xpElectronicFenceAreaLambdaQueryWrapper); @@ -294,10 +292,13 @@ if (polygonOverlapService.checkPolygonOverlap( updatedArea.getFencePoints(), existingArea.getFencePoints())) { List<String> res = new ArrayList<>(); res.add(updatedArea.getAreaName()); res.add(existingArea.getAreaName()); throw new ServiceException( "运营区域{}与现有运营区域{}发生重叠", I18nKeyConstant.AREA_OVERLAP, new Object[]{existingArea.getAreaName(), existingArea.getAreaName()} I18nKeyConstant.AREA_OVERLAP_ERROR, res.toArray() ); } } @@ -488,10 +489,7 @@ } return R.ok(); } catch (Exception e) { log.error("编辑电子围栏失败", e); throw new ServiceException("编辑电子围栏失败", I18nKeyConstant.EDIT_ELECTRONIC_ERROR); } } /** xp-robotaxi-map-boot/src/main/resources/i18n/messages.properties
@@ -1,3 +1,36 @@ # 中文 no.walking.route.found=no.walking.route.found welcome.message=欢迎来到我们的应用程序! city.information.does.not.exist=城市信息不存在 no.current.region=当前区域未开通服务 system.exception=系统异常 to.work=当前上下车点距离过近,建议步行前往 wait.time=当前区域正在等待中,请耐心等待 welcome.message=欢迎来到我们的应用程序! edit.electronic.error=编辑电子围栏失败; add.electronic.error=添加电子围栏失败; area.overlap.error=运营区域{0}与现有运营区域{1}发生重叠; fence.structure.not.exist=围栏构成不存在 fence.not.exist=围栏不存在 fence.status.cannot.copied=围栏启用状态不可复制; order.create.fail=订单创建失败 open.city.exists=该城市已存在 pricing.exists=该车型/渠道/城市的定价已存在 pricing.not.exist=定价不存在 pricing.json.invalid=价格配置JSON格式不正确 pricing.rule.empty=价格规则不能为空 no.current.point=????????? path.not.found=路径不存在 has.unpaid.order=有正在进行的订单 cruise.plan.name.empty=计划名称不能为空 cruise.plan.id.empty=巡游计划ID不能为空 cruise.plan.name.exists=计划名称已存在 cruise.plan.not.exist=巡游计划不存在 cruise.plan.point.empty=关联点位列表不能为空 cruise.plan.vehicle.empty=关联车辆列表不能为空 cruise.plan.point.incomplete=点位参数不完整 cruise.plan.stop.flag.invalid=点位停车标识不合法 cruise.plan.point.duplicate=点位ID重复 cruise.plan.vehicle.incomplete=车辆参数不完整 cruise.plan.vehicle.duplicate=车辆ID重复 cruise.plan.vehicle.already.bound=车辆已关联其他巡游计划 cruise.plan.add.fail=新增巡游计划失败 cruise.plan.edit.fail=编辑巡游计划失败 xp-robotaxi-map-boot/src/main/resources/i18n/messages_en_US.properties
@@ -1,3 +1,29 @@ # English (US) no.walking.route.found=No walking route found welcome.message=Welcome to our application! city.information.does.not.exist=City information does not exist no.current.region=The service is not currently available in the current region system.exception=System Error to.work=The current pick-up and drop-off points are too close to each other. It is recommended to walk there wait.time=The current area is in a waiting state. Please be patient welcome.message=Welcome to our application! edit.electronic.error=Failed to edit the electronic fence add.electronic.error=Failed to add electronic fence; area.overlap.error=The operational area {0} overlaps with the existing operational area {1}; fence.structure.not.exist=The fence composition does not exist\ fence.status.cannot.copied=The enabled state of the fence cannot be copied; fence.not.exist=The fence does not exist. order.create.fail=Order creation failed open.city.exists=This city already exists pricing.exists=Pricing for this vehicle model/channel/city already exists pricing.not.exist=Pricing does not exist pricing.json.invalid=Invalid JSON format for pricing configuration pricing.rule.empty=Price rule cannot be empty no.current.point=The current location is not open for service path.not.found=Path does not exist has.unpaid.order=There are ongoing orders cruise.plan.name.exists=The name of the plan already exists cruise.plan.point.incomplete=The point parameters are incomplete cruise.plan.stop.flag.invalid=The parking sign at the location is invalid. cruise.plan.point.duplicate=The point ID is duplicated cruise.plan.vehicle.duplicate=Duplicate vehicle ID cruise.plan.vehicle.already.bound=Vehicle [{0}] has been associated with other cruising plans cruise.plan.add.fail=The new cruise plan failed xp-robotaxi-map-boot/src/main/resources/i18n/messages_zh_CN.properties
@@ -1,3 +1,29 @@ # 中文 no.walking.route.found=未找到步行路线 welcome.message=欢迎来到我们的应用程序! city.information.does.not.exist=城市信息不存在 no.current.region=当前区域未开通服务 system.exception=系统异常 to.work=当前上下车点距离过近,建议步行前往 wait.time=当前区域正在等待中,请耐心等待 welcome.message=欢迎来到我们的应用程序! edit.electronic.error=编辑电子围栏失败; add.electronic.error=添加电子围栏失败; area.overlap.error=运营区域{0}与现有运营区域{1}发生重叠; fence.structure.not.exist=围栏构成不存在 fence.not.exist=围栏不存在 fence.status.cannot.copied=围栏启用状态不可复制 order.create.fail=订单创建失败 open.city.exists=该城市已存在 pricing.exists=该车型/渠道/城市的定价已存在 pricing.not.exist=定价不存在 pricing.json.invalid=价格配置JSON格式不正确 pricing.rule.empty=价格规则不能为空 no.current.point=????????? path.not.found=路径不存在 has.unpaid.order=有正在进行的订单 cruise.plan.name.exists=计划名称已存在 cruise.plan.point.incomplete=点位参数不完整 cruise.plan.stop.flag.invalid=点位停车标识不合法 cruise.plan.point.duplicate=点位ID重复 cruise.plan.vehicle.duplicate=车辆ID重复 cruise.plan.vehicle.already.bound=车辆[{0}]已关联其他巡游计划 cruise.plan.add.fail=新增巡游计划失败 xp-robotaxi-operation-boot/src/main/resources/i18n/messages.properties
@@ -7,7 +7,7 @@ welcome.message=欢迎来到我们的应用程序! edit.electronic.error=编辑电子围栏失败; add.electronic.error=添加电子围栏失败; area.overlap=区域重叠; area.overlap=运营区域{0}与现有运营区域{1}发生重叠; fence.structure.not.exist=围栏构成不存在 fence.not.exist=围栏不存在 fence.status.cannot.copied=围栏启用状态不可复制; xp-robotaxi-operation-boot/src/main/resources/i18n/messages_en_US.properties
@@ -7,7 +7,7 @@ welcome.message=Welcome to our application! edit.electronic.error=Failed to edit the electronic fence add.electronic.error=Failed to add electronic fence; area.overlap=area overlap; area.overlap=The operational area {0} overlaps with the existing operational area {1}; fence.structure.not.exist=The fence composition does not exist\ fence.status.cannot.copied=The enabled state of the fence cannot be copied; fence.not.exist=The fence does not exist. xp-robotaxi-operation-boot/src/main/resources/i18n/messages_zh_CN.properties
@@ -7,7 +7,7 @@ welcome.message=欢迎来到我们的应用程序! edit.electronic.error=编辑电子围栏失败; add.electronic.error=添加电子围栏失败; area.overlap=区域重叠; area.overlap=运营区域{0}与现有运营区域{1}发生重叠; fence.structure.not.exist=围栏构成不存在 fence.not.exist=围栏不存在 fence.status.cannot.copied=围栏启用状态不可复制