“mitao”
2026-02-13 ad5cf165be933200311db2c24417e04c62ddd948
Merge remote-tracking branch 'origin/master'
3个文件已删除
1 文件已复制
135 文件已重命名
6个文件已添加
8个文件已修改
1921 ■■■■■ 已修改文件
.gitignore 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pom.xml 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-api/src/main/java/com/xiaopeng/api/factory/vehicleConvoy/XpVehicleClientFallbackFactory.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/order/XpOrder.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/order/XpOrderDetail.java 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-api/src/main/java/com/xiaopeng/api/vo/order/FareBreakdownDetailVo.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-automatic-pilot-boot/pom.xml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/AutomaticPilotApplication.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/config/KafkaConfig.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/config/MessageLocalConfig.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/config/MyLocaleResolver.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/controller/KafkaTestController.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/controller/OrderMissionController.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/controller/XpuVinController.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/util/XPUUtil.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-automatic-pilot-boot/src/main/resources/bootstrap.yml 161 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-automatic-pilot-boot/src/main/resources/i18n/messages.properties 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-automatic-pilot-boot/src/main/resources/i18n/messages_en_US.properties 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-automatic-pilot-boot/src/main/resources/i18n/messages_zh_CN.properties 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-automatic-pilot-boot/src/main/resources/logback.xml 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-automatic-pilot-boot/src/main/resources/mybatis-config.xml 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-automatic-pilot-boot/src/main/resources/seata.conf 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-automatic-pilot-boot/src/test/java/com/ruoyi/account/RuoYiAccountApplicationTests.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-automatic-pilot-boot/xp-modules-account.iml 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-automaticPilot-boot/src/main/resources/bootstrap.yml 359 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-common/xp-common-core/src/main/java/com/xiaopeng/common/core/dto/ServiceNameConstantsEnum.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-gateway-boot/src/main/resources/bootstrap.yml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/mapper/XpOrderDetailMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/IXpOrderDetailService.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderDetailServiceImpl.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java 397 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-push-message-boot/pom.xml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-push-message-boot/src/main/java/com/xiaopeng/pushMessage/PushMessageApplication.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-push-message-boot/src/main/java/com/xiaopeng/pushMessage/config/MessageLocalConfig.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-push-message-boot/src/main/java/com/xiaopeng/pushMessage/config/MyLocaleResolver.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-push-message-boot/src/main/java/com/xiaopeng/pushMessage/controller/PushOrderRouteController.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-push-message-boot/src/main/java/com/xiaopeng/pushMessage/utils/MapMatchingUtil.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-push-message-boot/src/main/java/com/xiaopeng/pushMessage/webSocket/config/WebSocketServer.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-push-message-boot/src/main/java/com/xiaopeng/pushMessage/webSocket/config/WebSocketServerConfig.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-push-message-boot/src/main/java/com/xiaopeng/pushMessage/webSocket/controller/WebSocketController.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-push-message-boot/src/main/java/com/xiaopeng/pushMessage/webSocket/handler/WebSocketAuthHandler.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-push-message-boot/src/main/java/com/xiaopeng/pushMessage/webSocket/handler/WebSocketTextFrameHandler.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-push-message-boot/src/main/java/com/xiaopeng/pushMessage/webSocket/service/WebSocketUserConnectionManager.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-push-message-boot/src/main/java/com/xiaopeng/pushMessage/webSocket/service/WebSocketUserService.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-push-message-boot/src/main/resources/bootstrap.yml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-push-message-boot/src/main/resources/i18n/messages.properties 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-push-message-boot/src/main/resources/i18n/messages_en_US.properties 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-push-message-boot/src/main/resources/i18n/messages_zh_CN.properties 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-push-message-boot/src/main/resources/logback.xml 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-push-message-boot/src/main/resources/mybatis-config.xml 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-push-message-boot/src/main/resources/seata.conf 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-push-message-boot/src/test/java/com/ruoyi/account/RuoYiAccountApplicationTests.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-push-message-boot/xp-modules-account.iml 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-pushMessage-boot/src/main/resources/bootstrap.yml 295 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-remote-driving-boot/pom.xml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-remote-driving-boot/src/main/java/com/xiaopeng/remoteDriving/RemoteDrivingApplication.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-remote-driving-boot/src/main/java/com/xiaopeng/remoteDriving/config/MessageLocalConfig.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-remote-driving-boot/src/main/java/com/xiaopeng/remoteDriving/config/MyLocaleResolver.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-remote-driving-boot/src/main/resources/bootstrap.yml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-remote-driving-boot/src/main/resources/i18n/messages.properties 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-remote-driving-boot/src/main/resources/i18n/messages_en_US.properties 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-remote-driving-boot/src/main/resources/i18n/messages_zh_CN.properties 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-remote-driving-boot/src/main/resources/logback.xml 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-remote-driving-boot/src/main/resources/mybatis-config.xml 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-remote-driving-boot/src/main/resources/seata.conf 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-remote-driving-boot/src/test/java/com/ruoyi/account/RuoYiAccountApplicationTests.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-remote-driving-boot/xp-modules-account.iml 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/pom.xml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/VehicleConvoyApplication.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/config/DataUpdateHandlerConfig.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/config/MessageLocalConfig.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/config/MyLocaleResolver.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/config/TransactionConfiguration.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/constant/I18nKeyConstant.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/controller/IndexController.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/controller/XpFleetController.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/controller/XpFleetOperationsController.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/controller/XpFleetVehicleController.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/controller/XpPolicyApplicationController.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/controller/XpVehicleController.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/mapper/XpFleetMapper.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/mapper/XpFleetOperationsMapper.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/mapper/XpFleetVehicleMapper.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/mapper/XpPolicyApplicationMapper.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/mapper/XpVehicleAnnualRecordMapper.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/mapper/XpVehicleMapper.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/dto/FleetAddDTO.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/dto/FleetEditDTO.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/dto/SetTemperatureDTO.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/dto/UnlockAppletDTO.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/dto/UnlockByTypeDTO.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/dto/VehicleAddDTO.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/dto/VehicleBatchSetElectronicDTO.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/dto/VehicleEditDTO.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/dto/VehicleImproveInfoDTO.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/dto/XpPolicyApplicationAuditDTO.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/exportExcel/XpOperationVehicleExportExcel.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/exportExcel/XpVehicleExportExcel.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/importExcel/XpVehicleImportExcel.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/query/FleetPageQuery.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/query/FleetUserPageQuery.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/query/FleetVehiclePageQuery.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/query/IndexDataQuery.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/query/OperationVehicleExportQuery.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/query/OperationVehiclePageQuery.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/query/VehicleExportQuery.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/query/VehicleMapQuery.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/query/VehiclePageQuery.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/query/VehicleSelectPageQuery.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/query/VehicleTaskRoutineQuery.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/query/XpPolicyApplicationQuery.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/query/XpVehicleAnnualRecordPageQuery.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/vo/FleetDetailVO.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/vo/FleetPageVO.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/vo/FleetUserVO.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/vo/FleetVehicleVO.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/vo/IndexDataVO.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/vo/XpPolicyApplicationVO.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/vo/XpVehicleVO.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/service/IXpFleetOperationsService.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/service/IXpFleetService.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/service/IXpFleetVehicleService.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/service/IXpPolicyApplicationService.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/service/IXpVehicleAnnualRecordService.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/service/IXpVehicleService.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/service/IndexDataService.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/service/impl/IndexDataServiceImpl.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/service/impl/XpFleetOperationsServiceImpl.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/service/impl/XpFleetServiceImpl.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/service/impl/XpFleetVehicleServiceImpl.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/service/impl/XpPolicyApplicationServiceImpl.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/service/impl/XpVehicleAnnualRecordServiceImpl.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/service/impl/XpVehicleServiceImpl.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/util/HMACSHA1.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/util/SnowFlake.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/util/VehicleControlUtil.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/resources/bootstrap.yml 163 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/resources/i18n/messages.properties 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/resources/i18n/messages_en_US.properties 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/resources/i18n/messages_zh_CN.properties 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/resources/logback.xml 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/resources/mapper/vehicleConvoy/XpFleetMapper.xml 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/resources/mapper/vehicleConvoy/XpFleetOperationsMapper.xml 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/resources/mapper/vehicleConvoy/XpFleetVehicleMapper.xml 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/resources/mapper/vehicleConvoy/XpPolicyApplicationMapper.xml 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/resources/mapper/vehicleConvoy/XpVehicleAnnualRecordMapper.xml 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/resources/mapper/vehicleConvoy/XpVehicleMapper.xml 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/resources/mybatis-config.xml 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/resources/seata.conf 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/test/java/com/ruoyi/account/RuoYiAccountApplicationTests.java 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/xp-modules-account.iml 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicleConvoy-boot/src/main/resources/bootstrap.yml 296 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.gitignore
@@ -15,7 +15,7 @@
target
*.yaml
*.yml
#*.yaml
#*.yml
*.log.DS_Store
**/.DS_Store
pom.xml
@@ -255,16 +255,16 @@
        <module>xp-robotaxi-common</module>
        <module>xp-robotaxi-gateway-boot</module>
        <module>xp-robotaxi-account-boot</module>
        <module>xp-robotaxi-automaticPilot-boot</module>
        <module>xp-robotaxi-automatic-pilot-boot</module>
        <module>xp-robotaxi-itinerary-boot</module>
        <module>xp-robotaxi-maintenance-boot</module>
        <module>xp-robotaxi-map-boot</module>
        <module>xp-robotaxi-operation-boot</module>
        <module>xp-robotaxi-order-boot</module>
        <module>xp-robotaxi-payment-boot</module>
        <module>xp-robotaxi-pushMessage-boot</module>
        <module>xp-robotaxi-remoteDriving-boot</module>
        <module>xp-robotaxi-vehicleConvoy-boot</module>
        <module>xp-robotaxi-push-message-boot</module>
        <module>xp-robotaxi-remote-driving-boot</module>
        <module>xp-robotaxi-vehicle-convoy-boot</module>
        <module>xp-robotaxi-job-boot</module>
        <module>xp-robotaxi-file-boot</module>
    </modules>
