xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java
@@ -6,6 +6,7 @@ import com.alibaba.fastjson2.JSONObject; import com.xiaopeng.api.dto.map.OrderRouteAndFareDto; import com.xiaopeng.api.dto.operation.LonLatDto; import com.xiaopeng.api.dto.operation.ReassignOrderDTO; import com.xiaopeng.api.dto.order.PopOrderDto; import com.xiaopeng.api.dto.pushMessage.PushOrderRouteDTO; import com.xiaopeng.api.dto.pushMessage.SendMessageDTO; @@ -32,6 +33,7 @@ import com.xiaopeng.api.vo.automaticPilot.proto.up.xpuNavigationRequest.NavigationRequest; import com.xiaopeng.api.vo.automaticPilot.proto.up.xpuNavigationRequest.OrderPhase; import com.xiaopeng.api.vo.operation.RouteVo; import com.xiaopeng.api.vo.vehicleConvoy.CancelTaxiPassengerVo; import com.xiaopeng.automaticPilot.util.XPUUtil; import com.xiaopeng.common.core.domain.R; import com.xiaopeng.common.core.enums.OrderStatusEnum; xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpPointServiceImpl.java
@@ -59,11 +59,6 @@ @Override public NearestVo nearest(NearestDto dto) { // 获取所有的站点信息 List<XpPoint> list = list(new LambdaQueryWrapper<XpPoint>().eq(XpPoint::getOperationStatus, 2).eq(XpPoint::getPointType,1).isNotNull(XpPoint::getElectronicAreaId)); NearestVo nearestVo = new NearestVo(); List<NearestNextVo> nearestNextVos = new ArrayList<>(); LocalTime now = LocalTime.now(); // 走缓存 Object orderDistanceObj = redisService.getCacheObject(CacheConstants.NEAR_POINT_DISTANCE); Integer orderDistance; @@ -73,6 +68,15 @@ XpSystemSetting xpSystemSetting = xpSystemSettingMapper.selectOne(null); orderDistance = xpSystemSetting.getNearPointDistance(); } // 获取所有的站点信息 List<XpPoint> list = list(new LambdaQueryWrapper<XpPoint>().eq(XpPoint::getOperationStatus, 2).eq(XpPoint::getPointType,1).isNotNull(XpPoint::getElectronicAreaId) // 添加距离计算字段 .apply("ST_Distance_Sphere(point({0}, {1}), point(point_lon, point_lat)) <= {2}", dto.getLongitude(), dto.getLatitude(), orderDistance)); NearestVo nearestVo = new NearestVo(); List<NearestNextVo> nearestNextVos = new ArrayList<>(); LocalTime now = LocalTime.now(); for (XpPoint xpPoint : list) { // 判断是否在时间段内 xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/utils/holiday/HolidayUtil.java
@@ -78,4 +78,36 @@ } return 0; } /** * 2非工作日 0工作日 1节假日 3调休日 * @return */ public Integer isHolidayToday(LocalDate now) { Object cacheObject = redisService.getCacheObject(CacheConstants.IS_DAY + now); // 判断缓存里面是否有节假日算法 if (cacheObject!=null) { return Integer.valueOf(cacheObject.toString()); } String result = HttpUtils.sendGet("https://publicapi.xiaoai.me/holiday/day?date=" +now); // String result = HttpUtils.sendGet("https://publicapi.xiaoai.me/holiday/day?date=2026-01-04"); JSONObject jsonObject = JSONObject.parseObject(result); Object data = jsonObject.get("data"); JSONArray parse = JSONArray.parse(data.toString()); for (int i = 0; i < parse.size(); i++) { JSONObject jsonObject1 = parse.getJSONObject(i); String daytype = jsonObject1.get("daytype").toString(); if (daytype.equals("0")) { redisService.setCacheObject(CacheConstants.IS_DAY + now, "0", 1l, TimeUnit.DAYS); return 0; } else if (daytype.equals("1")) { redisService.setCacheObject(CacheConstants.IS_DAY + now, "1", 1l, TimeUnit.DAYS); return 1; } else if (daytype.equals("2")) { redisService.setCacheObject(CacheConstants.IS_DAY + now, "0", 1l, TimeUnit.DAYS); return 0; } } return 0; } }