puzhibing
2026-05-17 993a6e6ea8ae047b9e5fffd249ae7adfcd650d3a
xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/service/serviceimpl/XpPointServiceImpl.java
@@ -302,6 +302,12 @@
            if (!intime) {
                continue;
            }
            Integer parkingTimeLimit = xpPoint.getParkingTimeLimit();
            //如果点位位于场站内,则使用场站的限停时间
            if(null != xpPoint.getStationId()){
                XpStation xpStation = xpStationService.getById(xpPoint.getStationId());
                parkingTimeLimit = xpStation.getParkingTimeLimit();
            }
            // 计算距离 小于的站点
            double v = FastDistanceCalculator.distanceFast(dto.getLatitude(), dto.getLongitude(), xpPoint.getPointLat(), xpPoint.getPointLon());
            if (v < orderDistance) {
@@ -312,7 +318,7 @@
                nearestNextVo.setLongitude(xpPoint.getPointLon());
                nearestNextVo.setDistance(v);
                nearestNextVo.setAddress(xpPoint.getPointAddress());
                nearestNextVo.setTime(xpPoint.getParkingTimeLimit());
                nearestNextVo.setTime(parkingTimeLimit);
                nearestNextVo.setElectronicAreaId(xpPoint.getElectronicAreaId());
@@ -441,6 +447,12 @@
        List<XpPoint> xpPoints = this.baseMapper.selectBatchIds(historyStartPointsDto.getPointIds());
        ArrayList<XpHistoryStartPointsVo> resultList = new ArrayList<>(10);
        for (XpPoint xpPoint : xpPoints) {
            Integer parkingTimeLimit = xpPoint.getParkingTimeLimit();
            //如果点位位于场站内,则使用场站的限停时间
            if(null != xpPoint.getStationId()){
                XpStation xpStation = xpStationService.getById(xpPoint.getStationId());
                parkingTimeLimit = xpStation.getParkingTimeLimit();
            }
            XpHistoryStartPointsVo xpHistoryStartPointsVo = new XpHistoryStartPointsVo();
            xpHistoryStartPointsVo.setName(xpPoint.getPointName());
            xpHistoryStartPointsVo.setAddress(xpPoint.getPointAddress());
@@ -449,7 +461,7 @@
            xpHistoryStartPointsVo.setId(xpPoint.getId());
            double distanced = FastDistanceCalculator.distanceFastKm(historyStartPointsDto.getLat(), historyStartPointsDto.getLon(), xpPoint.getPointLat(), xpPoint.getPointLon());
            xpHistoryStartPointsVo.setDistance(distanced);
            xpHistoryStartPointsVo.setTime(xpPoint.getParkingTimeLimit());
            xpHistoryStartPointsVo.setTime(parkingTimeLimit);
            xpHistoryStartPointsVo.setElectronicAreaId(xpPoint.getElectronicAreaId());
            resultList.add(xpHistoryStartPointsVo);
@@ -463,6 +475,12 @@
        List<XpPoint> xpPoints = this.baseMapper.selectBatchIds(historyEndPointsDto.getPointIds());
        ArrayList<XpHistoryEndPointsVo> resultList = new ArrayList<>(10);
        for (XpPoint xpPoint : xpPoints) {
            Integer parkingTimeLimit = xpPoint.getParkingTimeLimit();
            //如果点位位于场站内,则使用场站的限停时间
            if(null != xpPoint.getStationId()){
                XpStation xpStation = xpStationService.getById(xpPoint.getStationId());
                parkingTimeLimit = xpStation.getParkingTimeLimit();
            }
            XpHistoryEndPointsVo xpHistoryEndPointsVo = new XpHistoryEndPointsVo();
            xpHistoryEndPointsVo.setName(xpPoint.getPointName());
            xpHistoryEndPointsVo.setAddress(xpPoint.getPointAddress());
@@ -471,7 +489,7 @@
            xpHistoryEndPointsVo.setId(xpPoint.getId());
            double distanced = FastDistanceCalculator.distanceFastKm(historyEndPointsDto.getLat(), historyEndPointsDto.getLon(), xpPoint.getPointLat(), xpPoint.getPointLon());
            xpHistoryEndPointsVo.setDistance(distanced);
            xpHistoryEndPointsVo.setTime(xpPoint.getParkingTimeLimit());
            xpHistoryEndPointsVo.setTime(parkingTimeLimit);
            xpHistoryEndPointsVo.setElectronicAreaId(xpPoint.getElectronicAreaId());
            resultList.add(xpHistoryEndPointsVo);
        }