//package cn.van.business.util.jdReq;
//
//import cn.van.business.repository.OrderRowRepository;
//import com.jd.open.api.sdk.response.kplunion.UnionOpenOrderRowQueryResponse;
//import org.springframework.beans.factory.annotation.Autowired;
//
//import java.time.LocalDateTime;
//
//public abstract class HistoricalOrderFetcher {
//    @Autowired
//    protected OrderRowRepository orderRowRepository;
//
//    protected int fetchOrders(OrderFetchStrategy strategy) {
//        int count = 0;
//        LocalDateTime start = strategy.getStartTime();
//        LocalDateTime end = strategy.getEndTime();
//
//        while (!start.isEqual(end)) {
//            Integer pageIndex = 1;
//            boolean hasMore;
//
//            do {
//                UnionOpenOrderRowQueryResponse response = fetchPage(strategy, start, pageIndex);
//                hasMore = processResponse(response, strategy);
//                pageIndex++;
//            } while (hasMore);
//
//            start = start.plusHours(1);
//        }
//        return count;
//    }
//
//    protected abstract UnionOpenOrderRowQueryResponse fetchPage(OrderFetchStrategy strategy,
//                                                              LocalDateTime startTime,
//                                                              Integer pageIndex);
//
//    private boolean processResponse(UnionOpenOrderRowQueryResponse response, OrderFetchStrategy strategy) {
//        // 统一响应处理逻辑...
//    }
//}
