From 5367f2172a955113068d6c97cde0b78c6c85fdf8 Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期二, 05 八月 2025 14:00:02 +0800 Subject: [PATCH] 改派 --- DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java | 94 ++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 88 insertions(+), 6 deletions(-) diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java index aa50484..d1075d1 100644 --- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java +++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java @@ -12,6 +12,9 @@ import com.stylefeng.guns.modular.system.model.*; import com.stylefeng.guns.modular.system.service.*; import com.stylefeng.guns.modular.system.util.*; +import com.stylefeng.guns.modular.system.util.qianyuntong.OrderUtil; +import com.stylefeng.guns.modular.system.util.qianyuntong.model.CreateTravelItineraryRequest; +import com.stylefeng.guns.modular.system.util.qianyuntong.model.ModifyTravelItineraryRequest; import com.stylefeng.guns.modular.taxi.dao.OrderTaxiMapper; import com.stylefeng.guns.modular.taxi.model.OrderTaxi; import com.stylefeng.guns.modular.taxi.service.IOrderTaxiService; @@ -213,8 +216,47 @@ // 是否推广订单 Integer promotion = isPromotion(orderTaxi.getUserId()); - orderTaxi.setPromotion(promotion); - + if(promotion!=null){ + orderTaxi.setPromotion(2); + Driver driver1 = driverService.selectById(promotion); + orderTaxi.setPromotionUser(driver1.getName()); + orderTaxi.setPromotionPhone(driver1.getPhone()); + orderTaxi.setPromotionDriverId(promotion); + }else{ + orderTaxi.setPromotion(1); + } + + if(null == oldDriverId){ + UserInfo userInfo = userInfoMapper.selectById(orderTaxi.getUserId()); + Company company = companyService.selectById(driver.getCompanyId()); + //调三方订单中心创建行程单 + CreateTravelItineraryRequest request = new CreateTravelItineraryRequest(); + request.setOrderNo("TA" + orderTaxi.getId()); + request.setCustomerId(userInfo.getOnconUUID()); + request.setDriverId(driver.getEmpId().toString()); + request.setSupplierShopId(company.getEnterCode()); + if(2 == orderTaxi.getPromotion()){ + Driver driver1 = driverService.selectById(orderTaxi.getPromotionDriverId()); + request.setPromoterId(driver1.getEmpId().toString()); + } + request.setServiceType(1); + String travelItinerary = OrderUtil.createTravelItinerary(request); + orderTaxi.setTravelId(travelItinerary); + }else{ + //改派抢单 + Company company1 = companyService.selectById(driver.getCompanyId()); + //中台修改订单状态 + ModifyTravelItineraryRequest request1 = new ModifyTravelItineraryRequest(); + request1.setOrderId(orderTaxi.getTravelId()); + request1.setStatus(orderTaxi.getState()); + request1.setDriverId(driver.getEmpId().toString()); + if(2 == orderTaxi.getPromotion()){ + Driver driver1 = driverService.selectById(orderTaxi.getPromotionDriverId()); + request1.setPromoterId(driver1.getEmpId().toString()); + } + request1.setSupplierShopId(company1.getEnterCode()); + OrderUtil.modifyTravelItinerary(request1); + } this.updateById(orderTaxi); if(orderTaxi.getType() == 2){ @@ -291,9 +333,9 @@ UserInfo userInfo = userInfoMapper.selectById(userId); if(userInfo.getBindDriverId()!=null && userInfo.getBindExpireDate().getTime()<=System.currentTimeMillis()){ String registAreaCode = userInfo.getRegistAreaCode(); - TDriverPromotionActivity tDriverPromotionActivity = driverPromotionActivityService.selectOne(new EntityWrapper<TDriverPromotionActivity>().eq("districtCode", registAreaCode).ge("startTime", new Date()).lt("endTime", new Date()).last("AND FIND_IN_SET(" + 1 + ", bizType) limit 1")); + TDriverPromotionActivity tDriverPromotionActivity = driverPromotionActivityService.selectOne(new EntityWrapper<TDriverPromotionActivity>().eq("state",1).eq("districtCode", registAreaCode).ge("startTime", new Date()).lt("endTime", new Date()).last("AND FIND_IN_SET(" + 1 + ", bizType) limit 1")); if(tDriverPromotionActivity!=null){ - return 2; + return userInfo.getBindDriverId(); } } return null; @@ -479,6 +521,20 @@ break; } this.updateById(orderTaxi); + + Driver driver = driverService.selectById(orderTaxi.getDriverId()); + Company company = companyService.selectById(driver.getCompanyId()); + //中台修改订单状态 + ModifyTravelItineraryRequest request = new ModifyTravelItineraryRequest(); + request.setOrderId(orderTaxi.getTravelId()); + request.setStatus(orderTaxi.getState()); + request.setDriverId(driver.getEmpId().toString()); + if(2 == orderTaxi.getPromotion()){ + Driver driver1 = driverService.selectById(orderTaxi.getPromotionDriverId()); + request.setPromoterId(driver1.getEmpId().toString()); + } + request.setSupplierShopId(company.getEnterCode()); + OrderUtil.modifyTravelItinerary(request); // TODO: 2020/6/5 推送状态 new Thread(new Runnable() { @@ -522,9 +578,22 @@ orderTaxi.setState(7); } this.updateById(orderTaxi); + + Driver driver = driverService.selectById(orderTaxi.getDriverId()); + Company company = companyService.selectById(driver.getCompanyId()); + //中台修改订单状态 + ModifyTravelItineraryRequest request = new ModifyTravelItineraryRequest(); + request.setOrderId(orderTaxi.getTravelId()); + request.setStatus(orderTaxi.getState()); + request.setDriverId(driver.getEmpId().toString()); + if(2 == orderTaxi.getPromotion()){ + Driver driver1 = driverService.selectById(orderTaxi.getPromotionDriverId()); + request.setPromoterId(driver1.getEmpId().toString()); + } + request.setSupplierShopId(company.getEnterCode()); + OrderUtil.modifyTravelItinerary(request); //回滚司机状态为空闲 - Driver driver = driverService.selectById(orderTaxi.getDriverId()); driver.setState(2); driverService.updateById(driver); @@ -562,9 +631,22 @@ orderTaxi.setState(7); } this.updateById(orderTaxi); + + Driver driver = driverService.selectById(orderTaxi.getDriverId()); + Company company1 = companyService.selectById(driver.getCompanyId()); + //中台修改订单状态 + ModifyTravelItineraryRequest request1 = new ModifyTravelItineraryRequest(); + request1.setOrderId(orderTaxi.getTravelId()); + request1.setStatus(orderTaxi.getState()); + request1.setDriverId(driver.getEmpId().toString()); + if(2 == orderTaxi.getPromotion()){ + Driver driver1 = driverService.selectById(orderTaxi.getPromotionDriverId()); + request1.setPromoterId(driver1.getEmpId().toString()); + } + request1.setSupplierShopId(company1.getEnterCode()); + OrderUtil.modifyTravelItinerary(request1); //回滚司机状态为空闲 - Driver driver = driverService.selectById(orderTaxi.getDriverId()); driver.setState(2); driverService.updateById(driver); -- Gitblit v1.7.1