in src/checkoutservice/checkoutservice-provider/src/main/java/com/alibabacloud/hipstershop/checkoutservice/service/CheckoutServiceImpl.java [47:105]
public String checkout(String email, String streetAddress, String zipCode, String city, String state, String country,
String creditCardNumber, int creditCardExpirationMonth, String creditCardCvv, String userId) {
Order order = null;
// try {
//生成uuid
UUID uuid = UUID.randomUUID();
order = new Order();
order.setOrderId(uuid.toString());
order.setUserId(userId);
//获取购物车商品
List<CartItem> items = cartDao.cleanCartItems(userId);
List<ProductItem> productItems = new ArrayList<>();
for (CartItem item : items) {
productItems.add(new ProductItem(item.getProductID(), item.getQuantity(), order.getOrderId()));
}
//校验库存
List<ProductItem> lockedProductItems = productDao.confirmInventory(productItems);
//保存商品列表
order.setProductItemList(productItems);
int lockedProductNum = 0;
for (ProductItem item : lockedProductItems) {
if (item.isLock()) {
lockedProductNum++;
}
}
if (lockedProductNum > 0) {
//状态为1表示至少有一件商品购买成功。
order.setStatus(1);
//计算价格
//校验、保存地址
//生成订单,支付
//运输商品
} else {
//状态为2表示所有商品都购买失败。
order.setStatus(-1);
//临时模拟
order.setShipId(null);
order.setProductCost(0.0);
order.setShipCost(0.0);
order.setTotalCost(0.0);
}
// } catch (Exception e){
// e.printStackTrace();
// return "";
// }
orderFormRepository.save(new OrderForm(order));
return order.getOrderId();
}