docs: public String placeBatchLimitOrder(LimitOrder... limitOrders) throws IOException {
      if (limitOrders == null || limitOrders.length < 1) {
        throw new RuntimeException("this limitOrders not be null or length min 1");
      }
      if (limitOrders.length > 5) {
        throw new RuntimeException("this limitOrders length max 5");
      }
      List<Map<String, Object>> list = new ArrayList<>();
      Arrays.stream(limitOrders)
          .forEach(
              limitOrder -> {
                Map<String, Object> map = new HashMap<>();
                map.put("price", limitOrder.getLimitPrice().toPlainString());
                map.put("amount", limitOrder.getOriginalAmount().toPlainString());
                map.put("type", limitOrder.getType() == OrderType.BID ? "buy" : "sell");
                list.add(map);
              });
  
      ObjectMapper mapper = new ObjectMapper();
      String ordersData = mapper.writeValueAsString(list);
  
      OkCoinMoreTradeResult result =
          batchTrade(
              OkCoinAdapters.adaptSymbol(limitOrders[0].getCurrencyPair()),
              limitOrders[0].getType() == OrderType.BID ? "buy" : "sell",
              ordersData);
      StringBuilder builder = new StringBuilder();
      if (result.isStatus()) {
        result.getOrderInfo().stream()
            .forEach(
                p -> {
                  if (-1L != Long.valueOf((long) p.get("order_id"))) {
                    builder.append(",").append((String) p.get("order_id"));
                  }
                });
      }
      if (builder.length() > 1) {
        return builder.substring(1);
      } else {
        return "no one order success";
      }
    }