Optimized getOrders method

This commit is contained in:
Anthony committed 2018-02-09 22:35:17 -05:00
1 parent c242f587a8
commit a24a95382f
2 files changed
+17 -28

No files matched your search

@@ -13,18 +13,11 @@ import netneutrality.db.DBController;
import netneutrality.db.controllers.DBSettings; import netneutrality.db.controllers.DBSettings;
import netneutrality.db.models.SellyOrder; import netneutrality.db.models.SellyOrder;
import netneutrality.http.Selly; import netneutrality.http.Selly;
import org.json.JSONArray;
import org.json.JSONObject;
import java.util.HashMap;
import java.util.Map; import java.util.Map;
public class SellyCommand extends AbstractCommand { public class SellyCommand extends AbstractCommand {
public SellyCommand() {
}
@Override @Override
public boolean needAdmin() { public boolean needAdmin() {
return true; return true;
@@ -58,19 +51,11 @@ public class SellyCommand extends AbstractCommand {
@Override @Override
public String execute(MessageReceivedEvent event, String args) { public String execute(MessageReceivedEvent event, String args) {
Map<String, SellyOrder> orders = new HashMap<>();
String sellyEmail = ((DBSettings) DBController.get("settings")).getSellyEmail(); String sellyEmail = ((DBSettings) DBController.get("settings")).getSellyEmail();
String sellyKey = ((DBSettings) DBController.get("settings")).getSellyKey(); String sellyKey = ((DBSettings) DBController.get("settings")).getSellyKey();
Selly selly = new Selly(sellyEmail, sellyKey); Selly selly = new Selly(sellyEmail, sellyKey);
JSONArray ordersArray = selly.getOrders(); Map<String, SellyOrder> orders = selly.getOrders();
for (int i = 0; i < ordersArray.length(); i++) {
JSONObject order = ordersArray.getJSONObject(i);
orders.put(order.getString("id"), new SellyOrder(order.getString("id"), order.getString("product_id"), order.getString("email"), order.getString("ip_address"),
Float.parseFloat(order.getString("value")), order.getString("currency"), order.getString("gateway"), order.getInt("risk_level"), order.getInt("status"),
order.getInt("crypto_value"), order.getString("crypto_address"), Float.parseFloat(order.getString("usd_value")), order.getString("created_at")));
}
System.out.println(selly.getProducts().toString()); System.out.println(selly.getProducts().toString());
@@ -92,12 +77,6 @@ public class SellyCommand extends AbstractCommand {
} else } else
event.getAuthor().openPrivateChannel().queue(t -> t.sendMessage("usage : $selly <email> <order_id>").queue()); event.getAuthor().openPrivateChannel().queue(t -> t.sendMessage("usage : $selly <email> <order_id>").queue());
return null; return null;
} }
} }
+16 -6
View File
@@ -6,6 +6,7 @@ package netneutrality.http;
* This file is closed-source. It should not be distributed or copied in any way or form * This file is closed-source. It should not be distributed or copied in any way or form
*/ */
import netneutrality.db.models.SellyOrder;
import org.json.JSONArray; import org.json.JSONArray;
import org.json.JSONObject; import org.json.JSONObject;
@@ -16,7 +17,6 @@ import java.util.Map;
public class Selly { public class Selly {
private String authorization;
private byte[] encodedAuth; private byte[] encodedAuth;
public Selly(String email, String apiKey) { public Selly(String email, String apiKey) {
@@ -24,19 +24,29 @@ public class Selly {
encodedAuth = Base64.getEncoder().encode(concat.getBytes()); encodedAuth = Base64.getEncoder().encode(concat.getBytes());
} }
public JSONArray getOrders() { public Map<String, SellyOrder> getOrders() {
WebModule orders = new WebModule("https://selly.gg/api/v2/orders"); WebModule sellyApi = new WebModule("https://selly.gg/api/v2/orders");
Map<String, String> headers = new HashMap<>(); Map<String, String> headers = new HashMap<>();
Map<String, SellyOrder> orders = new HashMap<>();
headers.put("Authorization", "Basic " + new String(encodedAuth)); headers.put("Authorization", "Basic " + new String(encodedAuth));
JSONArray response = null; JSONArray response = null;
try { try {
orders.request(headers); sellyApi.request(headers);
response = orders.getAsArray(); response = sellyApi.getAsArray();
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
} }
return response;
for (int i = 0; i < response.length(); i++) {
JSONObject order = response.getJSONObject(i);
orders.put(order.getString("id"), new SellyOrder(order.getString("id"), order.getString("product_id"), order.getString("email"), order.getString("ip_address"),
Float.parseFloat(order.getString("value")), order.getString("currency"), order.getString("gateway"), order.getInt("risk_level"), order.getInt("status"),
order.getInt("crypto_value"), order.getString("crypto_address"), Float.parseFloat(order.getString("usd_value")), order.getString("created_at")));
}
return orders;
} }
public JSONObject getOrderById(String id) { public JSONObject getOrderById(String id) {