xp-robotaxi-api/src/main/java/com/xiaopeng/api/factory/vehicleConvoy/XpVehicleClientFallbackFactory.java
@@ -70,7 +70,7 @@
            @Override
            public R<XpVehicle> findByVehicleXpuId(String xpuid) {
                log.error("查询车辆信息失败,原因: {}", cause.getMessage());
                log.error("根据车辆xpuid查询车辆信息,原因: {}", cause.getMessage());
                return R.fail();
            }
        };
xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/order/XpOrder.java
@@ -53,6 +53,7 @@
    @ApiModelProperty(value = "订单来源 1=APP下单")
    private Integer orderSource;
    @ApiModelProperty(value = "乘车时间")
    private LocalDateTime rideTime;
@@ -133,7 +134,8 @@
    @ApiModelProperty(value = "时长分钟")
    private Double duration;
    @ApiModelProperty(value = "时长费所属时段type=1 普通时段 type=2 夜间行驶时段 3高峰时段 4节假日时段")
    private Integer durationType;
    @ApiModelProperty(value = "时长费")
    private BigDecimal durationMoney;
@@ -145,7 +147,8 @@
    @ApiModelProperty(value = "远途公里")
    private Double longDistance;
    @ApiModelProperty(value = "远途费所属时段type=1 普通时段 type=2 夜间行驶时段 3高峰时段 4节假日时段")
    private Integer longDistanceType;
    @ApiModelProperty(value = "远途费")
    private BigDecimal longDistancemoney;
xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/order/XpOrderDetail.java
New file
@@ -0,0 +1,70 @@
package com.xiaopeng.api.model.order;
import com.baomidou.mybatisplus.annotation.*;
import com.xiaopeng.common.core.web.domain.BaseModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
 * <p>
 * 订单费用明细表
 * </p>
 *
 * @author mitao
 * @since 2026-02-03
 */
@Data
@TableName("xp_order_detail")
@ApiModel(value = "XpOrderDetail对象", description = "订单费用明细表")
public class XpOrderDetail extends BaseModel {
    private static final long serialVersionUID = 1L;
    @TableId(value = "id", type = IdType.AUTO)
    @ApiModelProperty(value = "自增id")
    private Long id;
    @ApiModelProperty(value = "订单id")
    private Long orderId;
    @ApiModelProperty(value = "type=1 普通时段 type=2 夜间行驶时段 3高峰时段 4节假日时段")
    private Integer type;
    @ApiModelProperty(value = "1=起步价 2=里程费")
    private Integer detailType;
    @ApiModelProperty(value = "时段")
    private String time;
    @ApiModelProperty(value = "时长分钟")
    private Integer duration;
    @ApiModelProperty(value = "里程")
    private BigDecimal mileage;
    @ApiModelProperty(value = "金额")
    private BigDecimal money;
    @TableLogic
    @ApiModelProperty(value = "是否删除 0=未删除 1=已删除")
    private Boolean isDeleted;
    @TableField(fill = FieldFill.INSERT)
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;
    @TableField(fill = FieldFill.INSERT_UPDATE)
    @ApiModelProperty(value = "修改时间")
    private LocalDateTime updateTime;
    @TableField(fill = FieldFill.INSERT)
    @ApiModelProperty(value = "创建人")
    private String createBy;
    @TableField(fill = FieldFill.INSERT_UPDATE)
    @ApiModelProperty(value = "修改人")
    private String updateBy;
}
xp-robotaxi-api/src/main/java/com/xiaopeng/api/vo/order/FareBreakdownDetailVo.java
@@ -15,7 +15,7 @@
    private String time;
    @ApiModelProperty(value = "里程 单位公里")
    private BigDecimal mileage;
    @ApiModelProperty(value = "时间")
    @ApiModelProperty(value = "时间 分钟")
    private long duration;
    @ApiModelProperty(value = "金额")
    private BigDecimal money;
xp-robotaxi-automatic-pilot-boot/pom.xml
File was renamed from xp-robotaxi-automaticPilot-boot/pom.xml
@@ -8,7 +8,7 @@
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <artifactId>xp-robotaxi-automaticPilot-boot</artifactId>
    <artifactId>xp-robotaxi-automatic-pilot-boot</artifactId>
    <description>
        xp-modules-automaticPilot自动驾驶模块
xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/AutomaticPilotApplication.java
xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/config/KafkaConfig.java
xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/config/MessageLocalConfig.java
xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/config/MyLocaleResolver.java
xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/controller/KafkaTestController.java
xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/controller/OrderMissionController.java
xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/controller/XpuVinController.java
xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java
File was renamed from xp-robotaxi-automaticPilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java
@@ -6,15 +6,12 @@
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;
import com.xiaopeng.api.feignClient.map.XpMapClient;
import com.xiaopeng.api.feignClient.operation.ReassignOrderClient;
import com.xiaopeng.api.feignClient.order.XpOrderClient;
import com.xiaopeng.api.feignClient.pushMessage.XpPushMessageClient;
import com.xiaopeng.api.feignClient.vehicleConvoy.UserVehicleClient;
import com.xiaopeng.api.feignClient.vehicleConvoy.XpVehicleClient;
import com.xiaopeng.api.model.order.XpOrder;
import com.xiaopeng.api.model.vehicleConvoy.XpVehicle;
@@ -35,7 +32,6 @@
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;
@@ -56,9 +52,6 @@
import javax.annotation.Resource;
import java.util.*;
import java.util.concurrent.TimeUnit;
import static org.bouncycastle.asn1.x500.style.RFC4519Style.l;
import static org.bouncycastle.asn1.x500.style.RFC4519Style.uid;
/**
 * Kafka 消费者服务
@@ -84,13 +77,9 @@
    @Autowired
    public RedisTemplate redisTemplate;
    @Autowired
    private UserVehicleClient userVehicleClient;
    @Resource
    private XpPushMessageClient xpPushMessageClient;
    @Autowired
    private ReassignOrderClient reassignOrderClient;
@@ -195,9 +184,7 @@
                Object sequence = redisTemplate.opsForValue().get(requestSeq);
                if(sequence!=null){
                    String[] split = sequence.toString().split("_");
                    String typeStr = split[0];
                    // 推单处理
                    if(typeStr.equals("pushOrder")){
                    if(split[0].equals("pushOrder")){
                        PopOrderDto dto = new PopOrderDto();
                        dto.setOrderId(Long.valueOf(split[1]));
                        dto.setXpVehicleVin(split[2]);
@@ -278,56 +265,6 @@
            dto.setDuration(rtTripInfo.getRemaining_time());
            dto.setDistance(rtTripInfo.getRemaining_distance().intValue());
            xpPushMessageClient.pushOrderRoute(dto);
        }
    }
    /**
     * XPU发布系统运行状态---车辆实时位置
     *
     * @param msgContent
     */
    public void systemStatusXpuAndReassign(MsgContent msgContent) {
        //开始处理消息对应的业务逻辑
        SystemRuntimeStatus systemRuntimeStatus = msgContent.getContent_detail().getObject("systemRuntimeStatus", SystemRuntimeStatus.class);
        AbnormalReason abnormalReason = systemRuntimeStatus.getSystem_status().getAbnormal_reason();
        // 判断是否为故障状态
        if (abnormalReason == AbnormalReason.FAULT) {
            log.info("车辆故障,开始处理故障");
            // TODO 添加异常任务
            // 解绑用户与车辆关系
            CancelTaxiPassengerVo cancelTaxiPassengerVo = new CancelTaxiPassengerVo();
            String orderId = systemRuntimeStatus.getRunning_order_status_info().getOrder_id();
            XpOrder xpOrder = xpOrderClient.queryOrderById(Long.parseLong(orderId)).getData();
            XpVehicle vehicle = xpVehicleClient.queryById(xpOrder.getVehicleId()).getData();
            if (vehicle != null) {
                // 修改车辆状态
                vehicle.setOperatingStatus(4);
                xpVehicleClient.updateVehicleById(vehicle);
                cancelTaxiPassengerVo.setVin(vehicle.getVehicleVin());
                cancelTaxiPassengerVo.setUid(xpOrder.getAppUserId().toString());
                cancelTaxiPassengerVo.setOrderNo(xpOrder.getOrderNumber());
                // TODO
//            cancelTaxiPassengerVo.setAppId();
                userVehicleClient.cancelTaxiPassenger(cancelTaxiPassengerVo);
            }
            // 取消订单
            R<?> r = xpOrderClient.cancelOrder(String.valueOf(xpOrder.getId()));
            if (r.getCode() == R.SUCCESS){
                log.info("取消订单成功");
                // 重新派单
                ReassignOrderDTO reassignOrderDTO = new ReassignOrderDTO();
                reassignOrderDTO.setUid(xpOrder.getAppUserId().toString());
                reassignOrderDTO.setOrderNo(xpOrder.getOrderNumber());
                reassignOrderDTO.setCount(10);
                RealtimePose pose = systemRuntimeStatus.getPose();
                Wgs naviPose = pose.getNavi_pose();
                Double latitude = naviPose.getLatitude();
                Double longitude = naviPose.getLongitude();
                reassignOrderDTO.setLongitude(longitude);
                reassignOrderDTO.setLatitude(latitude);
                reassignOrderClient.reassignOrder(reassignOrderDTO);
            }
        }
    }
xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/util/XPUUtil.java
File was renamed from xp-robotaxi-automaticPilot-boot/src/main/java/com/xiaopeng/automaticPilot/util/XPUUtil.java
@@ -18,6 +18,7 @@
import com.xiaopeng.common.core.utils.StringUtils;
import com.xiaopeng.common.core.utils.uuid.UUID;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
@@ -32,6 +33,9 @@
@Slf4j
@Component
public class XPUUtil {
    @Value("${xpu.topic}")
    private String topic;
    @Resource
    private XPUClient xpuClient;
@@ -71,7 +75,7 @@
        String xpuId = getXpuIdByVin(vin);
        //组装请求消息体
        MqttPublishVo vo = new MqttPublishVo();
        vo.setTopic("topic-prod-xpu-robotaxi-high/" + xpuId);
        vo.setTopic(topic + "/" + xpuId);
        vo.setPayload(JSON.toJSONString(msgContent));
        return xpuClient.publish(vo);
    }
@@ -103,7 +107,7 @@
        String xpuId = getXpuIdByVin(vin);
        //组装请求消息体
        MqttPublishVo vo = new MqttPublishVo();
        vo.setTopic("topic-prod-xpu-robotaxi-high/" + xpuId);
        vo.setTopic(topic + "/" + xpuId);
        vo.setPayload(JSON.toJSONString(msgContent));
        return xpuClient.publish(vo);
    }
@@ -137,7 +141,7 @@
        String xpuId = getXpuIdByVin(vin);
        //组装请求消息体
        MqttPublishVo vo = new MqttPublishVo();
        vo.setTopic("topic-prod-xpu-robotaxi-high/" + xpuId);
        vo.setTopic(topic + "/" + xpuId);
        vo.setPayload(JSON.toJSONString(msgContent));
        return xpuClient.publish(vo);
    }
xp-robotaxi-automatic-pilot-boot/src/main/resources/bootstrap.yml
New file
@@ -0,0 +1,161 @@
server:
  port: 6020
  tomcat:
    basedir: /data/tomcat
# Spring
spring:
  application:
    # 应用名称
    name: xp-robotaxi-automatic-pilot-boot
  main:
    allow-bean-definition-overriding: true
    allow-circular-references: true
  profiles:
    # 环境配置
    active: dev
#    active: prod
---
spring:
  config:
    activate:
      on-profile: dev
  cloud:
    nacos:
      discovery:
        # 服务注册地址
        server-addr: 192.168.110.80:8848
        service: ${spring.application.name}
        group: DEFAULT_GROUP
        namespace: 5185ac4b-6369-48eb-a21b-a7cbc441c5f1
        username: nacos
        password: nacos
      config:
        # 配置中心地址
        server-addr: 192.168.110.80:8848
        namespace: 5185ac4b-6369-48eb-a21b-a7cbc441c5f1
        group: DEFAULT_GROUP
        name: ${spring.application.name}
        username: nacos
        password: nacos
        # 配置文件格式
        file-extension: yml
        # 共享配置
        shared-configs:
          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
---
seata:
  enabled: true
  application-id: ${spring.application.name}
  tx-service-group: seata_tx_group    #此处配置自定义的seata事务分组名称
  enable-auto-data-source-proxy: false    #关闭数据库代理
  service:
    vgroup-mapping:
      seata_tx_group: default
  data-source-proxy-mode: AT
  config:
    type: nacos
    nacos:
      # 开发环境
      server-addr: 192.168.110.80:8848
      namespace: 5185ac4b-6369-48eb-a21b-a7cbc441c5f1
      group: DEFAULT_GROUP
      data-id: seata-server.properties
      username: nacos
      password: nacos
      # 生产环境
  #      server-addr: 192.168.0.137:8848,192.168.0.123:8848
  #      namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
  #      group: DEFAULT_GROUP
  #      data-id: seata-server.properties
  #      username: nacos
  #      password: nacos
  registry:
    type: nacos
    nacos:
      application: seata-server
      # 开发环境
      server-addr: 192.168.110.80:8848
      namespace: 5185ac4b-6369-48eb-a21b-a7cbc441c5f1
      group: DEFAULT_GROUP
      username: nacos
      password: nacos
      # 生产环境
  #      server-addr: 192.168.0.137:8848,192.168.0.123:8848
  #      namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
  #      group: DEFAULT_GROUP
  #      username: nacos
  #      password: nacos
  cloud:
    nacos:
      discovery:
        # 开发环境
        server-addr: 192.168.110.80:8848
        namespace: 5185ac4b-6369-48eb-a21b-a7cbc441c5f1
        group: DEFAULT_GROUP
        application: seata-server #Nacos 中 Seata 名称
        username: nacos
        password: nacos
        # 生产环境
    #        server-addr: 192.168.0.137:8848,192.168.0.123:8848
    #        namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
    #        group: DEFAULT_GROUP
    #        application: seata-server #Nacos 中 Seata 名称
    #        username: nacos
    #        password: nacos
    sentinel:
      transport:
        dashboard: 192.168.0.137:8080  #  Sentinel控制台地址
      eager: true
---
spring:
  config:
    activate:
      on-profile: prod
  cloud:
    nacos:
      discovery:
        # 服务注册地址
        server-addr: 192.168.0.137:8848,192.168.0.123:8848
        service: ${spring.application.name}
        group: DEFAULT_GROUP
        namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
        username: nacos
        password: nacos
      config:
        # 配置中心地址
        server-addr: 192.168.0.137:8848,192.168.0.123:8848
        namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
        username: nacos
        password: nacos
        group: DEFAULT_GROUP
        name: ${spring.application.name}
        # 配置文件格式
        file-extension: yml
        # 共享配置
        shared-configs:
          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
---
spring:
  config:
    activate:
      on-profile: test
  cloud:
    nacos:
      discovery:
        # 服务注册地址
        server-addr: 127.0.0.1:8848
        service: ${spring.application.name}
        group: DEFAULT_GROUP
        namespace: 96712c7a-480b-4f40-b783-39f00f3b33ce
      config:
        # 配置中心地址
        server-addr: 127.0.0.1:8848
        namespace: 96712c7a-480b-4f40-b783-39f00f3b33ce
        group: DEFAULT_GROUP
        name: ${spring.application.name}
        # 配置文件格式
        file-extension: yml
        # 共享配置
        shared-configs:
          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
