Create order with promotion impl first revision

Use BigDecimal instead of float to represent Money.