View Javadoc
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   * Demonstration of getting account balance.
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  }