Implement API Bindings for SupplierService

This commit is contained in:
CodeSteak 2020-05-12 22:42:25 +02:00
parent 62d811db1d
commit c92e485018
6 changed files with 76 additions and 0 deletions

View File

@ -0,0 +1,27 @@
package org.hso.ecommerce.api;
import org.hso.ecommerce.api.data.Order;
import org.hso.ecommerce.api.data.OrderConfirmation;
import org.hso.ecommerce.api.data.Supplier;
import org.springframework.web.client.RestTemplate;
public class SupplierService {
private final String url;
public SupplierService(String url) {
this.url = url;
}
public Supplier getSupplier() {
RestTemplate restTemplate = new RestTemplate();
return restTemplate.getForObject(url, Supplier.class);
}
public OrderConfirmation order(Order order) {
RestTemplate restTemplate = new RestTemplate();
return restTemplate.postForObject(url + "/order", order, OrderConfirmation.class);
}
}

View File

@ -0,0 +1,11 @@
package org.hso.ecommerce.api.data;
public class Article {
public String title;
public String manufacturer;
public String articleNumber;
public int vatPercent;
public int pricePerUnitNet;
public boolean shouldBeAdvertised;
}

View File

@ -0,0 +1,9 @@
package org.hso.ecommerce.api.data;
public class Order {
public String manufacturer;
public String articleNumber;
public int quantity;
public int maxTotalPriceCentNet;
}

View File

@ -0,0 +1,12 @@
package org.hso.ecommerce.api.data;
public class OrderConfirmation {
public String manufacturer;
public String articleNumber;
public int quantity;
public int pricePerUnitNetCent;
public int discountNetCent;
public int totalPriceNetCharged;
}

View File

@ -0,0 +1,11 @@
package org.hso.ecommerce.api.data;
import java.util.List;
public class Supplier {
public String id;
public String name;
public SupplierDiscount discount;
public List<Article> articles;
}

View File

@ -0,0 +1,6 @@
package org.hso.ecommerce.api.data;
public class SupplierDiscount {
public int minimumDailySalesVolumeNetCent;
public int percentDiscount;
}