// package com.sqx.modules.order.task;
//
// import cn.hutool.core.collection.CollUtil;
// import com.sqx.modules.order.entity.TbOrder;
// import com.sqx.modules.order.service.AppOrderService;
// import lombok.RequiredArgsConstructor;
// import lombok.extern.slf4j.Slf4j;
// import org.springframework.scheduling.annotation.Async;
// import org.springframework.scheduling.annotation.Scheduled;
// import org.springframework.stereotype.Component;
//
// import java.util.List;
// import java.util.stream.Collectors;
//
// /**
//  * 订单定时任务
//  *
//  * @author : codingliang
//  * @date : 2024-08-19 20:42
//  */
// @Slf4j
// @Async
// @Component
// @RequiredArgsConstructor
// public class OrderTask {
//
//     private final AppOrderService orderService;
//
//     /**
//      * 预约订单自动接单
//      * 5分钟运行一次
//      */
//     @Scheduled(cron = "0 */5 * * * ?")
//     public void reservationAutoReceivingOrder() {
//         log.info("预约订单自动接单任务运行....");
//         List<Long> orderIds = orderService.getCurWaitReceivingOrderIds();
//         if (CollUtil.isEmpty(orderIds)) {
//             log.info("没有符合条件的预约订单，预约订单自动接单任务运行....");
//             return;
//         }
//
//         List<TbOrder> waitOrders = orderIds.stream().map(orderId -> {
//             TbOrder waitOrder = new TbOrder();
//             waitOrder.setOrderId(orderId);
//             waitOrder.setStatus(6);
//
//             return waitOrder;
//         }).collect(Collectors.toList());
//
//
//         for (TbOrder waitOrder : waitOrders) {
//             log.info("预约订单id：{}，正在自动接单", waitOrder.getOrderId());
//             try {
//                 orderService.updateOrder(waitOrder);
//             } catch (Exception e) {
//                 e.printStackTrace();
//                 log.error("预约单id:{},自动接单失败，失败原因：{}", waitOrder.getOrderId(), e.getMessage());
//             }
//         }
//     }
// }
