| | |
| | | import com.xiaopeng.api.model.operation.XpElectronicFence; |
| | | import com.xiaopeng.api.model.operation.XpTradingStrategy; |
| | | import com.xiaopeng.api.model.order.XpOrder; |
| | | import com.xiaopeng.api.model.vehicleConvoy.XpVehicle; |
| | | import com.xiaopeng.api.vo.automaticPilot.VehiclePosition; |
| | | import com.xiaopeng.api.vo.operation.RouteVo; |
| | | import com.xiaopeng.api.vo.vehicleConvoy.AddTaxiPassengerVo; |
| | |
| | | lock.lock(10, TimeUnit.SECONDS); |
| | | try { |
| | | // VehiclePosition vehiclePosition = vehiclePositionService.findByVehicleId(vehiclePositionVo.getVehicle_id()); |
| | | R<VehiclePosition> vehiclePositionR = xpVehicleClient.findByVehicleVin(vehiclePositionVo.getVin()); |
| | | R<XpVehicle> vehiclePositionR = xpVehicleClient.findByVehicleVin(vehiclePositionVo.getVin()); |
| | | if (vehiclePositionR.getCode() != 200) { |
| | | continue; |
| | | } |
| | | VehiclePosition vehiclePosition = vehiclePositionR.getData(); |
| | | XpVehicle vehiclePosition = vehiclePositionR.getData(); |
| | | if (vehiclePosition.getStatus() != 1 || vehiclePosition.getState() != 0) { |
| | | lock.unlock(); |
| | | continue; |
| | | } |
| | | // 关闭巡游单子 TODO |
| | | |
| | | |
| | | AddTaxiPassengerVo addTaxiPassengerVo = new AddTaxiPassengerVo(); |
| | | addTaxiPassengerVo.setVin(vehiclePosition.getVin()); |
| | | addTaxiPassengerVo.setVin(vehiclePosition.getVehicleVin()); |
| | | addTaxiPassengerVo.setUid(uid); |
| | | addTaxiPassengerVo.setOrderNo(orderNo); |
| | | // TODO appid |
| | |
| | | } else { |
| | | // 直接派单 定义一个锁来锁定车辆 |
| | | VehiclePosition vehiclePosition = positionList.get(0); |
| | | Long vehicleId = vehiclePosition.getVehicle_id(); |
| | | String vehicleVin = vehiclePosition.getVin(); |
| | | |
| | | RLock lock = redissonClient.getLock("FIND_CAR_" + vehiclePosition.getVin()); |
| | | lock.lock(10, TimeUnit.SECONDS); |
| | | try { |
| | | // 查询车辆状态 |
| | | VehiclePosition vehicleId1 = vehiclePositionService.findByVehicleId(vehicleId); |
| | | R<XpVehicle> vehicleR = xpVehicleClient.findByVehicleVin(vehicleVin); |
| | | if(vehicleR.getCode()!=200){ |
| | | continue; |
| | | } |
| | | XpVehicle vehicleId1 = vehicleR.getData(); |
| | | if (vehicleId1.getStatus() != 1 || vehicleId1.getState() != 0) { |
| | | lock.unlock(); |
| | | continue; |