Commit cf7ec32e authored by Ramakanth Dhane's avatar Ramakanth Dhane

Merge branch 'master' into 'master'

Rest API for Order start/stop

See merge request !11
parents e1720051 b525d0c5
......@@ -2,19 +2,23 @@ package com.nisum.omd;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.concurrent.CompletableFuture;
import com.nisum.omd.service.OmdProducerService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import com.nisum.omd.domain.Order;
import com.nisum.omd.service.OmdProducerService;
import com.nisum.omd.service.RandomDataGeneratorImpl;
@Component
@RestController
public class OrderGenerator implements CommandLineRunner{
@Autowired
......@@ -25,7 +29,7 @@ public class OrderGenerator implements CommandLineRunner{
@Autowired
OmdProducerService omdProducerService;
Boolean orderGenerateFlag = true;
Boolean orderGenerateFlag = false;
public Boolean getOrderGenerateFlag() {
return orderGenerateFlag;
......@@ -34,26 +38,51 @@ public class OrderGenerator implements CommandLineRunner{
public void setOrderGenerateFlag(Boolean orderGenerateFlag) {
this.orderGenerateFlag = orderGenerateFlag;
}
public void run(String... args) throws Exception {
while(true) {
if (orderGenerateFlag) {
order=getObjectData(order);
omdProducerService.sendMessage(order);
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.registerModule(new JavaTimeModule());
objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
String jsonOrderStr = objectMapper.writeValueAsString(order);
System.out.println(jsonOrderStr);
Thread.sleep(2000);
}
while(orderGenerateFlag){
order=getObjectData(order);
omdProducerService.sendMessage(order);
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.registerModule(new JavaTimeModule());
objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
String jsonOrderStr = objectMapper.writeValueAsString(order);
System.out.println(jsonOrderStr);
}
}
@GetMapping(path="/orderStartStop")
public String orderStartStop() throws Exception{
if (orderGenerateFlag) {
CompletableFuture.runAsync(() -> {
try {
run();
} catch (Exception e) {
e.printStackTrace();
}
});
orderGenerateFlag = false;
}
else {
orderGenerateFlag = true;
}
return "Order Generate : " + orderGenerateFlag.toString();
}
public Order getObjectData(Order order2) {
LocalDateTime currentTime = LocalDateTime.now();
order.setOrderNum(rdg.generateOrderNumber());
order.setCustomerId(rdg.generateCustomerId());
LocalDateTime currentDateTime = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ISO_DATE_TIME;
String formattedDateTime = currentTime.format(formatter);
order.setOrderDate(formattedDateTime);
......
package com.nisum.omd.domain;
import java.time.LocalDateTime;
import java.util.Map;
import org.springframework.stereotype.Component;
......
package com.nisum.omd.domain;
import java.time.LocalDateTime;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
......
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