xp-robotaxi-automatic-pilot-boot/src/main/resources/i18n/messages.properties
xp-robotaxi-automatic-pilot-boot/src/main/resources/i18n/messages_en_US.properties
xp-robotaxi-automatic-pilot-boot/src/main/resources/i18n/messages_zh_CN.properties
xp-robotaxi-automatic-pilot-boot/src/main/resources/logback.xml
xp-robotaxi-automatic-pilot-boot/src/main/resources/mybatis-config.xml
xp-robotaxi-automatic-pilot-boot/src/main/resources/seata.conf
xp-robotaxi-automatic-pilot-boot/src/test/java/com/ruoyi/account/RuoYiAccountApplicationTests.java
xp-robotaxi-automatic-pilot-boot/xp-modules-account.iml
xp-robotaxi-automaticPilot-boot/src/main/resources/bootstrap.yml
File was deleted
xp-robotaxi-common/xp-common-core/src/main/java/com/xiaopeng/common/core/dto/ServiceNameConstantsEnum.java
@@ -12,7 +12,7 @@
    /**
     * 自动驾驶服务
     */
    String XP_AUTOMATIC_PILOT_SERVICE = "xp-robotaxi-automaticPilot-boot";
    String XP_AUTOMATIC_PILOT_SERVICE = "xp-robotaxi-automatic-pilot-boot";
    /**
     * 行程服务
     */
@@ -40,15 +40,15 @@
    /**
     * 推送服务
     */
    String XP_PUSH_MESSAGE_SERVICE = "xp-robotaxi-pushMessage-boot";
    String XP_PUSH_MESSAGE_SERVICE = "xp-robotaxi-push-message-boot";
    /**
     * 远程驾驶服务
     */
    String XP_REMOTE_DRIVING_SERVICE = "xp-robotaxi-remoteDriving-boot";
    String XP_REMOTE_DRIVING_SERVICE = "xp-robotaxi-remote-driving-boot";
    /**
     * 车辆车队服务
     */
    String XP_VEHICLE_CONVOY_SERVICE = "xp-robotaxi-vehicleConvoy-boot";
    String XP_VEHICLE_CONVOY_SERVICE = "xp-robotaxi-vehicle-convoy-boot";
    /**
     * 小鹏用户中心乘客车辆绑定
     */
xp-robotaxi-gateway-boot/src/main/resources/bootstrap.yml
@@ -7,7 +7,7 @@
spring:
  application:
    # 应用名称
    name: xp-gateway
    name: xp-gateway-boot
  main:
    allow-bean-definition-overriding: true
  profiles:
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/mapper/XpOrderDetailMapper.java
New file
@@ -0,0 +1,17 @@
package com.xiaopeng.order.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xiaopeng.api.model.order.XpOrderCancel;
import com.xiaopeng.api.model.order.XpOrderDetail;
/**
 * <p>
 * 订单取消 Mapper 接口
 * </p>
 *
 * @author mitao
 * @since 2026-02-03
 */
public interface XpOrderDetailMapper extends BaseMapper<XpOrderDetail> {
}
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/IXpOrderDetailService.java
New file
@@ -0,0 +1,17 @@
package com.xiaopeng.order.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xiaopeng.api.model.order.XpOrderCancel;
import com.xiaopeng.api.model.order.XpOrderDetail;
/**
 * <p>
 * 订单取消 服务类
 * </p>
 *
 * @author mitao
 * @since 2026-02-03
 */
public interface IXpOrderDetailService extends IService<XpOrderDetail> {
}
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderDetailServiceImpl.java
New file
@@ -0,0 +1,23 @@
package com.xiaopeng.order.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.xiaopeng.api.model.order.XpOrderCancel;
import com.xiaopeng.api.model.order.XpOrderDetail;
import com.xiaopeng.order.mapper.XpOrderCancelMapper;
import com.xiaopeng.order.mapper.XpOrderDetailMapper;
import com.xiaopeng.order.service.IXpOrderCancelService;
import com.xiaopeng.order.service.IXpOrderDetailService;
import org.springframework.stereotype.Service;
/**
 * <p>
 * 订单取消 服务实现类
 * </p>
 *
 * @author mitao
 * @since 2026-02-03
 */
@Service
public class XpOrderDetailServiceImpl extends ServiceImpl<XpOrderDetailMapper, XpOrderDetail> implements IXpOrderDetailService {
}
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java
@@ -35,10 +35,7 @@
import com.xiaopeng.api.model.operation.XpFeedbackType;
import com.xiaopeng.api.model.operation.XpPoint;
import com.xiaopeng.api.model.operation.XpPricing;
import com.xiaopeng.api.model.order.XpOrder;
import com.xiaopeng.api.model.order.XpOrderCancel;
import com.xiaopeng.api.model.order.XpOrderEvaluate;
import com.xiaopeng.api.model.order.XpOrderReassign;
import com.xiaopeng.api.model.order.*;
import com.xiaopeng.api.model.vehicleConvoy.XpFleet;
import com.xiaopeng.api.model.vehicleConvoy.XpVehicle;
import com.xiaopeng.api.vo.account.UserCouponVo;
@@ -66,6 +63,7 @@
import com.xiaopeng.order.job.jobs.OrderCancelJob;
import com.xiaopeng.order.mangodb.model.OrderTrajectory;
import com.xiaopeng.order.mangodb.service.OrderTrajectoryService;
import com.xiaopeng.order.mapper.XpOrderDetailMapper;
import com.xiaopeng.order.mapper.XpOrderMapper;
import com.xiaopeng.order.model.dto.XpOrderCommentDto;
import com.xiaopeng.order.model.dto.XpOrderPayDto;
@@ -131,6 +129,8 @@
    private final XpSystemSettingClient xpSystemSettingClient;
    private final OrderTrajectoryService orderTrajectoryService;
    private final XpPushMessageClient xpPushMessageClient;
    private final OrderMissionClient orderMissionClient;
    private final XpOrderDetailMapper xpOrderDetailMapper;
    private final OrderMissionClient orderMissionClient;
    @Autowired
@@ -904,6 +904,7 @@
    @Override
    public void endTrip(Long orderId, String uid) {
        List<XpOrderDetail> xpOrderDetails = new ArrayList<>();
        // 起步价格明细
        List<FareBreakdownDetailVo> start = new ArrayList<>();
        // 里程费价格明细
@@ -984,11 +985,11 @@
        }
        // --- 远途加价区间配置 (关键修改) ---
        // 1. 超过 num1(12) 不足 num2(20), 加收 num3(1.2)
        config.longSteps.add(new TaxiPricingDemoService.LongRangeStep(5.0, 6.0, 1.2));
        config.longSteps.add(new TaxiPricingDemoService.LongRangeStep(Double.parseDouble(basicPricingJson.getString("num6")), Double.parseDouble(basicPricingJson.getString("num7")), Double.parseDouble(basicPricingJson.getString("num8"))));
        // 2. 超过 num4(20) 不足 num5(35), 加收 num6(2.0)
        config.longSteps.add(new TaxiPricingDemoService.LongRangeStep(6.0, 7.0, 2.0));
        config.longSteps.add(new TaxiPricingDemoService.LongRangeStep(Double.parseDouble(basicPricingJson.getString("num9")), Double.parseDouble(basicPricingJson.getString("num10")), Double.parseDouble(basicPricingJson.getString("num11"))));
        // 3. 超过 num7(35) 以后, 加收 num8(3.5) -> numEnd 传个极大值
        config.longSteps.add(new TaxiPricingDemoService.LongRangeStep(7.0, 8.0, 3.5));
        config.longSteps.add(new TaxiPricingDemoService.LongRangeStep(Double.parseDouble(basicPricingJson.getString("num12")), 999999, Double.parseDouble(basicPricingJson.getString("num13"))));
        TaxiPricingDemoService.TaxiPricingService service = new TaxiPricingDemoService.TaxiPricingService();
        Map<String, BigDecimal> bill = service.calculateOrderPrice(DateUtils.toDate(order.getCreateTime()), order.getMileageKilometers(), gpsPoints, config);
@@ -1057,6 +1058,7 @@
                    mileageDetail.setMileage(distance);
                    mileageDetail.setMoney(money);
                }
                mileage.add(mileageDetail);
            }
            // 封装时长费
@@ -1076,354 +1078,39 @@
                longDistance.add(longDetail);
            }
        }
