| | |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.*; |
| | | import java.util.concurrent.LinkedBlockingQueue; |
| | | import java.util.concurrent.ThreadPoolExecutor; |
| | | import java.util.concurrent.TimeUnit; |
| | | import java.util.concurrent.*; |
| | | |
| | | |
| | | /** |
| | |
| | | |
| | | } |
| | | |
| | | ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(20); |
| | | |
| | | /** |
| | | * 订单状态更新事件 |
| | |
| | | log.info("到达目的地,不做任何处理:{}", orderId); |
| | | break; |
| | | case ORDER_WAITING_FOR_DROPOFF: |
| | | // 根据车辆id查询订单,如果未完成订单数量不唯一则下发循环订单任务 |
| | | List ret = new ArrayList(2);//TODO |
| | | if(ret.size() > 1){ |
| | | scheduler.schedule(() -> { |
| | | //下发循环订单任务 |
| | | // xpOrderClient.createLoopOrderTask(vin, orderId); |
| | | log.info("下发循环订单任务:{}", orderId); |
| | | // 修改订单状态,和推送消息的状态 |
| | | }, 3, TimeUnit.SECONDS); |
| | | |
| | | break; |
| | | } |
| | | |
| | | //等待乘客下车,开始倒计时发下巡游单 |
| | | if(!orderId.contains("XU")){ |
| | | if(orderId.contains("TEST")){ |
| | |
| | | xpOrderClient.updateOrderStatus(Long.parseLong(orderId), OrderStatusEnum.SEE_OFF_GUESTS.getCode()); |
| | | } |
| | | } |
| | | |
| | | break; |
| | | case ORDER_DROPOFF_COMPLETED: |
| | | //下车完成,不需要处理状态,由后续的乘客主动触发或者定时任务触发 |