/**
   * 保存指定状态的原始订单至数据库
   *
   * @param originalOrderList
   */
  public void saveOriginalOrders(List<OriginalOrder> originalOrderList) {

    if (CollectionUtils.isEmpty(originalOrderList)) {
      return;
    }

    for (OriginalOrder originalOrder : originalOrderList) {

      if (!(StringUtils.equalsIgnoreCase(
              originalOrder.getStatus(), OriginalOrderStatus.WAIT_SELLER_SEND_GOODS.toString())
          || StringUtils.equalsIgnoreCase(
              originalOrder.getStatus(), OriginalOrderStatus.WAIT_BUYER_CONFIRM_GOODS.toString())
          || StringUtils.equalsIgnoreCase(
              originalOrder.getStatus(), OriginalOrderStatus.TRADE_FINISHED.toString()))) {
        continue;
      }
      // 保存原始订单
      saveOriginalOrder(originalOrder);
      for (OriginalOrderItem originalOrderItem : originalOrder.getOriginalOrderItemList()) {
        // 保存原始订单项
        originalOrderItem.setOriginalOrderId(originalOrder.getId());
        saveOriginalOrderItem(originalOrderItem);
      }
      for (PromotionInfo promotionInfo : originalOrder.getPromotionInfoList()) {
        // 保存订单优惠记录
        promotionInfo.setOriginalOrderId(originalOrder.getId());
        savePromotionInfo(promotionInfo);
      }
    }
  }
 /**
  * 查询
  *
  * @param originalOrder
  * @return
  */
 @Transactional(readOnly = true)
 public List<OriginalOrder> getOriginalOrder(
     OriginalOrder originalOrder, Date startTime, Date endTime) {
   if (logger.isInfoEnabled()) {
     logger.info(
         String.format(
             "getOriginalOrder方法参数为originalOrder[{}],startTime[{}],endTime[{}]",
             originalOrder,
             startTime,
             endTime));
   }
   Search search = new Search(OriginalOrder.class);
   if (originalOrder != null) {
     if (StringUtils.isNotBlank(originalOrder.getPlatformOrderNo())) {
       search.addFilterLike(
           "platformOrderNo", "%" + originalOrder.getPlatformOrderNo().trim() + "%");
     }
     if (!NumberUtil.isNullOrZero(originalOrder.getShopId())) {
       search.addFilterEqual("shopId", originalOrder.getShopId());
     }
     if (!NumberUtil.isNullOrZero(originalOrder.getProcessed())) {
       search.addFilterEqual("processed", originalOrder.getProcessed());
     }
     if (!NumberUtil.isNullOrZero(originalOrder.getOutShopId())) {
       search.addFilterEqual("outShopId", originalOrder.getOutShopId());
     }
     if (!NumberUtil.isNullOrZero(originalOrder.getStatus())) {
       search.addFilterEqual("status", originalOrder.getStatus());
     }
     if (originalOrder.getPlatformType() != null) {
       search.addFilterEqual("platformType", originalOrder.getPlatformType());
     }
     if (startTime != null) {
       search.addFilterGreaterOrEqual("buyTime", startTime);
     }
     if (endTime != null) {
       search.addFilterLessOrEqual("buyTime", endTime);
     }
   }
   return generalDAO.search(search);
 }