//        // 计算实际价格
//        // 查询订单轨迹
//        List<OrderTrajectory> trajectories = mongoTemplate.find(
//                new Query(Criteria.where("orderId").is(orderId))
//                        .with(Sort.by(Sort.Direction.ASC, "locatetime")),
//                OrderTrajectory.class
//        );
//        // 计算等待时间
//        LocalDateTime boardingTime = order.getBoardingTime();// 上车时间
//        LocalDateTime arrivalTime = order.getArrivalTime();// 车辆到达上车点时间
//        // 行程开始时间
//        Integer waitTime = Math.abs((int) Duration.between(boardingTime, arrivalTime).getSeconds());
//
//        // 行程总时间 秒
//        LocalDateTime tripBegin = order.getTripBegin();
//        LocalDateTime tripEnd = order.getTripEnd();
//        long seconds = Duration.between(tripBegin, tripEnd).getSeconds();
//        // 默认费率1
//        double priceRate = 1;
//        if (pricing.getIsDynamicPrice() == 1) {
//            // 先判断是否已经调价过了
//            Object userDynamicPriceObj = redisService.getCacheObject("USER_DYNAMIC_PRICE_" + order.getCityId() + "_" + uid);
//            if (userDynamicPriceObj != null) {
//                // 是否调价过了
//                priceRate = Double.parseDouble(userDynamicPriceObj.toString());
//            } else {
//                // 没有调过
//                //是否触发动态调价 redis获取
//                Object dynamicPriceObj = redisService.getCacheObject("DYNAMIC_PRICE_" + order.getCityId());
//                if (dynamicPriceObj != null) {
//                    JSONObject jsonObject = JSONObject.parseObject(pricing.getDynamicPricingJson());
//                    // 触发动态调价
//                    // value=时间
//                    String timeStr = dynamicPriceObj.toString();
//                    // 判断当前距离这个时间范围的新增订单数(排除取消) / 上浮数量 算出应该增加的价格率
//                    Integer num = this.getOrderNum(new GetOrderNumDto(timeStr, order.getCityId()));
//                    // X单上升一次调价
//                    Integer orderNum = getOrderNum(jsonObject, 4);
//                    // 需要调价的次数
//                    int count = num / orderNum;
//                    if (count > 0) {
//                        // 计算每次上升的费率
//                        Integer upRate = getOrderNum(jsonObject, 5);
//                        BigDecimal divide = new BigDecimal(upRate).divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP);
//                        for (int i = count; i > 0; i--) {
//                            // 当前费率+(费率*上升百分比)
//                            priceRate = new BigDecimal(priceRate).multiply(divide).add(new BigDecimal(priceRate)).setScale(2, RoundingMode.HALF_UP).doubleValue();
//                        }
//                        // 冷却时间
//                        Integer time = getOrderNum(jsonObject, 6);
//                        // 触发调价了
//                        redisService.setCacheObject("USER_DYNAMIC_PRICE_" + order.getCityId() + "_" + uid, priceRate, time.longValue(), TimeUnit.MINUTES);
//                    }
//
//                }
//            }
//        }
//        if (trajectories.isEmpty()) {
//            return;
//        }
//        // 起步价规则
//        String startingFareJson = pricing.getStartingFareJson();
//        JSONArray startingFareJsonArray = JSONArray.parseArray(startingFareJson);
//        // 基础信息规则
//        String basicPricing = pricing.getBasicPricingJson();
//        JSONObject basicPricingJson = JSONObject.parseObject(basicPricing);
//
//        // 计算过后得到起步价
//        String num3 = "";
//        String num4 = "";
//        String num5 = "";
//        String num6 = "";
//        String num7 = "";
//        String startTime = "";
//        String endTime = "";
//        // 等待费设置
//        String num4Wait = basicPricingJson.getString("num4");
//        String num5Wait = basicPricingJson.getString("num5");
//        // 远途费设置
//        String numLong6 = basicPricingJson.getString("num6");
//        String numLong7 = basicPricingJson.getString("num7");
//        String numLong8 = basicPricingJson.getString("num8");
//        String numLong9 = basicPricingJson.getString("num9");
//        String numLong10 = basicPricingJson.getString("num10");
//        String numLong11 = basicPricingJson.getString("num11");
//        String numLong12 = basicPricingJson.getString("num12");
//        String numLong13 = basicPricingJson.getString("num13");
//        String numLong14 = basicPricingJson.getString("num14");
//        String numLong15 = basicPricingJson.getString("num15");
//        // 节假日基础价格规则
//        String num29 = basicPricingJson.getString("num29");
//        String num30 = basicPricingJson.getString("num30");
//        String num31 = basicPricingJson.getString("num31");
//        String num32 = basicPricingJson.getString("num32");
//        String num33 = basicPricingJson.getString("num33");
//        String num34 = basicPricingJson.getString("num34");
//
//        // 高峰期基础价格规则
//        String num21 = basicPricingJson.getString("num21");
//        String num22 = basicPricingJson.getString("num22");
//        String num23 = basicPricingJson.getString("num23");
//        String num24 = basicPricingJson.getString("num24");
//        String num25 = basicPricingJson.getString("num25");
//        String num26 = basicPricingJson.getString("num26");
//        String num27 = basicPricingJson.getString("num27");
//        String num28 = basicPricingJson.getString("num28");
//        // 夜间行驶基础价格规则
//        String num14 = basicPricingJson.getString("num14");
//        String num15 = basicPricingJson.getString("num15");
//        String num16 = basicPricingJson.getString("num16");
//        String num17 = basicPricingJson.getString("num17");
//        String num18 = basicPricingJson.getString("num18");
//        String num19 = basicPricingJson.getString("num19");
//        String num20 = basicPricingJson.getString("num20");
//        // 起步里程
//        Double startDistance = 0.00D;
//        // 临时超出起步里程的额外里程
//        Double mileageDistance = 0.00D;
//        // 起步价所属时段 type 1 普通时段 2 夜间行驶时段 3 高峰时段 4 节假日时段
//        Integer startType = 1;
//        // 里程费所属时段 type 0默认临时 1 普通时段 2 夜间行驶时段 3 高峰时段 4 节假日时段
//        Integer mileageType = 0;
//        // 里程费所属时段临时字段 用于区分时段是否变化 type 0默认临时 1 普通时段 2 夜间行驶时段 3 高峰时段 4 节假日时段
//        Integer mileageTypeTemp = 0;
//
//        // 起步价时段开始时间
//        Date startDate = DateUtils.toDate(order.getTripBegin());
//        // 根据订单创建时间确定使用哪个起步价规则
//        Date createTime = DateUtils.toDate(order.getCreateTime());
//        // 起步价时段结束时间
//        Date endDate = new Date();
//        // 计算订单总行驶距离,单位米
//        Double totalDistance = 0.00D;
//        // 起步价计算完成表示
//        boolean startFlag = true;
//        SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm");
//        if (pricing.getPricingType() == 1) {
//
//            // 计算起步价
//            for (Object o : startingFareJsonArray) {
//                JSONObject startingFare = (JSONObject) o;
//                Calendar calendarStart = Calendar.getInstance();
//                calendarStart.setTime(createTime);
//                calendarStart.set(Calendar.HOUR_OF_DAY, Integer.valueOf(startingFare.getString("num1").split(":")[0]));
//                calendarStart.set(Calendar.MINUTE, Integer.valueOf(startingFare.getString("num1").split(":")[1]));
//
//                Calendar calendarEnd = Calendar.getInstance();
//                calendarEnd.setTime(createTime);
//                calendarEnd.set(Calendar.HOUR_OF_DAY, Integer.valueOf(startingFare.getString("num2").split(":")[0]));
//                calendarEnd.set(Calendar.MINUTE, Integer.valueOf(startingFare.getString("num2").split(":")[1]));
//                // 找到符合条件的直接跳出循环
//                if (createTime.getTime() > calendarStart.getTimeInMillis() && createTime.getTime() < calendarEnd.getTimeInMillis()) {
//                    num3 = startingFare.getString("num3");
//                    num4 = startingFare.getString("num4");
//                    num5 = startingFare.getString("num5");
//                    num6 = startingFare.getString("num6");
//                    num7 = startingFare.getString("num7");
//                    startTime = startingFare.getString("num1");
//                    endTime = startingFare.getString("num2");
//                    break;
//                }
//            }
//            // 判断是否为夜间行驶 起步价修改
//            Calendar calendarStart = Calendar.getInstance();
//            calendarStart.setTime(createTime);
//            calendarStart.set(Calendar.HOUR_OF_DAY, Integer.valueOf(num14.split("-")[0].split(":")[0]));
//            calendarStart.set(Calendar.MINUTE, Integer.valueOf(num14.split("-")[0].split(":")[1]));
//            Calendar calendarEnd = Calendar.getInstance();
//            calendarEnd.setTime(createTime);
//            calendarEnd.set(Calendar.HOUR_OF_DAY, Integer.valueOf(num14.split("-")[1].split(":")[0]));
//            calendarEnd.set(Calendar.MINUTE, Integer.valueOf(num14.split("-")[1].split(":")[1]));
//            if (createTime.getTime() > calendarStart.getTimeInMillis() && createTime.getTime() < calendarEnd.getTimeInMillis()
//            ) {
//                num3 = num15;
//                num6 = num16;
//                num7 = num17;
//                startType = 2;
//
//            }
//            // 判断是否为高峰期
//            Calendar calendar1Start = Calendar.getInstance();
//            calendar1Start.setTime(createTime);
//            calendar1Start.set(Calendar.HOUR_OF_DAY, Integer.valueOf(num21.split("-")[0].split(":")[0]));
//            calendar1Start.set(Calendar.MINUTE, Integer.valueOf(num21.split("-")[0].split(":")[1]));
//
//            Calendar calendar1End = Calendar.getInstance();
//            calendar1End.setTime(createTime);
//            calendar1End.set(Calendar.HOUR_OF_DAY, Integer.valueOf(num21.split("-")[1].split(":")[0]));
//            calendar1End.set(Calendar.MINUTE, Integer.valueOf(num21.split("-")[1].split(":")[1]));
//
//            Calendar calendar2Start = Calendar.getInstance();
//            calendar2Start.setTime(createTime);
//            calendar2Start.set(Calendar.HOUR_OF_DAY, Integer.valueOf(num22.split("-")[0].split("-")[0].split(":")[0]));
//            calendar2Start.set(Calendar.MINUTE, Integer.valueOf(num22.split("-")[0].split("-")[0].split(":")[1]));
//
//            Calendar calendar2End = Calendar.getInstance();
//            calendar2End.setTime(createTime);
//            calendar2End.set(Calendar.HOUR_OF_DAY, Integer.valueOf(num22.split("-")[1].split(":")[0]));
//            calendar2End.set(Calendar.MINUTE, Integer.valueOf(num22.split("-")[1].split(":")[1]));
//            // 判断是否为高峰期 起步价,里程费,时长费修改
//            if ((createTime.getTime() > calendar1Start.getTimeInMillis() && createTime.getTime() < calendar1End.getTimeInMillis())
//                    || (createTime.getTime() > calendar2Start.getTimeInMillis() && createTime.getTime() < calendar2End.getTimeInMillis())) {
//                num3 = num23;
//                num6 = num24;
//                num7 = num25;
//                startType = 3;
//            }
//            // 判断当前是否属于节假日
//            boolean holiday = holidayUtil.isHoliday(DateUtils.toLocalDate(createTime));
//            if (holiday) {
//                // 判断是否为节假日 起步价修改
//                num3 = num29;
//                num6 = num30;
//                num7 = num31;
//                startType = 4;
//            }
//            // 查询起步价结束时间段
//            for (OrderTrajectory trajectory : trajectories) {
//                Long locatetime = trajectory.getLocatetime();
//                endDate = new Date(locatetime);
//                LocalDateTime end = DateUtils.dateToLocalDateTime(endDate);
//                if (end.isAfter(tripBegin)) {
//                    // 行程开始 开始计算里程数
//                    if (startDistance >= Double.parseDouble(num4)) {
//                        // 行驶里程大于基础配置里程 那么起步价时段计算完成
//                        break;
//                    }
//                    startDistance += trajectory.getDistance();
//                }
//            }
//            // 起步价价格明细封装
//            FareBreakdownDetailVo startDetail = new FareBreakdownDetailVo();
//            startDetail.setType(startType);
//            startDetail.setTime(timeFormat.format(startDate) + "-" + timeFormat.format(endDate));
//            startDetail.setMileage(new BigDecimal(startDistance / 1000).setScale(2, RoundingMode.HALF_UP));
//
//            // 计算startDate和endDate相差多少分钟
//            // 将 Date 转换为 LocalDateTime
//            LocalDateTime startDateTime = startDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
//            LocalDateTime endDateTime = endDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
//
//            // 计算时间差(单位:分钟)
//            long minutesDifference = Duration.between(startDateTime, endDateTime).toMinutes();
//            startDetail.setDuration(minutesDifference);
//            startDetail.setMoney(new BigDecimal(num3));
//            start.add(startDetail);
//
//
//            // 计算起步价格、里程、时段、行驶时间
////            calculateStartingFare(trajectories, tripBegin, startFlag, startDistance, startingFareJsonArray, num3, num4, num5, endDate, order, num14, num15, num16, num17, startType, num21, num22, num23, num24, num25, num29, num30, num31, timeFormat, startDate, start);
//
//            for (OrderTrajectory trajectory : trajectories) {
////                FareBreakdownDetailVo mileageDetail = new FareBreakdownDetailVo();
////                mileageDetail.setType();
////                mileageDetail.setTime();
////                mileageDetail.setMileage();
////                mileageDetail.setDuration();
////                mileageDetail.setMoney();
//
//                Long locatetime = trajectory.getLocatetime();
//                Date mileageDate = new Date(locatetime);
//                LocalDateTime begin = DateUtils.dateToLocalDateTime(mileageDate);
//                if (begin.isAfter(tripBegin)) {
//                    totalDistance += trajectory.getDistance();
//                    if (totalDistance >= startDistance) {
//                        // 开始累加起步里程
//                        mileageDistance += trajectory.getDistance();
//                        // 判断当前里程费属于什么时段
////                        mileageTypeTemp
//                        MileageDto param = new MileageDto();
//                        param.setMileage(num6);
//                        param.setTime(num7);
//                        param.setMileageTypeTemp(mileageTypeTemp);
//                        MileageDto mileageDto = mileageType(param,startingFareJsonArray, mileageDate, begin, num14, num16, num17, num21, num22, num24, num25, num30, num31);
//                        if (mileageType==0){
//                            // 首次
//                            mileageType = mileageDto.getMileageTypeTemp();
//                            mileageTypeTemp= mileageDto.getMileageTypeTemp();
//                        } else if (mileageType!=mileageTypeTemp){
//                            // 新时段
//                            FareBreakdownDetailVo fareBreakdownDetailVo = new FareBreakdownDetailVo();
//                            fareBreakdownDetailVo.setType(mileageType);
//                            fareBreakdownDetailVo.setTime(timeFormat.format(endDate)+"-"+timeFormat.format(mileageDate));
//                            double md = mileageDistance / 1000;
//                            fareBreakdownDetailVo.setMileage(new BigDecimal(md).setScale(2, RoundingMode.HALF_UP));
//                            // 计算startDate和endDate相差多少分钟
//                            // 将 Date 转换为 LocalDateTime
//                            LocalDateTime startMileageTime = endDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
//                            LocalDateTime endMileageTime = mileageDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
//
//                            // 计算时间差(单位:分钟)
//                            long minutesDifferenceMileage = Duration.between(startMileageTime, endMileageTime).toMinutes();
//                            startDetail.setDuration(minutesDifference);
//                            fareBreakdownDetailVo.setDuration(minutesDifferenceMileage);
//                            // 如果md小数位是0 那么舍弃小数,如果小数位不为0 那么进1
//                            fareBreakdownDetailVo.setMileage(new BigDecimal(md).setScale(2, RoundingMode.HALF_UP));
//                            Integer temp = (int)md;
//                            if (md> temp){
//                                temp=temp+1;
//                            }
//                            // 超出的里程
//                            fareBreakdownDetailVo.setMoney(new BigDecimal(temp*6));
//                            mileage.add(fareBreakdownDetailVo);
//                            // 修改时段标识
//                            mileageType = mileageTypeTemp;
//                            // 修改新时段开始时间
//                            endDate = mileageDate;
//                        }else{
//                            // 时段未变化
//                        }
//                    }
//                }
//            }
//            // 开始计算里程费用
//            for (OrderTrajectory trajectory : trajectories) {
//                Long locatetime = trajectory.getLocatetime();
//                Date mileageDate = new Date(locatetime);
//                LocalDateTime begin = DateUtils.dateToLocalDateTime(mileageDate);
//                // 行驶里程大于起步里程配置 开始计算里程和里程费
//                if (begin.isAfter(tripBegin)) {
//                    totalDistance += trajectory.getDistance();
//                    double v = totalDistance / 1000.0;
//                    if (v >= Double.parseDouble(num5)) {
//                        // 增加超出起步里程的里程数
//                        mileageDistance += trajectory.getDistance();
//
//                    }
//                    if (mileageType == 0) {
//                        // 第一次计算里程费
//
//                    }
//                }
//            }
//        } else {
//
//        }
//
////        XpPricingCardVo xpPricingCardVo = xpPricingUtil.calculationPrice(
////                order.getAppUserId().toString(),JSON.parseObject(pricing.getBasicPricingJson()),
////                JSON.parseArray(pricing.getStartingFareJson()),
////                pricing.getDynamicPricingJson(),
////                pricing.getIsDynamicPrice(),
////                totalDistance,
////                seconds,
////                order.getCityId()
////        );
        for (FareBreakdownDetailVo fareBreakdownDetailVo : start) {
            XpOrderDetail xpOrderDetail = new XpOrderDetail();
            BeanUtils.copyProperties(fareBreakdownDetailVo, xpOrderDetail);
            xpOrderDetail.setOrderId(orderId);
            xpOrderDetail.setDetailType(1);
            xpOrderDetail.setCreateTime(LocalDateTime.now());
            xpOrderDetails.add(xpOrderDetail);
        }
        BigDecimal mileageMoney = BigDecimal.ZERO;
        for (FareBreakdownDetailVo fareBreakdownDetailVo : mileage) {
            XpOrderDetail xpOrderDetail = new XpOrderDetail();
            BeanUtils.copyProperties(fareBreakdownDetailVo, xpOrderDetail);
            xpOrderDetail.setOrderId(orderId);
            xpOrderDetail.setDetailType(2);
            xpOrderDetail.setCreateTime(LocalDateTime.now());
            mileageMoney = mileageMoney.add(fareBreakdownDetailVo.getMoney());
            xpOrderDetails.add(xpOrderDetail);
        }
        order.setMileageMoney(mileageMoney);
        for (XpOrderDetail xpOrderDetail : xpOrderDetails) {
            xpOrderDetailMapper.insert(xpOrderDetail);
        }
        for (FareBreakdownDetailVo fareBreakdownDetailVo : duration) {
            order.setDurationType(fareBreakdownDetailVo.getType());
            order.setDurationMoney(fareBreakdownDetailVo.getMoney());
            order.setDuration(Double.parseDouble(fareBreakdownDetailVo.getDuration()+""));
        }
        for (FareBreakdownDetailVo fareBreakdownDetailVo : longDistance) {
            order.setLongDistanceType(fareBreakdownDetailVo.getType());
            order.setLongDistance(fareBreakdownDetailVo.getMileage().doubleValue());
            order.setLongDistancemoney(fareBreakdownDetailVo.getMoney());
        }
        baseMapper.updateById(order);
    }
