@Transactional public Order getOrder(int orderId) { Order order = orderMapper.getOrder(orderId); order.setLineItems(lineItemMapper.getLineItemsByOrderId(orderId)); for (int i = 0; i < order.getLineItems().size(); i++) { LineItem lineItem = (LineItem) order.getLineItems().get(i); Item item = itemMapper.getItem(lineItem.getItemId()); item.setQuantity(itemMapper.getInventoryQuantity(lineItem.getItemId())); lineItem.setItem(item); } return order; }
@Transactional public void insertOrder(Order order) { for (int i = 0; i < order.getLineItems().size(); i++) { LineItem lineItem = (LineItem) order.getLineItems().get(i); String itemId = lineItem.getItemId(); Integer increment = new Integer(lineItem.getQuantity()); Map<String, Object> param = new HashMap<String, Object>(2); param.put("itemId", itemId); param.put("increment", increment); itemMapper.updateInventoryQuantity(param); } orderMapper.insertOrder(order); orderMapper.insertOrderStatus(order); for (int i = 0; i < order.getLineItems().size(); i++) { LineItem lineItem = (LineItem) order.getLineItems().get(i); lineItem.setOrderId(order.getOrderId()); lineItemMapper.insertLineItem(lineItem); } }