Skip to content

Commit

Permalink
Added Limit and Offset to Search Orders by tracking Number and Schedu…
Browse files Browse the repository at this point in the history
…leForDate
  • Loading branch information
r4m-juan committed Feb 7, 2022
1 parent ae8bd89 commit 7ad9489
Show file tree
Hide file tree
Showing 6 changed files with 132 additions and 8 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>io.github.route4me</groupId>
<artifactId>route4me-java-sdk</artifactId>
<version>1.6.7</version>
<version>1.6.8</version>
<packaging>jar</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

import java.util.List;

public class GetOrdersByScheduledAtYYMMDD {
public class GetOrdersByScheduledForYYMMDD {

public static void main(String[] args) {
String apiKey = "11111111111111111111111111111111";
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
// codebeat:disable[SIMILARITY]
package com.route4me.sdk.examples.orders;

import com.route4me.sdk.exception.APIException;
import com.route4me.sdk.services.orders.Order;
import com.route4me.sdk.services.orders.OrdersManager;
import java.util.Arrays;

import java.util.List;

public class GetOrdersByScheduledForYYMMDDLimitOffset {

public static void main(String[] args) {
String apiKey = "11111111111111111111111111111111";
OrdersManager manager = new OrdersManager(apiKey);
try {
List<String> scheduledDate = Arrays.asList("2021-09-10", "2021-09-10");
List<Order> orders = manager.getOrdersByScheduledDate(scheduledDate, 10, 0);
System.out.println("Found " + orders.size() + " Orders");
for (Order order : orders) {
System.out.println("OrderID: " + order.getId());
System.out.println("\tCreated: " + order.getCreated());
System.out.println("\tScheduled: " + order.getDateScheduled());
System.out.println("\tAddress: " + order.getAddress1());
System.out.println("\tAlias: " + order.getAddressAlias());
System.out.println("\tCustom Data: " + order.getCustomData());
System.out.println("");
}
} catch (APIException e) {
//handle exception
e.printStackTrace();
}
}
}
// codebeat:enable[SIMILARITY]
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
// codebeat:disable[SIMILARITY]
package com.route4me.sdk.examples.orders;

import com.route4me.sdk.exception.APIException;
import com.route4me.sdk.services.orders.Order;
import com.route4me.sdk.services.orders.OrderStatus;
import com.route4me.sdk.services.orders.OrdersManager;
import java.util.Arrays;

import java.util.List;

public class GetOrdersByTrackingNumberLimitOffset {
public static void main(String[] args) {
String apiKey = "11111111111111111111111111111111";
OrdersManager manager = new OrdersManager(apiKey);

List<String> trackingNumbers = Arrays.asList("TRACKING01", "TRACKING02", "TRACKING03");

try {
List<Order> orders = manager.getOrdersByTrackingNumber(trackingNumbers, 100, 0);
System.out.println("Found " + orders.size() + " Orders");
for (Order order : orders) {
System.out.println("OrderID: " + order.getId());
System.out.println("\tStatus: " + OrderStatus.get(order.getLastStatus()));
System.out.println("\tTracking Number: " + order.getTrackingNumber());
System.out.println("\tCreated: " + order.getCreated());
System.out.println("\tScheduled: " + order.getDateScheduled());
System.out.println("\tAddress: " + order.getAddress1());
System.out.println("\tAlias: " + order.getAddressAlias());
System.out.println("");
}
} catch (APIException e) {
//handle exception
e.printStackTrace();
}
}
}
// codebeat:enable[SIMILARITY]
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
package com.route4me.sdk.examples.routes;

import com.route4me.sdk.exception.APIException;
import com.route4me.sdk.services.routing.Parameters;
import com.route4me.sdk.services.routing.Route;
import com.route4me.sdk.services.routing.RoutingManager;


/**
* @author Route4Me
*/
public class UpdateRouteNameDriver {

public static void main(String[] args) {
String apiKey = "11111111111111111111111111111111";
RoutingManager routeManager = new RoutingManager(apiKey);
try {
// Create Route Object and Set the RouteID of the existing Route
Route route = new Route();
route.setId("11111111111111111111111111111111");
// Create Parameters Object to Change Driver and Route Name
Parameters params = new Parameters();
params.setRouteName("Renaming and Assining Driver to an Existing Route");
params.setMemberId("1");
// Set the parameters to the Route Object
route.setParameters(params);
// Update the Route
route = routeManager.updateRoute(route);
// Print The Updated Route
System.out.println(route);
} catch (APIException e) {
//handle exceptions
System.err.println(e);
}

}
}
26 changes: 20 additions & 6 deletions src/main/java/com/route4me/sdk/services/orders/OrdersManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,13 @@ public List<Order> getOrders(OrderRequest request) throws APIException {
}

public List<Order> getOrdersByScheduledDate(List<String> scheduledForYYMMDD) throws APIException {
return this.getOrdersByScheduledDate(scheduledForYYMMDD, 30, 0);
}

public List<Order> getOrdersByScheduledDate(List<String> scheduledForYYMMDD, Integer limit, Integer offset) throws APIException {
OrderFilter filter = new OrderFilter();
filter.setScheduled_for_YYMMDD(scheduledForYYMMDD);
return this.OrderByFilter(filter);
return this.OrderByFilter(filter, limit, offset);
}

public List<Order> getOrdersByCustomField(String customFieldKey, String customFieldValue) throws APIException {
Expand All @@ -58,20 +62,30 @@ public List<Order> getOrdersByStatus(List<Integer> orderStatus) throws APIExcept
}

public List<Order> getOrdersByTrackingNumber(List<String> trackingNumbers) throws APIException {
OrderFilter filter = new OrderFilter();
return this.getOrdersByTrackingNumber(trackingNumbers, 30, 0);
}

public List<Order> getOrdersByTrackingNumber(List<String> trackingNumbers, Integer limit, Integer offset) throws APIException {
OrderFilter filter = new OrderFilter();
filter.setTrackingNumbers(trackingNumbers);
System.out.println(filter);
return this.OrderByFilter(filter);
return this.OrderByFilter(filter, limit, offset);
}

private List<Order> OrderByFilter(OrderFilter filter) throws APIException {
private List<Order> OrderByFilter(OrderFilter filter, Integer limit, Integer offset) throws APIException {
OrderRequest request = new OrderRequest();
request.setFilter(filter);
request.setLimit(limit);
request.setOffset(offset);
URIBuilder builder = Manager.defaultBuilder(ORDERS_EP);
return this.makeJSONRequest(RequestMethod.POST, builder, request, GetOrdersResponse.class).getResults();
}



private List<Order> OrderByFilter(OrderFilter filter) throws APIException {
return this.OrderByFilter(filter, 30, 0);
}

public Order updateOrder(Order order) throws APIException {
URIBuilder builder = Manager.defaultBuilder(ORDERS_EP);
return this.makeJSONRequest(RequestMethod.PUT, builder, order, Order.class);
Expand Down

0 comments on commit 7ad9489

Please sign in to comment.