liujie
2026-02-14 626003bd81b6f95ef94c9e9912768b3481311f93
点位修改
1个文件已修改
75 ■■■■■ 已修改文件
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpPointServiceImpl.java 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpPointServiceImpl.java
@@ -75,39 +75,10 @@
        }
        for (XpPoint xpPoint : list) {
            //  2非工作日  0工作日  1节假日 3调休日
            Integer holidayToday = holidayUtil.isHolidayToday();
            Integer operationType = xpPoint.getEffectivePeriod();
            if(operationType==1){
                boolean inTime = TimeRangeChecker.isCurrentTimeInRanges(now, xpPoint.getEffectiveTimePeriod());
                if (!inTime) {
                    continue;
                }
            }else if(operationType==2){
                if(holidayToday!=0){
                    continue;
                }
                boolean inTime = TimeRangeChecker.isCurrentTimeInRanges(now, xpPoint.getEffectiveTimePeriod());
                if (!inTime) {
                    continue;
                }
            }else if(operationType==3){
                if(holidayToday!=2){
                    continue;
                }
                boolean inTime = TimeRangeChecker.isCurrentTimeInRanges(now, xpPoint.getEffectiveTimePeriod());
                if (!inTime) {
                    continue;
                }
            }else if(operationType==4){
                if(holidayToday!=1){
                    continue;
                }
                boolean inTime = TimeRangeChecker.isCurrentTimeInRanges(now, xpPoint.getEffectiveTimePeriod());
                if (!inTime) {
                    continue;
                }
            // 判断是否在时间段内
            boolean intime = getInTime(now, xpPoint);
            if (!intime) {
                continue;
            }
            // 计算距离 小于的站点
            double v = FastDistanceCalculator.distanceFast(dto.getLatitude(), dto.getLongitude(), xpPoint.getPointLat(), xpPoint.getPointLon());
@@ -136,6 +107,44 @@
    }
    private boolean getInTime(LocalTime now,XpPoint xpPoint){
        //  2非工作日  0工作日  1节假日 3调休日
        Integer holidayToday = holidayUtil.isHolidayToday();
        Integer operationType = xpPoint.getEffectivePeriod();
        if(operationType==1){
            boolean inTime = TimeRangeChecker.isCurrentTimeInRanges(now, xpPoint.getEffectiveTimePeriod());
            if (!inTime) {
                return false;
            }
        }else if(operationType==2){
            if(holidayToday!=0){
                return false;
            }
            boolean inTime = TimeRangeChecker.isCurrentTimeInRanges(now, xpPoint.getEffectiveTimePeriod());
            if (!inTime) {
                return false;
            }
        }else if(operationType==3){
            if(holidayToday!=2){
                return false;
            }
            boolean inTime = TimeRangeChecker.isCurrentTimeInRanges(now, xpPoint.getEffectiveTimePeriod());
            if (!inTime) {
                return false;
            }
        }else if(operationType==4){
            if(holidayToday!=1){
                return false;
            }
            boolean inTime = TimeRangeChecker.isCurrentTimeInRanges(now, xpPoint.getEffectiveTimePeriod());
            if (!inTime) {
                return false;
            }
        }
        return true;
    }
    @Override
    public List<XpPoint> pointMap(PointMapQuery query) {
        List<XpPoint> list = this.baseMapper.pointMap(query);