Commit 2809ab4e authored by Christopher Cottier's avatar Christopher Cottier

Services updated to use values from properties file

parent 38a921c1
package com.nisum.ecomservice.service; package com.nisum.ecomservice.service;
import com.nisum.ecomservice.config.AppConfig;
import com.nisum.ecomservice.dto.*; import com.nisum.ecomservice.dto.*;
import com.nisum.ecomservice.model.*; import com.nisum.ecomservice.model.*;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.reactive.function.client.WebClient; import org.springframework.web.reactive.function.client.WebClient;
import reactor.core.publisher.Flux; import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono; import reactor.core.publisher.Mono;
import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -20,6 +19,8 @@ public class OrderService { ...@@ -20,6 +19,8 @@ public class OrderService {
@Autowired @Autowired
ProductService productService; ProductService productService;
@Value("${orders.apiUrl}")
private String orderManagementUrl;
public Mono<Order> postOrder(OrderRequest orderRequest) { public Mono<Order> postOrder(OrderRequest orderRequest) {
...@@ -93,7 +94,7 @@ public class OrderService { ...@@ -93,7 +94,7 @@ public class OrderService {
} }
public Mono<Order> postOrderToAPI(OrderSubmission orderSubmission){ public Mono<Order> postOrderToAPI(OrderSubmission orderSubmission){
return WebClient.create(String.format("%s/api/orders", AppConfig.getOrderManagementUrl())) return WebClient.create(String.format("%s/api/orders", orderManagementUrl))
.post() .post()
.bodyValue(orderSubmission) .bodyValue(orderSubmission)
.retrieve() .retrieve()
...@@ -101,7 +102,7 @@ public class OrderService { ...@@ -101,7 +102,7 @@ public class OrderService {
} }
public Flux<Order> getOrderFromOmsAPI(String userId){ public Flux<Order> getOrderFromOmsAPI(String userId){
return WebClient.create(String.format("%s/api/orders/byCustomer/%s", AppConfig.getOrderManagementUrl(),userId)) return WebClient.create(String.format("%s/api/orders/byCustomer/%s", orderManagementUrl,userId))
.get() .get()
.retrieve() .retrieve()
.bodyToFlux(Order.class); .bodyToFlux(Order.class);
......
package com.nisum.ecomservice.service; package com.nisum.ecomservice.service;
import com.nisum.ecomservice.config.AppConfig;
import com.nisum.ecomservice.model.Product; import com.nisum.ecomservice.model.Product;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.reactive.function.client.WebClient; import org.springframework.web.reactive.function.client.WebClient;
import reactor.core.publisher.Mono; import reactor.core.publisher.Mono;
...@@ -13,8 +13,15 @@ import java.util.List; ...@@ -13,8 +13,15 @@ import java.util.List;
@Service @Service
public class ProductService { public class ProductService {
@Value("${products.apiUrl}")
private String productsManagementUrl;
@Value("${promos.apiUrl}")
private String promoManagementUrl;
public Mono<Product> getProductBySku(String sku){ public Mono<Product> getProductBySku(String sku){
return WebClient.create(String.format("%s/api/products/%s", AppConfig.getProductsManagementUrl(),sku)) return WebClient.create(String.format("%s/api/products/%s", productsManagementUrl,sku))
.get() .get()
.retrieve() .retrieve()
.bodyToMono(Product.class); .bodyToMono(Product.class);
...@@ -23,7 +30,7 @@ public class ProductService { ...@@ -23,7 +30,7 @@ public class ProductService {
public Flux<Product> getAllProducts() { public Flux<Product> getAllProducts() {
return WebClient return WebClient
.builder() .builder()
.baseUrl(AppConfig.getProductsManagementUrl()) .baseUrl(productsManagementUrl)
.build() .build()
.get() .get()
.uri("/api/products") .uri("/api/products")
...@@ -34,7 +41,7 @@ public class ProductService { ...@@ -34,7 +41,7 @@ public class ProductService {
public Flux<Promotion> getAllPromotions() { public Flux<Promotion> getAllPromotions() {
return WebClient return WebClient
.builder() .builder()
.baseUrl(AppConfig.getPromoManagementUrl()) .baseUrl(promoManagementUrl)
.build() .build()
.get() .get()
.uri("/api/promos") .uri("/api/promos")
...@@ -43,7 +50,7 @@ public class ProductService { ...@@ -43,7 +50,7 @@ public class ProductService {
} }
public Flux<Promotion> getPromotionBySkus(List<String> listOfSkus){ public Flux<Promotion> getPromotionBySkus(List<String> listOfSkus){
return WebClient.create(String.format("%s/api/promos/bulkSearch",AppConfig.getPromoManagementUrl())) return WebClient.create(String.format("%s/api/promos/bulkSearch",promoManagementUrl))
.post() .post()
.bodyValue(listOfSkus) .bodyValue(listOfSkus)
.retrieve() .retrieve()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment