From e9d0eb5d4f43c3cd5a37283151d69683b3ddd6bf Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期二, 02 九月 2025 15:05:10 +0800 Subject: [PATCH] 修改bug --- DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java | 138 +++++++++++++++++++++++++-------------------- 1 files changed, 77 insertions(+), 61 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 9620901..95c3680 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 @@ -144,23 +144,27 @@ */ @Override public ResultUtil grabOrder(Integer orderId, Integer uid) throws Exception { - OrderPrivateCar orderPrivateCar1 = orderPrivateCarService.selectById(orderId); - if(null != orderPrivateCar1 && orderPrivateCar1.getType() == 3 && orderPrivateCar1.getState() != 1&& orderPrivateCar1.getState() != 11){ - return ResultUtil.error("订单已被抢了"); - } - OrderTaxi orderTaxi = null; - if(null != orderPrivateCar1 && orderPrivateCar1.getType() == 3 && (orderPrivateCar1.getState() == 1|| orderPrivateCar1.getState() == 11)){ - orderPrivateCarService.deleteById(orderId); - OrderTaxi orderTaxi1 = setOrderTaxi(orderPrivateCar1); - this.insert(orderTaxi1); - orderTaxi = orderTaxi1; + OrderTaxi orderTaxi = this.selectById(orderId); + if(null != orderTaxi && orderTaxi.getType() == 2){ + if(orderTaxi.getState() != 1){ + return ResultUtil.error("订单已被抢了"); + } }else{ - orderTaxi = this.selectById(orderId); + OrderPrivateCar orderPrivateCar1 = orderPrivateCarService.selectById(orderId); + if(null != orderPrivateCar1 && orderPrivateCar1.getType() == 3 && orderPrivateCar1.getState() != 1&& orderPrivateCar1.getState() != 11){ + return ResultUtil.error("订单已被抢了"); + } + orderTaxi = null; + if(null != orderPrivateCar1 && orderPrivateCar1.getType() == 3 && (orderPrivateCar1.getState() == 1|| orderPrivateCar1.getState() == 11)){ + orderPrivateCarService.deleteById(orderId); + OrderTaxi orderTaxi1 = setOrderTaxi(orderPrivateCar1); + this.insert(orderTaxi1); + orderTaxi = orderTaxi1; + } } if(null == orderTaxi){ return ResultUtil.error("订单已被抢了"); } - //处理摆渡车的情况 if(orderTaxi.getType() == 2){ @@ -218,7 +222,7 @@ // } // 是否推广订单 - Integer promotion = isPromotion(orderTaxi.getUserId()); + Integer promotion = isPromotion(orderTaxi.getUserId(), driver.getPlaceOfEmployment()); if(promotion!=null){ orderTaxi.setPromotion(2); Driver driver1 = driverService.selectById(promotion); @@ -247,18 +251,20 @@ 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()); + if(ToolUtil.isNotEmpty(orderTaxi.getTravelId())){ + 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); } - request1.setSupplierShopId(company1.getEnterCode()); - OrderUtil.modifyTravelItinerary(request1); } this.updateById(orderTaxi); @@ -332,11 +338,11 @@ return ResultUtil.success(orderTaxi.getId()); } - private Integer isPromotion(Integer userId){ + private Integer isPromotion(Integer userId, String code){ 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("state",1).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", code).le("startTime", new Date()).ge("endTime", new Date()).last("AND FIND_IN_SET(" + 2 + ", bizType) limit 1")); if(tDriverPromotionActivity!=null){ return userInfo.getBindDriverId(); } @@ -375,6 +381,7 @@ orderTaxi.setOrderType(orderPrivateCar.getOrderType()); orderTaxi.setOrderSource(orderPrivateCar.getOrderSource()); orderTaxi.setIsDelete(1); + orderTaxi.setIsReassign(1); return orderTaxi; } @@ -492,6 +499,9 @@ @Override public ResultUtil process(Integer orderId, Integer state, Double lon, Double lat, String address) throws Exception { OrderTaxi orderTaxi = this.selectById(orderId); + if(10 == orderTaxi.getState()){ + return ResultUtil.error("订单已被取消,不能继续操作"); + } switch (state){ case 3://出发前往预约点 orderTaxi.setState(3); @@ -527,19 +537,21 @@ } 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()); + if(ToolUtil.isNotEmpty(orderTaxi.getTravelId())){ + 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); } - request.setSupplierShopId(company.getEnterCode()); - OrderUtil.modifyTravelItinerary(request); // TODO: 2020/6/5 推送状态 new Thread(new Runnable() { @@ -585,18 +597,20 @@ 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()); + if(ToolUtil.isNotEmpty(orderTaxi.getTravelId())){ + 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); } - request.setSupplierShopId(company.getEnterCode()); - OrderUtil.modifyTravelItinerary(request); //回滚司机状态为空闲 driver.setState(2); @@ -638,18 +652,20 @@ 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()); + if(ToolUtil.isNotEmpty(orderTaxi.getTravelId())){ + 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); } - request1.setSupplierShopId(company1.getEnterCode()); - OrderUtil.modifyTravelItinerary(request1); //回滚司机状态为空闲 driver.setState(2); -- Gitblit v1.7.1