From 6209aee60fd4a4a0253a701659c411e4dc35063b Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期一, 11 八月 2025 19:36:39 +0800
Subject: [PATCH] 修改bug
---
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java | 105 ++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 96 insertions(+), 9 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 71e81a5..5296cf9 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;
@@ -72,6 +75,9 @@
@Autowired
private TDriverPromotionActivityService driverPromotionActivityService;
+
+ @Resource
+ private IOpenCityService openCityService;
@@ -212,9 +218,48 @@
// }
// 是否推广订单
- Integer promotion = isPromotion(uid);
- orderTaxi.setPromotion(promotion);
-
+ Integer promotion = isPromotion(orderTaxi.getUserId());
+ 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 +336,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;
@@ -365,7 +410,7 @@
orderTaxi.setStartServiceTime(date);
orderTaxi.setBoardingTime(date);
- String value = (String) redisTemplate.opsForValue().get("DRIVER" + uid);
+ String value = (String) redisTemplate.opsForValue().get("dache:DRIVER" + uid);
if (ToolUtil.isNotEmpty(value)) {
String[] split = value.split(",");
Map<String, String> geocode1 = gdMapGeocodingUtil.geocode(split[0], split[1]);
@@ -431,7 +476,9 @@
*/
@Override
public Map<String, Object> queryOrderInfo(Integer orderId) throws Exception {
- return orderTaxiMapper.queryOrderInfo(orderId);
+ OrderTaxi orderTaxi = this.selectById(orderId);
+ OpenCity openCity = openCityService.openCity1(orderTaxi.getStartLon().toString(), orderTaxi.getStartLat().toString());
+ return orderTaxiMapper.queryOrderInfo(orderId, openCity.getId());
}
@@ -479,6 +526,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 +583,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 +636,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