1 package org.oxerr.okcoin.examples.rest;
2
3 import java.io.IOException;
4 import java.util.Arrays;
5
6 import org.knowm.xchange.Exchange;
7 import org.knowm.xchange.ExchangeFactory;
8 import org.knowm.xchange.ExchangeSpecification;
9 import org.knowm.xchange.dto.account.AccountInfo;
10 import org.knowm.xchange.service.account.AccountService;
11 import org.oxerr.okcoin.rest.OKCoinException;
12 import org.oxerr.okcoin.rest.OKCoinExchange;
13 import org.oxerr.okcoin.rest.dto.AccountRecords;
14 import org.oxerr.okcoin.rest.dto.UserInfo;
15 import org.oxerr.okcoin.rest.service.OKCoinAccountServiceRaw;
16 import org.slf4j.Logger;
17 import org.slf4j.LoggerFactory;
18
19
20
21
22 public class AccountServiceDemo {
23
24 private final Logger log = LoggerFactory.getLogger(AccountServiceDemo.class);
25
26 private final AccountService accountService;
27 private final OKCoinAccountServiceRaw rawAccountService;
28
29 public AccountServiceDemo(Exchange exchange) {
30 accountService = exchange.getAccountService();
31 rawAccountService = (OKCoinAccountServiceRaw) accountService;
32 }
33
34 public void demoUserInfo() throws IOException {
35 UserInfo userInfo = rawAccountService.getUserInfo();
36 log.info("user info: {}", userInfo);
37 log.info("asset: {}", userInfo.getInfo().getFunds().getAsset());
38 log.info("free: {}", userInfo.getInfo().getFunds().getFree());
39 log.info("frozen: {}", userInfo.getInfo().getFunds().getFrozen());
40
41 AccountInfo accountInfo = accountService.getAccountInfo();
42 log.info("account info: {}", accountInfo);
43 }
44
45 public void demoGetAccountRecords() throws OKCoinException, IOException {
46 AccountRecords accountRecords = rawAccountService.getAccountRecords(
47 "btc_cny", 0, 1, 50);
48 Arrays.stream(accountRecords.getRecords()).forEach(
49 record -> log.info("{}", record));
50
51 accountRecords = rawAccountService.getAccountRecords(
52 "ltc_cny", 0, 1, 50);
53 Arrays.stream(accountRecords.getRecords()).forEach(
54 record -> log.info("{}", record));
55
56 accountRecords = rawAccountService.getAccountRecords(
57 "cny", 0, 1, 50);
58 Arrays.stream(accountRecords.getRecords()).forEach(
59 record -> log.info("{}", record));
60 }
61
62 public static void main(String[] args) throws IOException {
63 String apiKey = args[0], secretKey = args[1];
64
65 ExchangeSpecification spec = new ExchangeSpecification(OKCoinExchange.class);
66 spec.setApiKey(apiKey);
67 spec.setSecretKey(secretKey);
68
69 Exchange domesticExchange = ExchangeFactory.INSTANCE.createExchange(spec);
70 AccountServiceDemo domesticDemo = new AccountServiceDemo(domesticExchange);
71 domesticDemo.demoUserInfo();
72 domesticDemo.demoGetAccountRecords();
73 }
74
75 }