From e45f6ea03cc7df97b148680731b2a57648aa21b7 Mon Sep 17 00:00:00 2001 From: rani0808 <s.durgaranicvr@gmail.com> Date: Thu, 23 Apr 2020 20:20:33 +0530 Subject: [PATCH] order generation to create orders --- omd-checkout-service/pom.xml | 5 ++ .../omd/OmdCheckoutServiceApplication.java | 3 +- .../java/com/nisum/omd/OrderGenerator.java | 47 ++++++++++++ .../java/com/nisum/omd/domain/BillingTo.java | 15 ---- .../java/com/nisum/omd/domain/LineItem.java | 20 ++---- .../main/java/com/nisum/omd/domain/Order.java | 49 +++++-------- .../com/nisum/omd/domain/OrderCharges.java | 7 -- .../java/com/nisum/omd/domain/OrderTaxes.java | 9 --- .../java/com/nisum/omd/domain/Promotions.java | 7 -- .../java/com/nisum/omd/domain/ShipTo.java | 14 ---- .../com/nisum/omd/domain/ShippingInfo.java | 10 --- .../omd/service/RandomDataGenerator.java | 11 +++ .../omd/service/RandomDataGeneratorImpl.java | 65 +++++++++++++++++ .../src/main/resources/application.properties | 72 ++++++++++++++++++- 14 files changed, 224 insertions(+), 110 deletions(-) create mode 100644 omd-checkout-service/src/main/java/com/nisum/omd/OrderGenerator.java create mode 100644 omd-checkout-service/src/main/java/com/nisum/omd/service/RandomDataGenerator.java create mode 100644 omd-checkout-service/src/main/java/com/nisum/omd/service/RandomDataGeneratorImpl.java diff --git a/omd-checkout-service/pom.xml b/omd-checkout-service/pom.xml index 7db490b..fd1a182 100644 --- a/omd-checkout-service/pom.xml +++ b/omd-checkout-service/pom.xml @@ -55,6 +55,11 @@ </exclusion> </exclusions> </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-configuration-processor</artifactId> + <optional>true</optional> + </dependency> </dependencies> <build> diff --git a/omd-checkout-service/src/main/java/com/nisum/omd/OmdCheckoutServiceApplication.java b/omd-checkout-service/src/main/java/com/nisum/omd/OmdCheckoutServiceApplication.java index 33660fa..98d2554 100644 --- a/omd-checkout-service/src/main/java/com/nisum/omd/OmdCheckoutServiceApplication.java +++ b/omd-checkout-service/src/main/java/com/nisum/omd/OmdCheckoutServiceApplication.java @@ -5,10 +5,11 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class OmdCheckoutServiceApplication { - public static void main(String[] args) { SpringApplication.run(OmdCheckoutServiceApplication.class, args); + } + } diff --git a/omd-checkout-service/src/main/java/com/nisum/omd/OrderGenerator.java b/omd-checkout-service/src/main/java/com/nisum/omd/OrderGenerator.java new file mode 100644 index 0000000..5ec6a27 --- /dev/null +++ b/omd-checkout-service/src/main/java/com/nisum/omd/OrderGenerator.java @@ -0,0 +1,47 @@ +package com.nisum.omd; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.CommandLineRunner; +import org.springframework.stereotype.Component; + +import com.fasterxml.jackson.databind.ObjectMapper; +import com.nisum.omd.domain.Order; +import com.nisum.omd.service.RandomDataGeneratorImpl; + +@Component +public class OrderGenerator implements CommandLineRunner{ + + @Autowired + RandomDataGeneratorImpl rdg; + @Autowired + Order order; + Boolean orderGenerateFlag = true; + + public Boolean getOrderGenerateFlag() { + return orderGenerateFlag; + } + + public void setOrderGenerateFlag(Boolean orderGenerateFlag) { + this.orderGenerateFlag = orderGenerateFlag; + } + + public void run(String... args) throws Exception { + + while(orderGenerateFlag){ + order=getObjectData(order); + ObjectMapper objectMapper = new ObjectMapper(); + String jsonOrderStr = objectMapper.writeValueAsString(order); + System.out.println(jsonOrderStr); + } + } + + public Order getObjectData(Order order2) { + + order.setOrderNum(rdg.generateOrderNumber()); + order.setCustomerId(rdg.generateCustomerId()); + order.setLineItem(rdg.genetateLineItem(order.getLineItem())); + return order; + } + + +} diff --git a/omd-checkout-service/src/main/java/com/nisum/omd/domain/BillingTo.java b/omd-checkout-service/src/main/java/com/nisum/omd/domain/BillingTo.java index 37fbe09..eb39e7f 100644 --- a/omd-checkout-service/src/main/java/com/nisum/omd/domain/BillingTo.java +++ b/omd-checkout-service/src/main/java/com/nisum/omd/domain/BillingTo.java @@ -13,21 +13,6 @@ public class BillingTo { private String eMailID; private boolean residentialAddr; - public BillingTo(String firstName, String lastName, String addressLine1, String city, String state, String zipCode, - String country, int mobileNum, String eMailID, boolean residentialAddr) { - super(); - this.firstName = firstName; - this.lastName = lastName; - this.addressLine1 = addressLine1; - this.city = city; - this.state = state; - this.zipCode = zipCode; - this.country = country; - this.mobileNum = mobileNum; - this.eMailID = eMailID; - this.residentialAddr = residentialAddr; - } - public String getFirstName() { return firstName; } diff --git a/omd-checkout-service/src/main/java/com/nisum/omd/domain/LineItem.java b/omd-checkout-service/src/main/java/com/nisum/omd/domain/LineItem.java index 65754bb..b90e7d2 100644 --- a/omd-checkout-service/src/main/java/com/nisum/omd/domain/LineItem.java +++ b/omd-checkout-service/src/main/java/com/nisum/omd/domain/LineItem.java @@ -3,6 +3,9 @@ package com.nisum.omd.domain; import java.util.Map; +import org.springframework.stereotype.Component; + +@Component public class LineItem { private String lineItemNumber; private String skuNumber; @@ -14,8 +17,6 @@ public class LineItem { private boolean shipChrgApplInd; private String estimatedShipDate; private Map<String,Object> linePriceInfo; - private String taxCode; - private boolean autoAddInd; private Map<String,Object> lineTax; private String originalLineItemId; private String vendorUpcCode; @@ -55,7 +56,8 @@ public class LineItem { return productName; } public void setProductName(String productName) { - this.productName = productName; + + this.productName = productName; } public String getItemType() { return itemType; @@ -81,18 +83,6 @@ public class LineItem { public void setLinePriceInfo(Map<String, Object> linePriceInfo) { this.linePriceInfo = linePriceInfo; } - public String getTaxCode() { - return taxCode; - } - public void setTaxCode(String taxCode) { - this.taxCode = taxCode; - } - public boolean isAutoAddInd() { - return autoAddInd; - } - public void setAutoAddInd(boolean autoAddInd) { - this.autoAddInd = autoAddInd; - } public Map<String, Object> getLineTax() { return lineTax; } diff --git a/omd-checkout-service/src/main/java/com/nisum/omd/domain/Order.java b/omd-checkout-service/src/main/java/com/nisum/omd/domain/Order.java index 6fb7269..870c56f 100644 --- a/omd-checkout-service/src/main/java/com/nisum/omd/domain/Order.java +++ b/omd-checkout-service/src/main/java/com/nisum/omd/domain/Order.java @@ -1,8 +1,10 @@ package com.nisum.omd.domain; -import java.util.List; -import java.util.Map; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.stereotype.Component; +@Component +@ConfigurationProperties("app") public class Order { @@ -14,36 +16,27 @@ public class Order { private String customerType; private String gift; private Promotions promotions; - private List<LineItem> lineItem; + private LineItem lineItem; private BillingTo billingTo; private OrderCharges orderCharges; private OrderTaxes orderTaxes; private ShippingInfo shippingInfo; private ShipTo shipTo; private PaymentMethod paymentMethod; - - public Order(String orderNum, String orderDate, String currency, String shipMethod, String customerId, - String customerType, String gift, Promotions promotions, List<LineItem> lineItem, BillingTo billingTo, - OrderCharges orderCharges, OrderTaxes orderTaxes, ShippingInfo shippingInfo, ShipTo shipTo, - PaymentMethod paymentMethod) { - super(); - this.orderNum = orderNum; - this.orderDate = orderDate; - this.currency = currency; - this.shipMethod = shipMethod; + + + public String getCustomerId() { + return customerId; + } + + + + public void setCustomerId(String customerId) { this.customerId = customerId; - this.customerType = customerType; - this.gift = gift; - this.promotions = promotions; - this.lineItem = lineItem; - this.billingTo = billingTo; - this.orderCharges = orderCharges; - this.orderTaxes = orderTaxes; - this.shippingInfo = shippingInfo; - this.shipTo = shipTo; - this.paymentMethod = paymentMethod; } + + public String getOrderNum() { return orderNum; } @@ -76,13 +69,7 @@ public class Order { this.shipMethod = shipMethod; } - public String getCustomerId() { - return customerId; - } - public void setCustomerId(String customerId) { - this.customerId = customerId; - } public String getCustomerType() { return customerType; @@ -108,11 +95,11 @@ public class Order { this.promotions = promotions; } - public List<LineItem> getLineItem() { + public LineItem getLineItem() { return lineItem; } - public void setLineItem(List<LineItem> lineItem) { + public void setLineItem(LineItem lineItem) { this.lineItem = lineItem; } diff --git a/omd-checkout-service/src/main/java/com/nisum/omd/domain/OrderCharges.java b/omd-checkout-service/src/main/java/com/nisum/omd/domain/OrderCharges.java index 591b4ac..121ceff 100644 --- a/omd-checkout-service/src/main/java/com/nisum/omd/domain/OrderCharges.java +++ b/omd-checkout-service/src/main/java/com/nisum/omd/domain/OrderCharges.java @@ -5,13 +5,6 @@ public class OrderCharges { private float chargeAmount; private String chargeCategory; private String chargeName; - - public OrderCharges(float chargeAmount, String chargeCategory, String chargeName) { - super(); - this.chargeAmount = chargeAmount; - this.chargeCategory = chargeCategory; - this.chargeName = chargeName; - } public float getChargeAmount() { return chargeAmount; diff --git a/omd-checkout-service/src/main/java/com/nisum/omd/domain/OrderTaxes.java b/omd-checkout-service/src/main/java/com/nisum/omd/domain/OrderTaxes.java index f97eb2b..89d9c8f 100644 --- a/omd-checkout-service/src/main/java/com/nisum/omd/domain/OrderTaxes.java +++ b/omd-checkout-service/src/main/java/com/nisum/omd/domain/OrderTaxes.java @@ -7,15 +7,6 @@ public class OrderTaxes { private float tax; private String taxCode; private int taxPercentage; - - public OrderTaxes(String chargeCategory, String taxName, float tax, String taxCode, int taxPercentage) { - super(); - this.chargeCategory = chargeCategory; - this.taxName = taxName; - this.tax = tax; - this.taxCode = taxCode; - this.taxPercentage = taxPercentage; - } public String getChargeCategory() { return chargeCategory; diff --git a/omd-checkout-service/src/main/java/com/nisum/omd/domain/Promotions.java b/omd-checkout-service/src/main/java/com/nisum/omd/domain/Promotions.java index 8f84cee..a8c0a23 100644 --- a/omd-checkout-service/src/main/java/com/nisum/omd/domain/Promotions.java +++ b/omd-checkout-service/src/main/java/com/nisum/omd/domain/Promotions.java @@ -4,7 +4,6 @@ import java.util.Map; public class Promotions { private Map<String,Object> PromotionDetails; - private Map<String,Object> Awards; public Map<String, Object> getPromotionDetails() { return PromotionDetails; @@ -12,11 +11,5 @@ public class Promotions { public void setPromotionDetails(Map<String, Object> promotionDetails) { PromotionDetails = promotionDetails; } - public Map<String, Object> getAwards() { - return Awards; - } - public void setAwards(Map<String, Object> awards) { - Awards = awards; - } } diff --git a/omd-checkout-service/src/main/java/com/nisum/omd/domain/ShipTo.java b/omd-checkout-service/src/main/java/com/nisum/omd/domain/ShipTo.java index 4d986ae..bd426aa 100644 --- a/omd-checkout-service/src/main/java/com/nisum/omd/domain/ShipTo.java +++ b/omd-checkout-service/src/main/java/com/nisum/omd/domain/ShipTo.java @@ -13,20 +13,6 @@ public class ShipTo { private String eMailID; private boolean residentialAddr; - public ShipTo(String firstName, String lastName, String addressLine1, String city, String state, String zipCode, - String country, int mobileNum, String eMailID, boolean residentialAddr) { - super(); - this.firstName = firstName; - this.lastName = lastName; - this.addressLine1 = addressLine1; - this.city = city; - this.state = state; - this.zipCode = zipCode; - this.country = country; - this.mobileNum = mobileNum; - this.eMailID = eMailID; - this.residentialAddr = residentialAddr; - } public String getFirstName() { return firstName; diff --git a/omd-checkout-service/src/main/java/com/nisum/omd/domain/ShippingInfo.java b/omd-checkout-service/src/main/java/com/nisum/omd/domain/ShippingInfo.java index 1f55e02..456ddc1 100644 --- a/omd-checkout-service/src/main/java/com/nisum/omd/domain/ShippingInfo.java +++ b/omd-checkout-service/src/main/java/com/nisum/omd/domain/ShippingInfo.java @@ -7,13 +7,6 @@ public class ShippingInfo { private int minDaysToDeliver; - public ShippingInfo(Boolean vaildShipTo, int maxDaysToDeliver, int minDaysToDeliver) { - super(); - this.vaildShipTo = vaildShipTo; - this.maxDaysToDeliver = maxDaysToDeliver; - this.minDaysToDeliver = minDaysToDeliver; - } - public Boolean getVaildShipTo() { return vaildShipTo; } @@ -32,8 +25,5 @@ public class ShippingInfo { public void setMinDaysToDeliver(int minDaysToDeliver) { this.minDaysToDeliver = minDaysToDeliver; } - - - } diff --git a/omd-checkout-service/src/main/java/com/nisum/omd/service/RandomDataGenerator.java b/omd-checkout-service/src/main/java/com/nisum/omd/service/RandomDataGenerator.java new file mode 100644 index 0000000..be5c346 --- /dev/null +++ b/omd-checkout-service/src/main/java/com/nisum/omd/service/RandomDataGenerator.java @@ -0,0 +1,11 @@ +package com.nisum.omd.service; + +import com.nisum.omd.domain.LineItem; + +public interface RandomDataGenerator { + + String generateOrderNumber(); + String generateCustomerId(); + LineItem genetateLineItem(LineItem li); + +} diff --git a/omd-checkout-service/src/main/java/com/nisum/omd/service/RandomDataGeneratorImpl.java b/omd-checkout-service/src/main/java/com/nisum/omd/service/RandomDataGeneratorImpl.java new file mode 100644 index 0000000..702faf5 --- /dev/null +++ b/omd-checkout-service/src/main/java/com/nisum/omd/service/RandomDataGeneratorImpl.java @@ -0,0 +1,65 @@ +package com.nisum.omd.service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Random; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; + +import com.github.javafaker.Faker; +import com.nisum.omd.domain.LineItem; +import com.nisum.omd.domain.Order; + + +@Component +@RequestMapping("app") +public class RandomDataGeneratorImpl implements RandomDataGenerator { + + @Autowired + Order order; + + + Faker fk = new Faker(); + + public String generateOrderNumber() { + // TODO Auto-generated method stub + return String.valueOf(fk.number().numberBetween(1000000, 9999999)); + } + + @Override + public String generateCustomerId() { + // TODO Auto-generated method stub + return String.valueOf(fk.number().numberBetween(1, 1000)); + } + + @GetMapping("/orderDate") + public String getOrderDate() + { + return order.getOrderDate(); + } + + + @Override + public LineItem genetateLineItem(LineItem li) { + List<String> productname = new ArrayList<String>(); + + productname.add("Easy Heavyweight T-Shirt"); + productname.add("Classic stripe T-Shirt"); + productname.add("Icon denim jacket"); + productname.add("Graphic crewneck T-Shirt"); + productname.add("Classic V T-Shirt"); + + Random rand = new Random(); + int randomIndex = rand.nextInt(productname.size()); + String randomElement = productname.get(randomIndex); + li.setProductName(randomElement); + + return li; + } + + + +} diff --git a/omd-checkout-service/src/main/resources/application.properties b/omd-checkout-service/src/main/resources/application.properties index 8b13789..6b7dcc1 100644 --- a/omd-checkout-service/src/main/resources/application.properties +++ b/omd-checkout-service/src/main/resources/application.properties @@ -1 +1,71 @@ - +app.orderDate=2020-04-26T13:33:15.657-05:00 +app.currency=INR +app.shipMethod=1 +app.customerType=01 +app.promotionDesc=Electronic Items Ship Free +app.promotionApplied=false +app.awardId=1000 +app.awardAmt=0.00 +app.gift=false +app.promotions.promotionDetails.promotionDesc=Electronic Items Ship Free +app.promotions.promotionDetails.promotionApplied=false +app.promotions.promotionDetails.awards.awardId=1000 +app.promotions.promotionDetails.awards.awardAmt=0.00 +app.lineItem.lineItemNumber=5475 +app.lineItem.skuNumber=22222222 +app.lineItem.itemColorDesc=White +app.lineItem.size=6 +app.lineItem.orderedQty=2 +app.lineItem.itemType=7 +app.lineItem.shipChrgApplInd=true +app.lineItem.estimatedShipDate=2020-04-26T00:00:00-05:00 +app.lineItem.linePriceInfo.listPrice=29.50 +app.lineItem.linePriceInfo.retailPrice=29.50 +app.lineItem.linePriceInfo.unitPrice=20.00 +app.lineItem.linePriceInfo.linePriceType=03 +app.lineItem.lineTax.chargeCategory=Price +app.lineItem.lineTax.chargeName=Price +app.lineItem.lineTax.taxName=SalesTax +app.lineItem.lineTax.tax=3.40 +app.lineItem.lineTax.taxPercentage=8.50 +app.lineItem.lineTax.taxCode=C1 +app.lineItem.lineTax.unitTaxAmount=1.70 +app.shippingInfo.vaildShipTo=true +app.shippingInfo.maxDaysToDeliver=9 +app.shippingInfo.minDaysToDeliver=6 +app.shipTo.firstName=Narendra +app.shipTo.lastName=Modi +app.shipTo.addressLine1=2 Folsom St +app.shipTo.city=Delhi +app.shipTo.state=DL +app.shipTo.zipCode=110001 +app.shipTo.country=IN +app.shipTo.mobile=9988776655 +app.shipTo.eMailID=modi@india.com +app.shipTo.residentialAddr=false +app.billingTo.firstName=Narendra +app.billingTo.lastName=Modi +app.billingTo.addressLine1=2 Folsom St +app.billingTo.city=Delhi +app.billingTo.state=DL +app.billingTo.zipCode=110001 +app.billingTo.country=IN +app.billingTo.mobile=9988776655 +app.billingTo.eMailID=modi@india.com +app.billingTo.residentialAddr=false +app.orderCharges.ChargeAmount=10.00 +app.orderCharges.ChargeCategory=Ship +app.orderCharges.ChargeName=Ship +app.orderTaxes.ChargeCategory=Shipping +app.orderTaxes.TaxName=GST +app.orderTaxes.Tax=0.00 +app.orderTaxes.taxCode=C1 +app.orderTaxes.TaxPercentage=12 +app.paymentMethod.paymentMethod=CC +app.paymentMethod.creditCardNo=12345678987665 +app.paymentMethod.creditCardType=VISA +app.paymentMethod.displayCreditCardNo=8277 +app.paymentMethod.paymentStatus=AUTH +app.paymentMethod.paymentDetail.TransactionId=021361475199 +app.paymentMethod.paymentDetail.ProcessedAmount=1000.00 +app.paymentMethod.paymentDetail.RequestAmount=1000.00 -- 2.18.1