Commit 0b7036cb authored by Ramakanth Dhane's avatar Ramakanth Dhane

OMD-04 - Generate random orders-Bug Fixes

parent f9e52cdd
...@@ -22,14 +22,13 @@ import com.nisum.omd.service.RandomDataGeneratorImpl; ...@@ -22,14 +22,13 @@ import com.nisum.omd.service.RandomDataGeneratorImpl;
public class OrderGenerator implements CommandLineRunner{ public class OrderGenerator implements CommandLineRunner{
@Autowired @Autowired
RandomDataGeneratorImpl rdg; private RandomDataGeneratorImpl rdg;
@Autowired @Autowired
Order order; private Order order;
@Autowired @Autowired
OmdProducerService omdProducerService; private OmdProducerService omdProducerService;
Boolean orderGenerateFlag = false; private Boolean orderGenerateFlag = false;
public Boolean getOrderGenerateFlag() { public Boolean getOrderGenerateFlag() {
return orderGenerateFlag; return orderGenerateFlag;
...@@ -42,7 +41,7 @@ public class OrderGenerator implements CommandLineRunner{ ...@@ -42,7 +41,7 @@ public class OrderGenerator implements CommandLineRunner{
public void run(String... args) throws Exception { public void run(String... args) throws Exception {
while(true) { while(true) {
if (orderGenerateFlag) { if (orderGenerateFlag) {
order=getObjectData(order); order = getObjectData(order);
omdProducerService.sendMessage(order); omdProducerService.sendMessage(order);
ObjectMapper objectMapper = new ObjectMapper(); ObjectMapper objectMapper = new ObjectMapper();
objectMapper.registerModule(new JavaTimeModule()); objectMapper.registerModule(new JavaTimeModule());
...@@ -51,13 +50,10 @@ public class OrderGenerator implements CommandLineRunner{ ...@@ -51,13 +50,10 @@ public class OrderGenerator implements CommandLineRunner{
System.out.println(jsonOrderStr); System.out.println(jsonOrderStr);
Thread.sleep(2000); Thread.sleep(2000);
} }
} }
} }
@GetMapping(path="/orderStartStop")
@GetMapping(path="/orderStartStop") public String orderStartStop() throws Exception{
public String orderStartStop() throws Exception{
if (orderGenerateFlag) { if (orderGenerateFlag) {
CompletableFuture.runAsync(() -> { CompletableFuture.runAsync(() -> {
try { try {
...@@ -67,19 +63,14 @@ public class OrderGenerator implements CommandLineRunner{ ...@@ -67,19 +63,14 @@ public class OrderGenerator implements CommandLineRunner{
} }
}); });
orderGenerateFlag = false; orderGenerateFlag = false;
} }
else { else {
orderGenerateFlag = true; orderGenerateFlag = true;
} }
return "Order Generate : " + orderGenerateFlag.toString(); return "Order Generate : " + orderGenerateFlag.toString();
} }
public Order getObjectData(Order order2) { private Order getObjectData(Order orders) {
LocalDateTime currentTime = LocalDateTime.now(); LocalDateTime currentTime = LocalDateTime.now();
order.setOrderNum(rdg.generateOrderNumber()); order.setOrderNum(rdg.generateOrderNumber());
order.setCustomerId(rdg.generateCustomerId()); order.setCustomerId(rdg.generateCustomerId());
......
...@@ -20,7 +20,7 @@ public class OmdProducerService { ...@@ -20,7 +20,7 @@ public class OmdProducerService {
@Value("${topic-name}") @Value("${topic-name}")
private String topic; private String topic;
Logger logger = LoggerFactory.getLogger(OmdProducerService.class); private Logger logger = LoggerFactory.getLogger(OmdProducerService.class);
public void sendMessage(Order order) { public void sendMessage(Order order) {
ListenableFuture<SendResult<String, Order>> future = ListenableFuture<SendResult<String, Order>> future =
......
...@@ -4,8 +4,8 @@ import com.nisum.omd.domain.LineItem; ...@@ -4,8 +4,8 @@ import com.nisum.omd.domain.LineItem;
public interface RandomDataGenerator { public interface RandomDataGenerator {
String generateOrderNumber(); public String generateOrderNumber();
String generateCustomerId(); public String generateCustomerId();
LineItem genetateLineItem(LineItem li); public LineItem genetateLineItem(LineItem li);
} }
...@@ -18,40 +18,33 @@ import com.nisum.omd.domain.Order; ...@@ -18,40 +18,33 @@ import com.nisum.omd.domain.Order;
public class RandomDataGeneratorImpl implements RandomDataGenerator { public class RandomDataGeneratorImpl implements RandomDataGenerator {
@Autowired @Autowired
Order order; private Order order;
private Faker faker = new Faker();
Faker fk = new Faker();
public String generateOrderNumber() { public String generateOrderNumber() {
// TODO Auto-generated method stub return String.valueOf(faker.number().numberBetween(1000000, 9999999));
return String.valueOf(fk.number().numberBetween(1000000, 9999999));
} }
@Override @Override
public String generateCustomerId() { public String generateCustomerId() {
// TODO Auto-generated method stub return String.valueOf(faker.number().numberBetween(1, 1000));
return String.valueOf(fk.number().numberBetween(1, 1000));
} }
@Override @Override
public LineItem genetateLineItem(LineItem li) { public LineItem genetateLineItem(LineItem lineItem) {
List<String> productname = new ArrayList<String>(); List<String> productNames = new ArrayList<String>();
productNames.add("Easy Heavyweight T-Shirt");
productname.add("Easy Heavyweight T-Shirt"); productNames.add("Classic stripe T-Shirt");
productname.add("Classic stripe T-Shirt"); productNames.add("Icon denim jacket");
productname.add("Icon denim jacket"); productNames.add("Graphic crewneck T-Shirt");
productname.add("Graphic crewneck T-Shirt"); productNames.add("Classic V T-Shirt");
productname.add("Classic V T-Shirt");
Random rand = new Random(); Random random = new Random();
int randomIndex = rand.nextInt(productname.size()); int randomIndex = random.nextInt(productNames.size());
String randomElement = productname.get(randomIndex); String randomElement = productNames.get(randomIndex);
li.setProductName(randomElement); lineItem.setProductName(randomElement);
li.setEstimatedShipDate(order.getOrderDate()+5); lineItem.setEstimatedShipDate(order.getOrderDate()+5);
return li; return lineItem;
} }
} }
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