From df851ece762f3e4b5867f2de83e655dfd5506e04 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期六, 14 二月 2026 16:10:42 +0800
Subject: [PATCH] 点位修改
---
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpPointServiceImpl.java | 34 +++++++++++++++++++++-------------
1 files changed, 21 insertions(+), 13 deletions(-)
diff --git a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpPointServiceImpl.java b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpPointServiceImpl.java
index dcb3feb..eb9d86d 100644
--- a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpPointServiceImpl.java
+++ b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpPointServiceImpl.java
@@ -76,7 +76,7 @@
for (XpPoint xpPoint : list) {
// 判断是否在时间段内
- boolean intime = getInTime(now, xpPoint);
+ boolean intime = getInTime(now, xpPoint.getEffectivePeriod(), xpPoint.getEffectiveTimePeriod());
if (!intime) {
continue;
}
@@ -108,36 +108,35 @@
- private boolean getInTime(LocalTime now,XpPoint xpPoint){
+ public boolean getInTime(LocalTime now, Integer effectivePeriod, String effectiveTimePeriod){
// 2非工作日 0工作日 1节假日 3调休日
Integer holidayToday = holidayUtil.isHolidayToday();
- Integer operationType = xpPoint.getEffectivePeriod();
- if(operationType==1){
- boolean inTime = TimeRangeChecker.isCurrentTimeInRanges(now, xpPoint.getEffectiveTimePeriod());
+ if(effectivePeriod==1){
+ boolean inTime = TimeRangeChecker.isCurrentTimeInRanges(now,effectiveTimePeriod);
if (!inTime) {
return false;
}
- }else if(operationType==2){
+ }else if(effectivePeriod==2){
if(holidayToday!=0){
return false;
}
- boolean inTime = TimeRangeChecker.isCurrentTimeInRanges(now, xpPoint.getEffectiveTimePeriod());
+ boolean inTime = TimeRangeChecker.isCurrentTimeInRanges(now,effectiveTimePeriod);
if (!inTime) {
return false;
}
- }else if(operationType==3){
+ }else if(effectivePeriod==3){
if(holidayToday!=2){
return false;
}
- boolean inTime = TimeRangeChecker.isCurrentTimeInRanges(now, xpPoint.getEffectiveTimePeriod());
+ boolean inTime = TimeRangeChecker.isCurrentTimeInRanges(now,effectiveTimePeriod);
if (!inTime) {
return false;
}
- }else if(operationType==4){
+ }else if(effectivePeriod==4){
if(holidayToday!=1){
return false;
}
- boolean inTime = TimeRangeChecker.isCurrentTimeInRanges(now, xpPoint.getEffectiveTimePeriod());
+ boolean inTime = TimeRangeChecker.isCurrentTimeInRanges(now,effectiveTimePeriod);
if (!inTime) {
return false;
}
@@ -204,9 +203,18 @@
return searchVo;
}
+ LocalTime now = LocalTime.now();
+ for (XpPointsListVo xpPointsListVo : list) {
+ boolean inTime = getInTime(now, xpPointsListVo.getEffectivePeriod(), xpPointsListVo.getEffectiveTimePeriod());
+ if (!inTime) {
+ // 不在运营段
+ xpPointsListVo.setState(0);
+ }
- // 组装数据 并排序
- List<XpPointsListVo> resultList = list.stream().peek(vo -> vo.setDistance(FastDistanceCalculator.distanceFast(query.getLat(), query.getLon(), vo.getLatitude(), vo.getLongitude()))).collect(Collectors.toList());
+ }
+
+ // 组装数据 并排序 剔除不在运营段的 数据
+ List<XpPointsListVo> resultList = list.stream().peek(vo -> vo.setDistance(FastDistanceCalculator.distanceFast(query.getLat(), query.getLon(), vo.getLatitude(), vo.getLongitude()))).filter(vo -> vo.getState() == 1).collect(Collectors.toList());
// 可用点位
List<XpPointsListVo> availablePoints = resultList.stream().filter(e -> query.getElectronicAreaId() != null && e.getElectronicAreaId().equals(query.getElectronicAreaId())).sorted(Comparator.comparing(XpPointsListVo::getDistance)).collect(Collectors.toList());//
--
Gitblit v1.7.1