xp-robotaxi-push-message-boot/pom.xml
File was renamed from xp-robotaxi-pushMessage-boot/pom.xml
@@ -8,7 +8,7 @@
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <artifactId>xp-robotaxi-pushMessage-boot</artifactId>
    <artifactId>xp-robotaxi-push-message-boot</artifactId>
    <description>
        xp-modules-pushMessage消息推送模块
xp-robotaxi-push-message-boot/src/main/java/com/xiaopeng/pushMessage/PushMessageApplication.java
xp-robotaxi-push-message-boot/src/main/java/com/xiaopeng/pushMessage/config/MessageLocalConfig.java
xp-robotaxi-push-message-boot/src/main/java/com/xiaopeng/pushMessage/config/MyLocaleResolver.java
xp-robotaxi-push-message-boot/src/main/java/com/xiaopeng/pushMessage/controller/PushOrderRouteController.java
xp-robotaxi-push-message-boot/src/main/java/com/xiaopeng/pushMessage/utils/MapMatchingUtil.java
xp-robotaxi-push-message-boot/src/main/java/com/xiaopeng/pushMessage/webSocket/config/WebSocketServer.java
xp-robotaxi-push-message-boot/src/main/java/com/xiaopeng/pushMessage/webSocket/config/WebSocketServerConfig.java
xp-robotaxi-push-message-boot/src/main/java/com/xiaopeng/pushMessage/webSocket/controller/WebSocketController.java
xp-robotaxi-push-message-boot/src/main/java/com/xiaopeng/pushMessage/webSocket/handler/WebSocketAuthHandler.java
xp-robotaxi-push-message-boot/src/main/java/com/xiaopeng/pushMessage/webSocket/handler/WebSocketTextFrameHandler.java
xp-robotaxi-push-message-boot/src/main/java/com/xiaopeng/pushMessage/webSocket/service/WebSocketUserConnectionManager.java
xp-robotaxi-push-message-boot/src/main/java/com/xiaopeng/pushMessage/webSocket/service/WebSocketUserService.java
xp-robotaxi-push-message-boot/src/main/resources/bootstrap.yml
copy from xp-robotaxi-remoteDriving-boot/src/main/resources/bootstrap.yml copy to xp-robotaxi-push-message-boot/src/main/resources/bootstrap.yml
File was copied from xp-robotaxi-remoteDriving-boot/src/main/resources/bootstrap.yml
@@ -6,7 +6,7 @@
spring:
  application:
    # 应用名称
    name: xp-robotaxi-remoteDriving-boot
    name: xp-robotaxi-push-message-boot
  main:
    allow-bean-definition-overriding: true
    allow-circular-references: true
