public String checkout()

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();
    }