From 51b190f22aa8751bd9fbe5229ab5546facdef632 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期二, 11 二月 2025 16:23:53 +0800 Subject: [PATCH] 修改订单问题和定时任务bug --- DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java | 123 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 123 insertions(+), 0 deletions(-) diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java index 3790150..3321752 100644 --- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java +++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java @@ -112,6 +112,9 @@ @Autowired private IOrderPositionService orderPositionService; + + @Autowired + private ICarService carService; @@ -1292,6 +1295,126 @@ } } } + + + /** + * 结束google订单状态 + */ + @Override + public void overGoogleOrder() { + List<OrderPrivateCar> privateCars = orderPrivateCarService.selectList(new EntityWrapper<OrderPrivateCar>().isNotNull("tripId") + .eq("isover", 0).in("state", Arrays.asList(7, 8, 9, 10)).eq("isDelete", 1)); + for (OrderPrivateCar privateCar : privateCars) { + Integer state = privateCar.getState(); + String tripId = privateCar.getTripId(); + String trip = fleetEngineUtil.getTrip(tripId); + if(ToolUtil.isNotEmpty(trip)){ + JSONObject jsonObject = JSON.parseObject(trip); + String tripStatus = jsonObject.getString("tripStatus"); + Car car = carService.selectById(privateCar.getCarId()); + if(Arrays.asList(10, 12).contains(state) && !"CANCELED".equals(tripStatus)){ + //修改行程信息 + boolean updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null); + if(!updateTrip){ + for (int i = 0; i < 5; i++) { + updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null); + if(updateTrip){ + privateCar.setIsover(1); + orderPrivateCarService.updateById(privateCar); + break; + } + try { + Thread.sleep(3000L); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + } + }else{ + privateCar.setIsover(1); + orderPrivateCarService.updateById(privateCar); + } + } + if(Arrays.asList(6, 7, 8, 9).contains(state) && !"COMPLETE".equals(tripStatus)){ + //修改行程信息 + boolean updateTrip = fleetEngineUtil.updateTrip("COMPLETE", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null); + if(!updateTrip){ + for (int i = 0; i < 5; i++) { + updateTrip = fleetEngineUtil.updateTrip("COMPLETE", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null); + if(updateTrip){ + privateCar.setIsover(1); + orderPrivateCarService.updateById(privateCar); + break; + } + try { + Thread.sleep(3000L); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + } + }else{ + privateCar.setIsover(1); + orderPrivateCarService.updateById(privateCar); + } + } + } + } + List<OrderLogistics> orderLogisticsList = orderLogisticsService.selectList(new EntityWrapper<OrderLogistics>().isNotNull("tripId") + .eq("isover", 0).in("state", Arrays.asList(7, 8, 9, 10)).eq("isDelete", 1)); + for (OrderLogistics orderLogistics : orderLogisticsList) { + Integer state = orderLogistics.getState(); + String tripId = orderLogistics.getTripId(); + String trip = fleetEngineUtil.getTrip(tripId); + if(ToolUtil.isNotEmpty(trip)){ + JSONObject jsonObject = JSON.parseObject(trip); + String tripStatus = jsonObject.getString("tripStatus"); + Car car = carService.selectById(orderLogistics.getCarId()); + if(Arrays.asList(10, 12).contains(state) && !"CANCELED".equals(tripStatus)){ + //修改行程信息 + boolean updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null); + if(!updateTrip){ + for (int i = 0; i < 5; i++) { + updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null); + if(updateTrip){ + orderLogistics.setIsover(1); + orderLogisticsService.updateById(orderLogistics); + break; + } + try { + Thread.sleep(3000L); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + } + }else{ + orderLogistics.setIsover(1); + orderLogisticsService.updateById(orderLogistics); + } + } + if(Arrays.asList(6, 7, 8, 9).contains(state) && !"COMPLETE".equals(tripStatus)){ + //修改行程信息 + boolean updateTrip = fleetEngineUtil.updateTrip("COMPLETE", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null); + if(!updateTrip){ + for (int i = 0; i < 5; i++) { + updateTrip = fleetEngineUtil.updateTrip("COMPLETE", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null); + if(updateTrip){ + orderLogistics.setIsover(1); + orderLogisticsService.updateById(orderLogistics); + break; + } + try { + Thread.sleep(3000L); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + } + }else{ + orderLogistics.setIsover(1); + orderLogisticsService.updateById(orderLogistics); + } + } + } + } + } } -- Gitblit v1.7.1