@@ -134,8 +134,6 @@
        # 共享配置
        shared-configs:
          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
---
spring:
  config:
@@ -160,7 +158,6 @@
        # 共享配置
        shared-configs:
          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
---
spring:
xp-robotaxi-push-message-boot/src/main/resources/i18n/messages.properties
xp-robotaxi-push-message-boot/src/main/resources/i18n/messages_en_US.properties
xp-robotaxi-push-message-boot/src/main/resources/i18n/messages_zh_CN.properties
xp-robotaxi-push-message-boot/src/main/resources/logback.xml
xp-robotaxi-push-message-boot/src/main/resources/mybatis-config.xml
xp-robotaxi-push-message-boot/src/main/resources/seata.conf
xp-robotaxi-push-message-boot/src/test/java/com/ruoyi/account/RuoYiAccountApplicationTests.java
xp-robotaxi-push-message-boot/xp-modules-account.iml
xp-robotaxi-pushMessage-boot/src/main/resources/bootstrap.yml
File was deleted
xp-robotaxi-remote-driving-boot/pom.xml
File was renamed from xp-robotaxi-remoteDriving-boot/pom.xml
@@ -8,7 +8,7 @@
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <artifactId>xp-robotaxi-remoteDriving-boot</artifactId>
    <artifactId>xp-robotaxi-remote-driving-boot</artifactId>
    <description>
        xp-modules-remoteDriving远程驾驶模块
xp-robotaxi-remote-driving-boot/src/main/java/com/xiaopeng/remoteDriving/RemoteDrivingApplication.java
xp-robotaxi-remote-driving-boot/src/main/java/com/xiaopeng/remoteDriving/config/MessageLocalConfig.java
xp-robotaxi-remote-driving-boot/src/main/java/com/xiaopeng/remoteDriving/config/MyLocaleResolver.java
xp-robotaxi-remote-driving-boot/src/main/resources/bootstrap.yml
File was renamed from xp-robotaxi-remoteDriving-boot/src/main/resources/bootstrap.yml
@@ -6,7 +6,7 @@
spring:
  application:
    # 应用名称
    name: xp-robotaxi-remoteDriving-boot
    name: xp-robotaxi-remote-driving-boot
  main:
    allow-bean-definition-overriding: true
    allow-circular-references: true
