Pu Zhibing
2025-06-06 b1f2f102034b4433201225b67a9fc78c08e532f0
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);
                    }
                }
            }
        }
    }
}