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