xp-robotaxi-remote-driving-boot/src/main/resources/i18n/messages.properties
xp-robotaxi-remote-driving-boot/src/main/resources/i18n/messages_en_US.properties
xp-robotaxi-remote-driving-boot/src/main/resources/i18n/messages_zh_CN.properties
xp-robotaxi-remote-driving-boot/src/main/resources/logback.xml
xp-robotaxi-remote-driving-boot/src/main/resources/mybatis-config.xml
xp-robotaxi-remote-driving-boot/src/main/resources/seata.conf
xp-robotaxi-remote-driving-boot/src/test/java/com/ruoyi/account/RuoYiAccountApplicationTests.java
xp-robotaxi-remote-driving-boot/xp-modules-account.iml
xp-robotaxi-vehicle-convoy-boot/pom.xml
File was renamed from xp-robotaxi-vehicleConvoy-boot/pom.xml
@@ -8,7 +8,7 @@
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <artifactId>xp-robotaxi-vehicleConvoy-boot</artifactId>
    <artifactId>xp-robotaxi-vehicle-convoy-boot</artifactId>
    <description>
        xp-modules-vehicleConvoy车辆车队模块
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/VehicleConvoyApplication.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/config/DataUpdateHandlerConfig.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/config/MessageLocalConfig.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/config/MyLocaleResolver.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/config/TransactionConfiguration.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/constant/I18nKeyConstant.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/controller/IndexController.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/controller/XpFleetController.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/controller/XpFleetOperationsController.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/controller/XpFleetVehicleController.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/controller/XpPolicyApplicationController.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/controller/XpVehicleController.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/mapper/XpFleetMapper.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/mapper/XpFleetOperationsMapper.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/mapper/XpFleetVehicleMapper.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/mapper/XpPolicyApplicationMapper.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/mapper/XpVehicleAnnualRecordMapper.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/mapper/XpVehicleMapper.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/dto/FleetAddDTO.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/dto/FleetEditDTO.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/dto/SetTemperatureDTO.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/dto/UnlockAppletDTO.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/dto/UnlockByTypeDTO.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/dto/VehicleAddDTO.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/dto/VehicleBatchSetElectronicDTO.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/dto/VehicleEditDTO.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/dto/VehicleImproveInfoDTO.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/dto/XpPolicyApplicationAuditDTO.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/exportExcel/XpOperationVehicleExportExcel.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/exportExcel/XpVehicleExportExcel.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/importExcel/XpVehicleImportExcel.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/query/FleetPageQuery.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/query/FleetUserPageQuery.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/query/FleetVehiclePageQuery.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/query/IndexDataQuery.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/query/OperationVehicleExportQuery.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/query/OperationVehiclePageQuery.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/query/VehicleExportQuery.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/query/VehicleMapQuery.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/query/VehiclePageQuery.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/query/VehicleSelectPageQuery.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/query/VehicleTaskRoutineQuery.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/query/XpPolicyApplicationQuery.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/query/XpVehicleAnnualRecordPageQuery.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/vo/FleetDetailVO.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/vo/FleetPageVO.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/vo/FleetUserVO.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/vo/FleetVehicleVO.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/vo/IndexDataVO.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/vo/XpPolicyApplicationVO.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/model/vo/XpVehicleVO.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/service/IXpFleetOperationsService.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/service/IXpFleetService.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/service/IXpFleetVehicleService.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/service/IXpPolicyApplicationService.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/service/IXpVehicleAnnualRecordService.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/service/IXpVehicleService.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/service/IndexDataService.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/service/impl/IndexDataServiceImpl.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/service/impl/XpFleetOperationsServiceImpl.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/service/impl/XpFleetServiceImpl.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/service/impl/XpFleetVehicleServiceImpl.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/service/impl/XpPolicyApplicationServiceImpl.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/service/impl/XpVehicleAnnualRecordServiceImpl.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/service/impl/XpVehicleServiceImpl.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/util/HMACSHA1.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/util/SnowFlake.java
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/util/VehicleControlUtil.java
xp-robotaxi-vehicle-convoy-boot/src/main/resources/bootstrap.yml
New file
@@ -0,0 +1,163 @@
server:
  port: 6100
  tomcat:
    basedir: /data/tomcat
# Spring
spring:
  application:
    # 应用名称
    name: xp-robotaxi-vehicle-convoy-boot
  main:
    allow-bean-definition-overriding: true
    allow-circular-references: true
  profiles:
    # 环境配置
    active: dev
#    active: prod
---
spring:
  config:
    activate:
      on-profile: dev
  cloud:
    nacos:
      discovery:
        # 服务注册地址
        server-addr: 192.168.110.80:8848
        service: ${spring.application.name}
        group: DEFAULT_GROUP
        namespace: 5185ac4b-6369-48eb-a21b-a7cbc441c5f1
        username: nacos
        password: nacos
      config:
        # 配置中心地址
        server-addr: 192.168.110.80:8848
        namespace: 5185ac4b-6369-48eb-a21b-a7cbc441c5f1
        group: DEFAULT_GROUP
        name: ${spring.application.name}
        username: nacos
        password: nacos
        # 配置文件格式
        file-extension: yml
        # 共享配置
        shared-configs:
          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
---
seata:
  enabled: true
  application-id: ${spring.application.name}
  tx-service-group: seata_tx_group    #此处配置自定义的seata事务分组名称
  enable-auto-data-source-proxy: false    #关闭数据库代理
  service:
    vgroup-mapping:
      seata_tx_group: default
  data-source-proxy-mode: AT
  config:
    type: nacos
    nacos:
      # 开发环境
      server-addr: 192.168.110.80:8848
      namespace: 5185ac4b-6369-48eb-a21b-a7cbc441c5f1
      group: DEFAULT_GROUP
      data-id: seata-server.properties
      username: nacos
      password: nacos
      # 生产环境
#      server-addr: 192.168.0.137:8848,192.168.0.123:8848
#      namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
#      group: DEFAULT_GROUP
#      data-id: seata-server.properties
#      username: nacos
#      password: nacos
  registry:
    type: nacos
    nacos:
      application: seata-server
      # 开发环境
      server-addr: 192.168.110.80:8848
      namespace: 5185ac4b-6369-48eb-a21b-a7cbc441c5f1
      group: DEFAULT_GROUP
      username: nacos
      password: nacos
      # 生产环境
#      server-addr: 192.168.0.137:8848,192.168.0.123:8848
#      namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
#      group: DEFAULT_GROUP
#      username: nacos
#      password: nacos
  cloud:
    nacos:
      discovery:
        # 开发环境
        server-addr: 192.168.110.80:8848
        namespace: 5185ac4b-6369-48eb-a21b-a7cbc441c5f1
        group: DEFAULT_GROUP
        application: seata-server #Nacos 中 Seata 名称
        username: nacos
        password: nacos
        # 生产环境
#        server-addr: 192.168.0.137:8848,192.168.0.123:8848
#        namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
#        group: DEFAULT_GROUP
#        application: seata-server #Nacos 中 Seata 名称
#        username: nacos
#        password: nacos
    sentinel:
      transport:
        dashboard: 192.168.0.137:8080  #  Sentinel控制台地址
      eager: true
---
spring:
  config:
    activate:
      on-profile: prod
  cloud:
    nacos:
      discovery:
        # 服务注册地址
        server-addr: 192.168.0.137:8848,192.168.0.123:8848
        service: ${spring.application.name}
        group: DEFAULT_GROUP
        namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
        username: nacos
        password: nacos
      config:
        # 配置中心地址
        server-addr: 192.168.0.137:8848,192.168.0.123:8848
        namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
        username: nacos
        password: nacos
        group: DEFAULT_GROUP
        name: ${spring.application.name}
        # 配置文件格式
        file-extension: yml
        # 共享配置
        shared-configs:
          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
---
spring:
  config:
    activate:
      on-profile: test
  cloud:
    nacos:
      discovery:
        # 服务注册地址
        server-addr: 127.0.0.1:8848
        service: ${spring.application.name}
        group: DEFAULT_GROUP
        namespace: 96712c7a-480b-4f40-b783-39f00f3b33ce
      config:
        # 配置中心地址
        server-addr: 127.0.0.1:8848
        namespace: 96712c7a-480b-4f40-b783-39f00f3b33ce
        group: DEFAULT_GROUP
        name: ${spring.application.name}
        # 配置文件格式
        file-extension: yml
        # 共享配置
        shared-configs:
          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
---
xp-robotaxi-vehicle-convoy-boot/src/main/resources/i18n/messages.properties
xp-robotaxi-vehicle-convoy-boot/src/main/resources/i18n/messages_en_US.properties
xp-robotaxi-vehicle-convoy-boot/src/main/resources/i18n/messages_zh_CN.properties
xp-robotaxi-vehicle-convoy-boot/src/main/resources/logback.xml
xp-robotaxi-vehicle-convoy-boot/src/main/resources/mapper/vehicleConvoy/XpFleetMapper.xml
xp-robotaxi-vehicle-convoy-boot/src/main/resources/mapper/vehicleConvoy/XpFleetOperationsMapper.xml
xp-robotaxi-vehicle-convoy-boot/src/main/resources/mapper/vehicleConvoy/XpFleetVehicleMapper.xml
xp-robotaxi-vehicle-convoy-boot/src/main/resources/mapper/vehicleConvoy/XpPolicyApplicationMapper.xml
xp-robotaxi-vehicle-convoy-boot/src/main/resources/mapper/vehicleConvoy/XpVehicleAnnualRecordMapper.xml
xp-robotaxi-vehicle-convoy-boot/src/main/resources/mapper/vehicleConvoy/XpVehicleMapper.xml
xp-robotaxi-vehicle-convoy-boot/src/main/resources/mybatis-config.xml
xp-robotaxi-vehicle-convoy-boot/src/main/resources/seata.conf
xp-robotaxi-vehicle-convoy-boot/src/test/java/com/ruoyi/account/RuoYiAccountApplicationTests.java
xp-robotaxi-vehicle-convoy-boot/xp-modules-account.iml
xp-robotaxi-vehicleConvoy-boot/src/main/resources/bootstrap.yml
File was deleted