in sources/coffeeshop/coffee-sls/src/main/java/solid/humank/coffeeshop/cofee/sls/orders/OrderCreatedHandler.java [32:58]
public void handleRequest(InputStream inputStream, OutputStream outputStream, Context context) throws IOException {
MakeCoffeeSvc service =
new MakeCoffeeSvc(new CoffeeRepository(), new ConfirmInventorySvc(), new CoffeeItemsTranslator());
DomainModelMapper mapper = new DomainModelMapper();
OrderCreated orderCreated = mapper.readValue(inputStream, OrderCreated.class);
logger.info(orderCreated.getVersion());
logger.info(orderCreated.getId());
logger.info(orderCreated.getDetailType());
logger.info(orderCreated.getSource());
logger.info(orderCreated.getAccount());
logger.info(orderCreated.getTime());
logger.info(orderCreated.getRegion());
logger.info(orderCreated.getResources().toString());
logger.info(orderCreated.getDetail().getTableNo());
logger.info(orderCreated.getDetail().getEventId());
logger.info(String.valueOf(orderCreated.getDetail().getOrderItems().size()));
logger.info(orderCreated.getDetail().getEntityId().toString());
//TODO : 調用咖啡師的服務, 參照需求文檔找製作美式咖啡的需求
MakeCoffeeMsg cmd = new MakeCoffeeMsg(orderCreated.getDetail().getTableNo(), transformToCoffeeItemVM(orderCreated));
service.make(cmd);
context.getLogger().log("Coffee made...");
outputStream.write("{\"status\":\"Coffee made!\"}".getBytes());
}