diff --git a/prototype/src/main/java/org/hso/ecommerce/api/SupplierService.java b/prototype/src/main/java/org/hso/ecommerce/api/SupplierService.java new file mode 100644 index 0000000..35b87c0 --- /dev/null +++ b/prototype/src/main/java/org/hso/ecommerce/api/SupplierService.java @@ -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); + } +} diff --git a/prototype/src/main/java/org/hso/ecommerce/api/data/Article.java b/prototype/src/main/java/org/hso/ecommerce/api/data/Article.java new file mode 100644 index 0000000..ad2da1c --- /dev/null +++ b/prototype/src/main/java/org/hso/ecommerce/api/data/Article.java @@ -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; +} diff --git a/prototype/src/main/java/org/hso/ecommerce/api/data/Order.java b/prototype/src/main/java/org/hso/ecommerce/api/data/Order.java new file mode 100644 index 0000000..679d7a7 --- /dev/null +++ b/prototype/src/main/java/org/hso/ecommerce/api/data/Order.java @@ -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; +} diff --git a/prototype/src/main/java/org/hso/ecommerce/api/data/OrderConfirmation.java b/prototype/src/main/java/org/hso/ecommerce/api/data/OrderConfirmation.java new file mode 100644 index 0000000..78c8285 --- /dev/null +++ b/prototype/src/main/java/org/hso/ecommerce/api/data/OrderConfirmation.java @@ -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; +} diff --git a/prototype/src/main/java/org/hso/ecommerce/api/data/Supplier.java b/prototype/src/main/java/org/hso/ecommerce/api/data/Supplier.java new file mode 100644 index 0000000..4ed1f7b --- /dev/null +++ b/prototype/src/main/java/org/hso/ecommerce/api/data/Supplier.java @@ -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
articles; +} diff --git a/prototype/src/main/java/org/hso/ecommerce/api/data/SupplierDiscount.java b/prototype/src/main/java/org/hso/ecommerce/api/data/SupplierDiscount.java new file mode 100644 index 0000000..9ccf250 --- /dev/null +++ b/prototype/src/main/java/org/hso/ecommerce/api/data/SupplierDiscount.java @@ -0,0 +1,6 @@ +package org.hso.ecommerce.api.data; + +public class SupplierDiscount { + public int minimumDailySalesVolumeNetCent; + public int percentDiscount; +}