· 9 years ago · Nov 10, 2016, 01:40 PM
1 private static final DateTimeFormatter FMT = DateTimeFormat.forPattern("YYYY-MM-dd HH:mm:ss.SSS");
2 private static URI createURI(long userId, String phone, int goldAmount) throws Exception {
3 List<NameValuePair> qparams = new ArrayList<NameValuePair>();
4 qparams.add(new BasicNameValuePair("command", "invoice"));
5 qparams.add(new BasicNameValuePair("project", "111111")); //TODO
6 qparams.add(new BasicNameValuePair("v1", userId + ""));
7 qparams.add(new BasicNameValuePair("v2", "s6"));
8 qparams.add(new BasicNameValuePair("phone", phone));
9 qparams.add(new BasicNameValuePair("out", goldAmount + ""));
10 String md5 = "";
11 for (NameValuePair p : qparams) {
12 md5 += p.getValue();
13 }
14 md5 += "secretkey"; //TODO
15 md5 = DigestUtils.md5DigestAsHex(md5.getBytes(Charsets.UTF_8));
16 qparams.add(new BasicNameValuePair("md5", md5));
17 return URIUtils.createURI(null, secureXsollaUrl + "/api/mobile/payment", -1, null, URLEncodedUtils.format(qparams, "UTF-8"), null);
18 //XXX
19 }
20
21 private static String secureXsollaUrl = "https://secure.xsolla.com";
22
23 private static HttpClient createHttpClient() {
24 PoolingClientConnectionManager cm = new PoolingClientConnectionManager();
25 cm.setMaxTotal(8);
26 final HttpParams params = new BasicHttpParams();
27 HttpConnectionParams.setConnectionTimeout(params, (int)TimeConstants.SECOND_MILLIS * 15);
28 HttpConnectionParams.setSoTimeout(params, (int)TimeConstants.SECOND_MILLIS * 15);
29 HttpConnectionParams.setTcpNoDelay(params, true);
30 return new DefaultHttpClient(cm, params);
31 }
32
33 private static XsollaMobilePaymentResult doDirectMobilePayment0(Long userId, String phone, int goldAmount) {
34 HttpGet httpGet = new HttpGet();
35 long start = System.currentTimeMillis();
36 try {
37 URI uri = createURI(userId, phone, goldAmount);
38 System.out.println("doDirectMobilePayment0: user=" + userId + ", phone=" + phone + ", url [" + uri + "]");
39 httpGet.setURI(uri);
40 HttpResponse rsp = createHttpClient().execute(httpGet);
41 String answer = EntityUtils.toString(rsp.getEntity(), Charsets.UTF_8.name());
42 InputStream stream = new ByteArrayInputStream(answer.getBytes(Charsets.UTF_8));
43 Document d = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(stream);
44 Node rootNode = d.getChildNodes().item(0);
45 String resultCode = "-1";
46 String comment = null;
47 for (int i=0; i<rootNode.getChildNodes().getLength(); i++) {
48 Node node = rootNode.getChildNodes().item(i);
49 String name = node.getNodeName();
50 String value = getNodeValue(node);
51 if ("result".equalsIgnoreCase(name)) {
52 resultCode = value;
53 } else if ("comment".equalsIgnoreCase(name)) {
54 comment = value;
55 }
56 }
57 if ("0".equals(resultCode)) {
58 return XsollaMobilePaymentResult.ok(userId, phone);
59 } else {
60 return XsollaMobilePaymentResult.failed(userId, phone, resultCode, "result [" + resultCode + "], comment [" + comment + "]");
61 }
62 } catch (Exception e) {
63 System.out.println("Error occured at doDirectMobilePayment"); //, e);
64 e.printStackTrace(new PrintStream(System.out));
65 return XsollaMobilePaymentResult.failed(userId, phone, "-1", "error");
66 } finally {
67 httpGet.reset();
68 System.out.println("doDirectMobilePayment done in " + (System.currentTimeMillis() - start) + "mls");
69 }
70 }
71
72 private static String getNodeValue(Node node) {
73 if(node == null) {
74 return "";
75 }
76 Node firstChild = node.getFirstChild();
77 if (firstChild == null) {
78 return "";
79 } else {
80 if (firstChild.getNodeValue() == null) {
81 return "";
82 } else {
83 return firstChild.getNodeValue().trim();
84 }
85 }
86 }
87
88 public static void main(String[] args) throws Exception {
89 doDirectMobilePayment0(1L, "9529008657", 100);
90// System.out.println(TimeConstants.DAY_MILLIS);
91// System.out.println(new TimeInterval(2099404L).toString());
92// System.out.println(new TimeInterval(10292453L).toString());
93// System.out.println(new TimeInterval(23869699L).toString());
94// System.out.println(23869699L / TimeConstants.HOUR_MILLIS);
95
96// String json = "{\"params\":{\"a\":{\"clanId\":18335,\"power\":608,\"members\":[{\"uid\":21770940,\"power\":52},{\"uid\":15845999,\"power\":348},{\"uid\":2684492,\"power\":608},{\"uid\":10430040,\"power\":105},{\"uid\":20819014,\"power\":60},{\"uid\":20874309,\"power\":48},{\"uid\":14049987,\"power\":1378},{\"uid\":14786073,\"power\":1596},{\"uid\":22722440,\"power\":19},{\"uid\":17126787,\"power\":58},{\"uid\":451670,\"power\":204},{\"uid\":22188145,\"power\":102},{\"uid\":16919700,\"power\":212},{\"uid\":22681176,\"power\":48},{\"uid\":15312292,\"power\":693},{\"uid\":3888909,\"power\":1092},{\"uid\":18416632,\"power\":192},{\"uid\":22722383,\"power\":20}]},\"b\":{\"clanId\":7654,\"power\":576,\"members\":[{\"uid\":19889953,\"power\":188},{\"uid\":20845009,\"power\":576},{\"uid\":22176210,\"power\":240},{\"uid\":13821955,\"power\":180},{\"uid\":22237595,\"power\":230},{\"uid\":22233091,\"power\":160},{\"uid\":22268431,\"power\":46},{\"uid\":10023085,\"power\":918},{\"uid\":9859275,\"power\":1308},{\"uid\":9794440,\"power\":1443},{\"uid\":5739237,\"power\":1196}]},\"startAt\":1474180201000},\"winnerClan\":7654,\"boiResults\":[{\"id\":{\"number\":1,\"params\":{\"a\":{\"clanId\":18335,\"power\":608,\"members\":[{\"uid\":21770940,\"power\":52},{\"uid\":15845999,\"power\":348},{\"uid\":2684492,\"power\":608},{\"uid\":10430040,\"power\":105},{\"uid\":20819014,\"power\":60},{\"uid\":20874309,\"power\":48},{\"uid\":14049987,\"power\":1378},{\"uid\":14786073,\"power\":1596},{\"uid\":22722440,\"power\":19},{\"uid\":17126787,\"power\":58},{\"uid\":451670,\"power\":204},{\"uid\":22188145,\"power\":102},{\"uid\":16919700,\"power\":212},{\"uid\":22681176,\"power\":48},{\"uid\":15312292,\"power\":693},{\"uid\":3888909,\"power\":1092},{\"uid\":18416632,\"power\":192},{\"uid\":22722383,\"power\":20}]},\"b\":{\"clanId\":7654,\"power\":576,\"members\":[{\"uid\":19889953,\"power\":188},{\"uid\":20845009,\"power\":576},{\"uid\":22176210,\"power\":240},{\"uid\":13821955,\"power\":180},{\"uid\":22237595,\"power\":230},{\"uid\":22233091,\"power\":160},{\"uid\":22268431,\"power\":46},{\"uid\":10023085,\"power\":918},{\"uid\":9859275,\"power\":1308},{\"uid\":9794440,\"power\":1443},{\"uid\":5739237,\"power\":1196}]},\"startAt\":1474180201000}},\"winnerClan\":7654,\"totalDamage\":{\"7654\":1505,\"18335\":0},\"players\":[{\"uid\":20845009,\"clanId\":7654,\"nbKills\":2,\"damage\":1505},{\"uid\":21770940,\"clanId\":18335,\"nbKills\":0,\"damage\":0},{\"uid\":19889953,\"clanId\":7654,\"nbKills\":0,\"damage\":0},{\"uid\":22176210,\"clanId\":7654,\"nbKills\":0,\"damage\":0},{\"uid\":10430040,\"clanId\":18335,\"nbKills\":0,\"damage\":0},{\"uid\":20819014,\"clanId\":18335,\"nbKills\":0,\"damage\":0},{\"uid\":10023085,\"clanId\":7654,\"nbKills\":0,\"damage\":0},{\"uid\":9859275,\"clanId\":7654,\"nbKills\":0,\"damage\":0},{\"uid\":14049987,\"clanId\":18335,\"nbKills\":0,\"damage\":0},{\"uid\":9794440,\"clanId\":7654,\"nbKills\":0,\"damage\":0},{\"uid\":5739237,\"clanId\":7654,\"nbKills\":0,\"damage\":0},{\"uid\":17126787,\"clanId\":18335,\"nbKills\":0,\"damage\":0},{\"uid\":22722440,\"clanId\":18335,\"nbKills\":0,\"damage\":0},{\"uid\":22188145,\"clanId\":18335,\"nbKills\":0,\"damage\":0},{\"uid\":16919700,\"clanId\":18335,\"nbKills\":0,\"damage\":0},{\"uid\":15312292,\"clanId\":18335,\"nbKills\":0,\"damage\":0},{\"uid\":22681176,\"clanId\":18335,\"nbKills\":0,\"damage\":0},{\"uid\":3888909,\"clanId\":18335,\"nbKills\":0,\"damage\":0},{\"uid\":22233091,\"clanId\":7654,\"nbKills\":0,\"damage\":0},{\"uid\":22722383,\"clanId\":18335,\"nbKills\":0,\"damage\":0},{\"uid\":15845999,\"clanId\":18335,\"nbKills\":0,\"damage\":0},{\"uid\":2684492,\"clanId\":18335,\"nbKills\":0,\"damage\":0},{\"uid\":22268431,\"clanId\":7654,\"nbKills\":0,\"damage\":0},{\"uid\":20874309,\"clanId\":18335,\"nbKills\":0,\"damage\":0},{\"uid\":14786073,\"clanId\":18335,\"nbKills\":0,\"damage\":0},{\"uid\":451670,\"clanId\":18335,\"nbKills\":0,\"damage\":0},{\"uid\":13821955,\"clanId\":7654,\"nbKills\":0,\"damage\":0},{\"uid\":22237595,\"clanId\":7654,\"nbKills\":0,\"damage\":0},{\"uid\":18416632,\"clanId\":18335,\"nbKills\":0,\"damage\":0}]},{\"id\":{\"number\":2,\"params\":{\"a\":{\"clanId\":18335,\"power\":608,\"members\":[{\"uid\":21770940,\"power\":52},{\"uid\":15845999,\"power\":348},{\"uid\":2684492,\"power\":608},{\"uid\":10430040,\"power\":105},{\"uid\":20819014,\"power\":60},{\"uid\":20874309,\"power\":48},{\"uid\":14049987,\"power\":1378},{\"uid\":14786073,\"power\":1596},{\"uid\":22722440,\"power\":19},{\"uid\":17126787,\"power\":58},{\"uid\":451670,\"power\":204},{\"uid\":22188145,\"power\":102},{\"uid\":16919700,\"power\":212},{\"uid\":22681176,\"power\":48},{\"uid\":15312292,\"power\":693},{\"uid\":3888909,\"power\":1092},{\"uid\":18416632,\"power\":192},{\"uid\":22722383,\"power\":20}]},\"b\":{\"clanId\":7654,\"power\":576,\"members\":[{\"uid\":19889953,\"power\":188},{\"uid\":20845009,\"power\":576},{\"uid\":22176210,\"power\":240},{\"uid\":13821955,\"power\":180},{\"uid\":22237595,\"power\":230},{\"uid\":22233091,\"power\":160},{\"uid\":22268431,\"power\":46},{\"uid\":10023085,\"power\":918},{\"uid\":9859275,\"power\":1308},{\"uid\":9794440,\"power\":1443},{\"uid\":5739237,\"power\":1196}]},\"startAt\":1474180201000}},\"winnerClan\":7654,\"totalDamage\":{\"7654\":156,\"18335\":0},\"players\":[{\"uid\":20845009,\"clanId\":7654,\"nbKills\":0,\"damage\":156},{\"uid\":21770940,\"clanId\":18335,\"nbKills\":0,\"damage\":0},{\"uid\":19889953,\"clanId\":7654,\"nbKills\":0,\"damage\":0},{\"uid\":22176210,\"clanId\":7654,\"nbKills\":0,\"damage\":0},{\"uid\":10430040,\"clanId\":18335,\"nbKills\":0,\"damage\":0},{\"uid\":20819014,\"clanId\":18335,\"nbKills\":0,\"damage\":0},{\"uid\":10023085,\"clanId\":7654,\"nbKills\":0,\"damage\":0},{\"uid\":9859275,\"clanId\":7654,\"nbKills\":0,\"damage\":0},{\"uid\":14049987,\"clanId\":18335,\"nbKills\":0,\"damage\":0},{\"uid\":9794440,\"clanId\":7654,\"nbKills\":0,\"damage\":0},{\"uid\":5739237,\"clanId\":7654,\"nbKills\":0,\"damage\":0},{\"uid\":22722440,\"clanId\":18335,\"nbKills\":0,\"damage\":0},{\"uid\":17126787,\"clanId\":18335,\"nbKills\":0,\"damage\":0},{\"uid\":22188145,\"clanId\":18335,\"nbKills\":0,\"damage\":0},{\"uid\":15312292,\"clanId\":18335,\"nbKills\":0,\"damage\":0},{\"uid\":22681176,\"clanId\":18335,\"nbKills\":0,\"damage\":0},{\"uid\":16919700,\"clanId\":18335,\"nbKills\":0,\"damage\":0},{\"uid\":3888909,\"clanId\":18335,\"nbKills\":0,\"damage\":0},{\"uid\":22233091,\"clanId\":7654,\"nbKills\":0,\"damage\":0},{\"uid\":22722383,\"clanId\":18335,\"nbKills\":0,\"damage\":0},{\"uid\":15845999,\"clanId\":18335,\"nbKills\":0,\"damage\":0},{\"uid\":2684492,\"clanId\":18335,\"nbKills\":0,\"damage\":0},{\"uid\":20874309,\"clanId\":18335,\"nbKills\":0,\"damage\":0},{\"uid\":22268431,\"clanId\":7654,\"nbKills\":0,\"damage\":0},{\"uid\":14786073,\"clanId\":18335,\"nbKills\":0,\"damage\":0},{\"uid\":451670,\"clanId\":18335,\"nbKills\":0,\"damage\":0},{\"uid\":13821955,\"clanId\":7654,\"nbKills\":0,\"damage\":0},{\"uid\":22237595,\"clanId\":7654,\"nbKills\":0,\"damage\":0},{\"uid\":18416632,\"clanId\":18335,\"nbKills\":0,\"damage\":0}]}],\"players\":[{\"uid\":20845009,\"clanId\":7654,\"nbKills\":2,\"damage\":1661,\"award\":{\"Silver\":10,\"CrewPoints\":2},\"exp\":24},{\"uid\":21770940,\"clanId\":18335,\"nbKills\":0,\"damage\":0,\"award\":{\"Silver\":10},\"exp\":0},{\"uid\":19889953,\"clanId\":7654,\"nbKills\":0,\"damage\":0,\"award\":{\"Silver\":10},\"exp\":0},{\"uid\":10430040,\"clanId\":18335,\"nbKills\":0,\"damage\":0,\"award\":{\"Silver\":10},\"exp\":0},{\"uid\":22176210,\"clanId\":7654,\"nbKills\":0,\"damage\":0,\"award\":{\"Silver\":10},\"exp\":0},{\"uid\":20819014,\"clanId\":18335,\"nbKills\":0,\"damage\":0,\"award\":{\"Silver\":10},\"exp\":0},{\"uid\":10023085,\"clanId\":7654,\"nbKills\":0,\"damage\":0,\"award\":{\"Silver\":10},\"exp\":0},{\"uid\":9859275,\"clanId\":7654,\"nbKills\":0,\"damage\":0,\"award\":{\"Silver\":10},\"exp\":0},{\"uid\":14049987,\"clanId\":18335,\"nbKills\":0,\"damage\":0,\"award\":{\"Silver\":10},\"exp\":0},{\"uid\":9794440,\"clanId\":7654,\"nbKills\":0,\"damage\":0,\"award\":{\"Silver\":10},\"exp\":0},{\"uid\":5739237,\"clanId\":7654,\"nbKills\":0,\"damage\":0,\"award\":{\"Silver\":10},\"exp\":0},{\"uid\":17126787,\"clanId\":18335,\"nbKills\":0,\"damage\":0,\"award\":{\"Silver\":10},\"exp\":0},{\"uid\":22722440,\"clanId\":18335,\"nbKills\":0,\"damage\":0,\"award\":{\"Silver\":10},\"exp\":0},{\"uid\":22188145,\"clanId\":18335,\"nbKills\":0,\"damage\":0,\"award\":{\"Silver\":10},\"exp\":0},{\"uid\":16919700,\"clanId\":18335,\"nbKills\":0,\"damage\":0,\"award\":{\"Silver\":10},\"exp\":0},{\"uid\":15312292,\"clanId\":18335,\"nbKills\":0,\"damage\":0,\"award\":{\"Silver\":10},\"exp\":0},{\"uid\":22681176,\"clanId\":18335,\"nbKills\":0,\"damage\":0,\"award\":{\"Silver\":10},\"exp\":0},{\"uid\":3888909,\"clanId\":18335,\"nbKills\":0,\"damage\":0,\"award\":{\"Silver\":10},\"exp\":0},{\"uid\":22233091,\"clanId\":7654,\"nbKills\":0,\"damage\":0,\"award\":{\"Silver\":10},\"exp\":0},{\"uid\":22722383,\"clanId\":18335,\"nbKills\":0,\"damage\":0,\"award\":{\"Silver\":10},\"exp\":0},{\"uid\":15845999,\"clanId\":18335,\"nbKills\":0,\"damage\":0,\"award\":{\"Silver\":10},\"exp\":0},{\"uid\":2684492,\"clanId\":18335,\"nbKills\":0,\"damage\":0,\"award\":{\"Silver\":10},\"exp\":0},{\"uid\":22268431,\"clanId\":7654,\"nbKills\":0,\"damage\":0,\"award\":{\"Silver\":10},\"exp\":0},{\"uid\":20874309,\"clanId\":18335,\"nbKills\":0,\"damage\":0,\"award\":{\"Silver\":10},\"exp\":0},{\"uid\":14786073,\"clanId\":18335,\"nbKills\":0,\"damage\":0,\"award\":{\"Silver\":10},\"exp\":0},{\"uid\":451670,\"clanId\":18335,\"nbKills\":0,\"damage\":0,\"award\":{\"Silver\":10},\"exp\":0},{\"uid\":13821955,\"clanId\":7654,\"nbKills\":0,\"damage\":0,\"award\":{\"Silver\":10},\"exp\":0},{\"uid\":22237595,\"clanId\":7654,\"nbKills\":0,\"damage\":0,\"award\":{\"Silver\":10},\"exp\":0},{\"uid\":18416632,\"clanId\":18335,\"nbKills\":0,\"damage\":0,\"award\":{\"Silver\":10},\"exp\":0}]}";
97// json = "{\"params\":{\"a\":{\"clanId\":7654,\"power\":576,\"members\":[{\"uid\":19889953,\"power\":184},{\"uid\":20845009,\"power\":576},{\"uid\":22176210,\"power\":240},{\"uid\":13821955,\"power\":180},{\"uid\":22237595,\"power\":230},{\"uid\":22233091,\"power\":160},{\"uid\":22268431,\"power\":46},{\"uid\":10023085,\"power\":918},{\"uid\":9859275,\"power\":1144},{\"uid\":9794440,\"power\":1430},{\"uid\":5739237,\"power\":1196}]},\"b\":{\"clanId\":21176,\"power\":525,\"members\":[{\"uid\":4074405,\"power\":1232},{\"uid\":19213229,\"power\":132},{\"uid\":20231002,\"power\":525},{\"uid\":4808758,\"power\":2832},{\"uid\":22672331,\"power\":50},{\"uid\":18302497,\"power\":280}]},\"startAt\":1474137001000},\"winnerClan\":7654,\"boiResults\":[{\"id\":{\"number\":1,\"params\":{\"a\":{\"clanId\":7654,\"power\":576,\"members\":[{\"uid\":19889953,\"power\":184},{\"uid\":20845009,\"power\":576},{\"uid\":22176210,\"power\":240},{\"uid\":13821955,\"power\":180},{\"uid\":22237595,\"power\":230},{\"uid\":22233091,\"power\":160},{\"uid\":22268431,\"power\":46},{\"uid\":10023085,\"power\":918},{\"uid\":9859275,\"power\":1144},{\"uid\":9794440,\"power\":1430},{\"uid\":5739237,\"power\":1196}]},\"b\":{\"clanId\":21176,\"power\":525,\"members\":[{\"uid\":4074405,\"power\":1232},{\"uid\":19213229,\"power\":132},{\"uid\":20231002,\"power\":525},{\"uid\":4808758,\"power\":2832},{\"uid\":22672331,\"power\":50},{\"uid\":18302497,\"power\":280}]},\"startAt\":1474137001000}},\"winnerClan\":7654,\"totalDamage\":{\"7654\":5066,\"21176\":1465},\"players\":[{\"uid\":9859275,\"clanId\":7654,\"nbKills\":4,\"damage\":3965},{\"uid\":20231002,\"clanId\":21176,\"nbKills\":0,\"damage\":1465},{\"uid\":20845009,\"clanId\":7654,\"nbKills\":0,\"damage\":1101},{\"uid\":19213229,\"clanId\":21176,\"nbKills\":0,\"damage\":0},{\"uid\":19889953,\"clanId\":7654,\"nbKills\":0,\"damage\":0},{\"uid\":22176210,\"clanId\":7654,\"nbKills\":0,\"damage\":0},{\"uid\":4808758,\"clanId\":21176,\"nbKills\":0,\"damage\":0},{\"uid\":22672331,\"clanId\":21176,\"nbKills\":0,\"damage\":0},{\"uid\":22268431,\"clanId\":7654,\"nbKills\":0,\"damage\":0},{\"uid\":10023085,\"clanId\":7654,\"nbKills\":0,\"damage\":0},{\"uid\":9794440,\"clanId\":7654,\"nbKills\":0,\"damage\":0},{\"uid\":5739237,\"clanId\":7654,\"nbKills\":0,\"damage\":0},{\"uid\":4074405,\"clanId\":21176,\"nbKills\":0,\"damage\":0},{\"uid\":13821955,\"clanId\":7654,\"nbKills\":0,\"damage\":0},{\"uid\":22237595,\"clanId\":7654,\"nbKills\":0,\"damage\":0},{\"uid\":22233091,\"clanId\":7654,\"nbKills\":0,\"damage\":0},{\"uid\":18302497,\"clanId\":21176,\"nbKills\":0,\"damage\":0}]},{\"id\":{\"number\":2,\"params\":{\"a\":{\"clanId\":7654,\"power\":576,\"members\":[{\"uid\":19889953,\"power\":184},{\"uid\":20845009,\"power\":576},{\"uid\":22176210,\"power\":240},{\"uid\":13821955,\"power\":180},{\"uid\":22237595,\"power\":230},{\"uid\":22233091,\"power\":160},{\"uid\":22268431,\"power\":46},{\"uid\":10023085,\"power\":918},{\"uid\":9859275,\"power\":1144},{\"uid\":9794440,\"power\":1430},{\"uid\":5739237,\"power\":1196}]},\"b\":{\"clanId\":21176,\"power\":525,\"members\":[{\"uid\":4074405,\"power\":1232},{\"uid\":19213229,\"power\":132},{\"uid\":20231002,\"power\":525},{\"uid\":4808758,\"power\":2832},{\"uid\":22672331,\"power\":50},{\"uid\":18302497,\"power\":280}]},\"startAt\":1474137001000}},\"winnerClan\":7654,\"totalDamage\":{\"7654\":4491,\"21176\":0},\"players\":[{\"uid\":9859275,\"clanId\":7654,\"nbKills\":4,\"damage\":3500},{\"uid\":20845009,\"clanId\":7654,\"nbKills\":0,\"damage\":991},{\"uid\":19213229,\"clanId\":21176,\"nbKills\":0,\"damage\":0},{\"uid\":20231002,\"clanId\":21176,\"nbKills\":0,\"damage\":0},{\"uid\":19889953,\"clanId\":7654,\"nbKills\":0,\"damage\":0},{\"uid\":22176210,\"clanId\":7654,\"nbKills\":0,\"damage\":0},{\"uid\":4808758,\"clanId\":21176,\"nbKills\":0,\"damage\":0},{\"uid\":22672331,\"clanId\":21176,\"nbKills\":0,\"damage\":0},{\"uid\":22268431,\"clanId\":7654,\"nbKills\":0,\"damage\":0},{\"uid\":10023085,\"clanId\":7654,\"nbKills\":0,\"damage\":0},{\"uid\":9794440,\"clanId\":7654,\"nbKills\":0,\"damage\":0},{\"uid\":5739237,\"clanId\":7654,\"nbKills\":0,\"damage\":0},{\"uid\":4074405,\"clanId\":21176,\"nbKills\":0,\"damage\":0},{\"uid\":13821955,\"clanId\":7654,\"nbKills\":0,\"damage\":0},{\"uid\":22237595,\"clanId\":7654,\"nbKills\":0,\"damage\":0},{\"uid\":22233091,\"clanId\":7654,\"nbKills\":0,\"damage\":0},{\"uid\":18302497,\"clanId\":21176,\"nbKills\":0,\"damage\":0}]}],\"players\":[{\"uid\":9859275,\"clanId\":7654,\"nbKills\":8,\"damage\":7465,\"award\":{\"Silver\":10,\"CrewPoints\":8},\"exp\":231},{\"uid\":20845009,\"clanId\":7654,\"nbKills\":0,\"damage\":2092,\"award\":{\"Silver\":10},\"exp\":50},{\"uid\":20231002,\"clanId\":21176,\"nbKills\":0,\"damage\":1465,\"award\":{\"Silver\":10},\"exp\":41},{\"uid\":19213229,\"clanId\":21176,\"nbKills\":0,\"damage\":0,\"award\":{\"Silver\":10},\"exp\":0},{\"uid\":19889953,\"clanId\":7654,\"nbKills\":0,\"damage\":0,\"award\":{\"Silver\":10},\"exp\":0},{\"uid\":22176210,\"clanId\":7654,\"nbKills\":0,\"damage\":0,\"award\":{\"Silver\":10},\"exp\":0},{\"uid\":4808758,\"clanId\":21176,\"nbKills\":0,\"damage\":0,\"award\":{\"Silver\":10},\"exp\":0},{\"uid\":22672331,\"clanId\":21176,\"nbKills\":0,\"damage\":0,\"award\":{\"Silver\":10},\"exp\":0},{\"uid\":22268431,\"clanId\":7654,\"nbKills\":0,\"damage\":0,\"award\":{\"Silver\":10},\"exp\":0},{\"uid\":10023085,\"clanId\":7654,\"nbKills\":0,\"damage\":0,\"award\":{\"Silver\":10},\"exp\":0},{\"uid\":9794440,\"clanId\":7654,\"nbKills\":0,\"damage\":0,\"award\":{\"Silver\":10},\"exp\":0},{\"uid\":5739237,\"clanId\":7654,\"nbKills\":0,\"damage\":0,\"award\":{\"Silver\":10},\"exp\":0},{\"uid\":4074405,\"clanId\":21176,\"nbKills\":0,\"damage\":0,\"award\":{\"Silver\":10},\"exp\":0},{\"uid\":13821955,\"clanId\":7654,\"nbKills\":0,\"damage\":0,\"award\":{\"Silver\":10},\"exp\":0},{\"uid\":22237595,\"clanId\":7654,\"nbKills\":0,\"damage\":0,\"award\":{\"Silver\":10},\"exp\":0},{\"uid\":22233091,\"clanId\":7654,\"nbKills\":0,\"damage\":0,\"award\":{\"Silver\":10},\"exp\":0},{\"uid\":18302497,\"clanId\":21176,\"nbKills\":0,\"damage\":0,\"award\":{\"Silver\":10},\"exp\":0}]}";
98// BitvaMeetResult r = TanksGSON.GSON.fromJson(json, BitvaMeetResult.class);
99// System.out.println(r);
100
101// System.out.println(java.util.TimeZone.getDefault().getID());
102// System.out.println(FMT.print(1472449928806L));
103// System.out.println(Dialect.DEFAULT_BATCH_SIZE);
104 }