Pu Zhibing
2025-07-30 d04bcbfa85b97e4444bac2a66bbee611d05f0f0e
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
@@ -12,9 +12,12 @@
import com.stylefeng.guns.modular.system.dao.CarServiceMapper;
import com.stylefeng.guns.modular.system.dao.RegionMapper;
import com.stylefeng.guns.modular.system.dao.SystemPriceMapper;
import com.stylefeng.guns.modular.system.dao.UserInfoMapper;
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.taxi.model.OrderTaxi;
import com.stylefeng.guns.modular.taxi.service.IOrderTaxiService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -89,6 +92,13 @@
    
    @Resource
    private CarServiceMapper carServiceMapper;
    @Resource
    private UserInfoMapper userInfoMapper;
    @Autowired
    private TDriverPromotionActivityService driverPromotionActivityService;
    
    @Resource
    private RedisTemplate<String, Object> redisTemplate;
@@ -226,6 +236,27 @@
//            orderPrivateCar.setBindId(map.get("bindId"));
//        }
        // 是否推广订单
        Integer promotion = isPromotion(uid);
        if(promotion!=null){
            orderPrivateCar.setPromotion(2);
            Driver driver1 = driverService.selectById(promotion);
            orderPrivateCar.setPromotionUser(driver1.getName());
            orderPrivateCar.setPromotionPhone(driver1.getPhone());
            orderPrivateCar.setPromotionDriverId(promotion);
        }
        orderPrivateCar.setPromotion(promotion);
        UserInfo userInfo = userInfoMapper.selectById(orderPrivateCar.getUserId());
        //调三方订单中心创建行程单
        CreateTravelItineraryRequest request = new CreateTravelItineraryRequest();
        request.setOrderNo("PR" + orderPrivateCar.getId());
        request.setCustomerId(userInfo.getOnconUUID());
        request.setDriverId(driver.getEmpId().toString());
        String travelItinerary = OrderUtil.createTravelItinerary(request);
//        orderPrivateCar.set
        this.updateById(orderPrivateCar);
        //处理摆渡车的情况
@@ -305,12 +336,23 @@
            }).start();
        }
        
        return ResultUtil.success(orderPrivateCar.getId());
    }
    private Integer isPromotion(Integer userId){
        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"));
            if(tDriverPromotionActivity!=null){
                return 2;
            }
        }
        return null;
    }
    /**
     * 获取订单详情页(服务中的页面)
     * @param orderId