puzhibing
2026-03-08 b89169e3a9fe51ac578c2c181f9269d32dc1f858
UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
@@ -3100,13 +3100,24 @@
         return ResultUtil.error("其他费用不能为负数");
      }
      /**
       * 先判断司机座位数是否符合出行人数
       */
      LineShiftDriver lineShiftDriver = lineShiftDriverMapper.selectById(warpper.getLineShiftDriverId());
      if (lineShiftDriver.getLaveSeat() < warpper.getPeopleNumber()) {
         return ResultUtil.error("司机剩余座位数小于出行人数");
      }
        /**
         * 先判断司机座位数是否符合出行人数
         */
        LineShiftDriver lineShiftDriver = lineShiftDriverMapper.selectById(warpper.getLineShiftDriverId());
        if (warpper.getTravelMode() == 1) {//拼车判断座位数
            if (lineShiftDriver.getLaveSeat() < warpper.getPeopleNumber()) {
                return ResultUtil.error("司机剩余座位数小于出行人数");
            }
        } else {
            if (lineShiftDriver.getLaveSeat() != lineShiftDriver.getTotalSeat()) {
                return ResultUtil.error("司机车辆上已经有人占座了,不能下包车订单");
            }
            if (lineShiftDriver.getLaveSeat() == 0) {
                return ResultUtil.error("司机车辆没有剩余空位了");
            }
        }
      Driver driver = driverService.selectById(lineShiftDriver.getDriverId());
      if (driver == null) {
         return ResultUtil.error("司机信息不存在");
@@ -3211,6 +3222,7 @@
      orderCrossCity.setLineId(lineSite.getLineId());
      orderCrossCity.setCarId(driver.getCarId());
      orderCrossCity.setOrderNum(this.getOrderNum(driver.getId(), warpper.getLineShiftDriverId()));
        orderCrossCity.setTravelMode(warpper.getTravelMode());
      // 下单地点
      orderCrossCity.setPlacementLat(warpper.getPlacementLat());
@@ -3257,7 +3269,6 @@
      orderCrossCity.setTravelTime(calendar.getTime());
      orderCrossCity.setSnatchOrderTime(new Date());
      orderCrossCity.setTravelMode(1); // 固定拼车
      orderCrossCity.setIsDelete(1);
      orderCrossCity.setIsReassign(1);
      orderCrossCity.setLineShiftDriverId(warpper.getLineShiftDriverId());
@@ -3275,7 +3286,6 @@
      }else{
         orderCrossCity.setPromotion(1);
      }
      this.insert(orderCrossCity);
      // 13. 更新司机状态