From 2eb86b2fe20801f0423b2f8e4ce611bd8579a710 Mon Sep 17 00:00:00 2001 From: kimscott Date: Fri, 27 Sep 2019 14:16:23 +0900 Subject: [PATCH] =?UTF-8?q?=EC=A3=BC=EB=AC=B8=EC=8B=9C=20checkStock=20?= =?UTF-8?q?=EB=A5=BC=20=EC=B2=B4=ED=81=AC=ED=95=98=EB=8F=84=EB=A1=9D=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD=ED=95=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/example/template/Order.java | 20 ++++++++++--------- src/main/resources/application.yml | 4 ++++ 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/example/template/Order.java b/src/main/java/com/example/template/Order.java index 37fe38b..764044e 100644 --- a/src/main/java/com/example/template/Order.java +++ b/src/main/java/com/example/template/Order.java @@ -46,18 +46,20 @@ public class Order { throw new RuntimeException(); } - // 1. 주문에 대한 상품 조회 - API - String productUrl = env.getProperty("productUrl") + "/products/" + productId; + if("true".equalsIgnoreCase(env.getProperty("checkStock"))){ + // 1. 주문에 대한 상품 조회 - API + String productUrl = env.getProperty("productUrl") + "/products/" + productId; - ResponseEntity productEntity = restTemplate.getForEntity(productUrl, String.class); - JsonParser parser = new JsonParser(); - JsonObject jsonObject = parser.parse(productEntity.getBody()).getAsJsonObject(); + ResponseEntity productEntity = restTemplate.getForEntity(productUrl, String.class); + JsonParser parser = new JsonParser(); + JsonObject jsonObject = parser.parse(productEntity.getBody()).getAsJsonObject(); - this.setPrice(jsonObject.get("price").getAsInt()); - this.setProductName(jsonObject.get("name").getAsString()); + this.setPrice(jsonObject.get("price").getAsInt()); + this.setProductName(jsonObject.get("name").getAsString()); - if( jsonObject.get("stock").getAsInt() < getQuantity()){ - throw new RuntimeException("No Available stock!"); + if( jsonObject.get("stock").getAsInt() < getQuantity()){ + throw new RuntimeException("No Available stock!"); + } } OrderPlaced orderPlaced = new OrderPlaced(); diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index cb54b03..b1ab783 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -3,6 +3,10 @@ server: eventTopic: eventTopic + +## 주문은 product 정보가 필요하다. +## checkStock 를 true 로 준다면, product 서비스가 죽어있을때는 주문이 안된다. +checkStock: false --- spring: profiles: default