From b1f2f102034b4433201225b67a9fc78c08e532f0 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期五, 06 六月 2025 18:35:03 +0800 Subject: [PATCH] 修改bug和管理后台报表 --- DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java | 264 +++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 199 insertions(+), 65 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..9d8d1a9 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; @@ -757,10 +760,11 @@ */ @Override public Integer queryOrderNum(Integer driverId, Date start, Date end) throws Exception { - //出租车 int i = orderPrivateCarService.selectCount(new EntityWrapper<OrderPrivateCar>().eq("driverId", driverId) .between("insertTime", start, end).in("state", Arrays.asList(6, 7, 8, 9))); - return i; + int i1 = orderLogisticsService.selectCount(new EntityWrapper<OrderLogistics>().eq("driverId", driverId) + .between("insertTime", start, end).in("state", Arrays.asList(6, 7, 8, 9))); + return i + i1; } @@ -795,31 +799,31 @@ */ @Override public void taskMidAxbUnBindSend() throws Exception { - List<OrderTaxi> list = orderTaxiService.taskMidAxbUnBindSend(); - for(OrderTaxi orderTaxi : list){ - Map<String, String> map = chinaMobileUtil.midAxbUnBindSend(orderTaxi.getBindId(),orderTaxi.getTelX()); - if(!String.valueOf(map.get("code")).equals("200")){ - System.err.println(String.valueOf(map.get("msg"))); - } - orderTaxi.setTelX(""); - orderTaxi.setBindId(""); - } - if(list.size() > 0){ - orderTaxiService.updateBatchById(list); - } - - List<OrderPrivateCar> list1 = orderPrivateCarService.taskMidAxbUnBindSend(); - for(OrderPrivateCar orderPrivateCar : list1){ - Map<String, String> map = chinaMobileUtil.midAxbUnBindSend(orderPrivateCar.getBindId(),orderPrivateCar.getTelX()); - if(!String.valueOf(map.get("code")).equals("200")){ - System.err.println(String.valueOf(map.get("msg"))); - } - orderPrivateCar.setTelX(""); - orderPrivateCar.setBindId(""); - } - if(list1.size() > 0){ - orderPrivateCarService.updateBatchById(list1); - } +// List<OrderTaxi> list = orderTaxiService.taskMidAxbUnBindSend(); +// for(OrderTaxi orderTaxi : list){ +// Map<String, String> map = chinaMobileUtil.midAxbUnBindSend(orderTaxi.getBindId(),orderTaxi.getTelX()); +// if(!String.valueOf(map.get("code")).equals("200")){ +// System.err.println(String.valueOf(map.get("msg"))); +// } +// orderTaxi.setTelX(""); +// orderTaxi.setBindId(""); +// } +// if(list.size() > 0){ +// orderTaxiService.updateBatchById(list); +// } +// +// List<OrderPrivateCar> list1 = orderPrivateCarService.taskMidAxbUnBindSend(); +// for(OrderPrivateCar orderPrivateCar : list1){ +// Map<String, String> map = chinaMobileUtil.midAxbUnBindSend(orderPrivateCar.getBindId(),orderPrivateCar.getTelX()); +// if(!String.valueOf(map.get("code")).equals("200")){ +// System.err.println(String.valueOf(map.get("msg"))); +// } +// orderPrivateCar.setTelX(""); +// orderPrivateCar.setBindId(""); +// } +// if(list1.size() > 0){ +// orderPrivateCarService.updateBatchById(list1); +// } } @@ -835,57 +839,57 @@ case 1: OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId); if(ToolUtil.isNotEmpty(orderPrivateCar.getBindId())){ - Map<String, String> map1 = chinaMobileUtil.midAxbUnBindSend(orderPrivateCar.getBindId(),orderPrivateCar.getTelX()); - if(!String.valueOf(map1.get("code")).equals("200")){ - System.err.println(String.valueOf(map1.get("msg"))); - } +// Map<String, String> map1 = chinaMobileUtil.midAxbUnBindSend(orderPrivateCar.getBindId(),orderPrivateCar.getTelX()); +// if(!String.valueOf(map1.get("code")).equals("200")){ +// System.err.println(String.valueOf(map1.get("msg"))); +// } //调用移动的小号接口 - Map<String, String> geocode = gdMapGeocodingUtil.geocode(orderPrivateCar.getStartLon().toString(), orderPrivateCar.getStartLat().toString()); - Region region = regionMapper.query(geocode.get("districtCode")); - Driver driver = driverService.selectById(orderPrivateCar.getDriverId()); - Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderPrivateCar.getPassengersPhone(), driver.getPhone(), Integer.valueOf(region.getCitycode().substring(1))); - if(String.valueOf(map.get("code")).equals("200")){ - orderPrivateCar.setTelX(map.get("telX")); - orderPrivateCar.setBindId(map.get("bindId")); - } +// Map<String, String> geocode = gdMapGeocodingUtil.geocode(orderPrivateCar.getStartLon().toString(), orderPrivateCar.getStartLat().toString()); +// Region region = regionMapper.query(geocode.get("districtCode")); +// Driver driver = driverService.selectById(orderPrivateCar.getDriverId()); +// Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderPrivateCar.getPassengersPhone(), driver.getPhone(), Integer.valueOf(region.getCitycode().substring(1))); +// if(String.valueOf(map.get("code")).equals("200")){ +// orderPrivateCar.setTelX(map.get("telX")); +// orderPrivateCar.setBindId(map.get("bindId")); +// } orderPrivateCarService.updateById(orderPrivateCar); } break; case 2: OrderTaxi orderTaxi = orderTaxiService.selectById(orderId); if(ToolUtil.isNotEmpty(orderTaxi.getBindId())){ - Map<String, String> map1 = chinaMobileUtil.midAxbUnBindSend(orderTaxi.getBindId(),orderTaxi.getTelX()); - if(!String.valueOf(map1.get("code")).equals("200")){ - System.err.println(String.valueOf(map1.get("msg"))); - } +// Map<String, String> map1 = chinaMobileUtil.midAxbUnBindSend(orderTaxi.getBindId(),orderTaxi.getTelX()); +// if(!String.valueOf(map1.get("code")).equals("200")){ +// System.err.println(String.valueOf(map1.get("msg"))); +// } //调用移动的小号接口 - Map<String, String> geocode = gdMapGeocodingUtil.geocode(orderTaxi.getStartLon().toString(), orderTaxi.getStartLat().toString()); - Region region = regionMapper.query(geocode.get("districtCode")); - Driver driver = driverService.selectById(orderTaxi.getDriverId()); - Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderTaxi.getPassengersPhone(), driver.getPhone(), Integer.valueOf(region.getCitycode().substring(1))); - if(String.valueOf(map.get("code")).equals("200")){ - orderTaxi.setTelX(map.get("telX")); - orderTaxi.setBindId(map.get("bindId")); - } +// Map<String, String> geocode = gdMapGeocodingUtil.geocode(orderTaxi.getStartLon().toString(), orderTaxi.getStartLat().toString()); +// Region region = regionMapper.query(geocode.get("districtCode")); +// Driver driver = driverService.selectById(orderTaxi.getDriverId()); +// Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderTaxi.getPassengersPhone(), driver.getPhone(), Integer.valueOf(region.getCitycode().substring(1))); +// if(String.valueOf(map.get("code")).equals("200")){ +// orderTaxi.setTelX(map.get("telX")); +// orderTaxi.setBindId(map.get("bindId")); +// } orderTaxiService.updateById(orderTaxi); } break; case 3: OrderCrossCity orderCrossCity = orderCrossCityService.selectById(orderId); if(ToolUtil.isNotEmpty(orderCrossCity.getBindId())){ - Map<String, String> map1 = chinaMobileUtil.midAxbUnBindSend(orderCrossCity.getBindId(),orderCrossCity.getTelX()); - if(!String.valueOf(map1.get("code")).equals("200")){ - System.err.println(String.valueOf(map1.get("msg"))); - } +// Map<String, String> map1 = chinaMobileUtil.midAxbUnBindSend(orderCrossCity.getBindId(),orderCrossCity.getTelX()); +// if(!String.valueOf(map1.get("code")).equals("200")){ +// System.err.println(String.valueOf(map1.get("msg"))); +// } //调用移动的小号接口 - Map<String, String> geocode = gdMapGeocodingUtil.geocode(orderCrossCity.getStartLon().toString(), orderCrossCity.getStartLat().toString()); - Region region = regionMapper.query(geocode.get("districtCode")); - Driver driver = driverService.selectById(orderCrossCity.getDriverId()); - Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderCrossCity.getPassengersPhone(), driver.getPhone(), Integer.valueOf(region.getCitycode().substring(1))); - if(String.valueOf(map.get("code")).equals("200")){ - orderCrossCity.setTelX(map.get("telX")); - orderCrossCity.setBindId(map.get("bindId")); - } +// Map<String, String> geocode = gdMapGeocodingUtil.geocode(orderCrossCity.getStartLon().toString(), orderCrossCity.getStartLat().toString()); +// Region region = regionMapper.query(geocode.get("districtCode")); +// Driver driver = driverService.selectById(orderCrossCity.getDriverId()); +// Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderCrossCity.getPassengersPhone(), driver.getPhone(), Integer.valueOf(region.getCitycode().substring(1))); +// if(String.valueOf(map.get("code")).equals("200")){ +// orderCrossCity.setTelX(map.get("telX")); +// orderCrossCity.setBindId(map.get("bindId")); +// } orderCrossCityService.updateById(orderCrossCity); } break; @@ -1046,8 +1050,8 @@ new Thread(new Runnable() { @Override public void run() { - pushUtil.pushOrderState(1, finalUserId, orderId, orderType, finalState, 0, ""); - pushUtil.pushOrderState(2, finalDriverId, orderId, orderType, finalState, 0, ""); + pushUtil.pushOrderState(1, finalUserId, orderId, orderType, finalState, 0, "", "driver"); + pushUtil.pushOrderState(2, finalDriverId, orderId, orderType, finalState, 0, "", "driver"); } }).start(); return ResultUtil.success(); @@ -1292,6 +1296,136 @@ } } } + + + /** + * 结束google订单状态 + */ + @Override + public void overGoogleOrder() { + List<OrderPrivateCar> privateCars = orderPrivateCarService.selectList(new EntityWrapper<OrderPrivateCar>().isNotNull("tripId") + .eq("isover", 0).in("state", Arrays.asList(6, 7, 8, 9, 10, 12)).eq("isDelete", 1)); + for (OrderPrivateCar privateCar : privateCars) { + Integer state = privateCar.getState(); + String tripId = privateCar.getTripId(); + String trip = fleetEngineUtil.getTrip(tripId); + if(null != trip && "" == trip){ + privateCar.setIsover(1); + orderPrivateCarService.updateById(privateCar); + continue; + } + 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, privateCar.getId(), 1); + if(!updateTrip){ + for (int i = 0; i < 5; i++) { + updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null, privateCar.getId(), 1); + if(updateTrip){ + privateCar.setIsover(1); + orderPrivateCarService.updateById(privateCar); + break; + } + try { + Thread.sleep(3000L); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + }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, privateCar.getId(), 1); + if(!updateTrip){ + for (int i = 0; i < 5; i++) { + updateTrip = fleetEngineUtil.updateTrip("COMPLETE", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null, privateCar.getId(), 1); + if(updateTrip){ + privateCar.setIsover(1); + orderPrivateCarService.updateById(privateCar); + break; + } + try { + Thread.sleep(3000L); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + }else{ + privateCar.setIsover(1); + orderPrivateCarService.updateById(privateCar); + } + } + } + } + List<OrderLogistics> orderLogisticsList = orderLogisticsService.selectList(new EntityWrapper<OrderLogistics>().isNotNull("tripId") + .eq("isover", 0).in("state", Arrays.asList(6, 7, 8, 9, 10, 12)).eq("isDelete", 1)); + for (OrderLogistics orderLogistics : orderLogisticsList) { + Integer state = orderLogistics.getState(); + String tripId = orderLogistics.getTripId(); + String trip = fleetEngineUtil.getTrip(tripId); + if(null != trip && "" == trip){ + orderLogistics.setIsover(1); + orderLogisticsService.updateById(orderLogistics); + continue; + } + 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, orderLogistics.getId(), 4); + if(!updateTrip){ + for (int i = 0; i < 5; i++) { + updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null, orderLogistics.getId(), 4); + if(updateTrip){ + orderLogistics.setIsover(1); + orderLogisticsService.updateById(orderLogistics); + break; + } + try { + Thread.sleep(3000L); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + }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, orderLogistics.getId(), 4); + if(!updateTrip){ + for (int i = 0; i < 5; i++) { + updateTrip = fleetEngineUtil.updateTrip("COMPLETE", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null, orderLogistics.getId(), 4); + if(updateTrip){ + orderLogistics.setIsover(1); + orderLogisticsService.updateById(orderLogistics); + break; + } + try { + Thread.sleep(3000L); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + }else{ + orderLogistics.setIsover(1); + orderLogisticsService.updateById(orderLogistics); + } + } + } + } + } } -- Gitblit v1.7.1