Управление весенней загрузкой - PullRequest
0 голосов
/ 15 марта 2019

Я разрабатываю приложение для корзины покупок с spring-boot.i есть Cart, CartItem, Product сущностей. Я написал такой код для добавления cartItem в корзину

public String addToCart(@PathVariable Long productId, Authentication authentication, HttpSession session)
{
    Product product = productService.findById(productId);
    Cart cart;
    List<CartItem> cartItems;
    CartItem cartItem;
    Optional<Authentication> auth = Optional.ofNullable(authentication);
    if (auth.isPresent()){
        cart = ((CustomPrincipal) authentication.getPrincipal()).getUser().getCart();
        cartItems = cart.getCartItems();
        cartItem = cartService.addCartItem(cart,cartItems,product);
        cartItemService.Save(cartItem);
        cart.setTotalPrice(cartService.getTotalPrice(cart));
        cartService.Save(cart);
    }else{
        cart = session.getAttribute("cart") == null ? new Cart()
                : (Cart)session.getAttribute("cart");
        cartItems = cart.getCartItems();
        cartItem = cartService.addCartItem(cart,cartItems,product);
        if (!cart.getCartItems().contains(cartItem)) cart.addItem(cartItem);
        cart.setTotalPrice(cartService.getTotalPrice(cart));
    }
    session.setAttribute("cart",cart);
    session.setAttribute("cartItemsQuantity",cartItemService.sumQuantity(cartItems));
    return "redirect:/magaza";
}

И мой дисплей Код корзины

Optional<Authentication> auth = Optional.ofNullable(authentication);
    Cart cart;
    if (auth.isPresent()){
        cart = ((CustomPrincipal) authentication.getPrincipal()).getUser().getCart();
    }else{
        cart = session.getAttribute("cart") == null ? new Cart()
                : (Cart)session.getAttribute("cart");
    }
    model.addAttribute("cart",cart);
    return "cart";

Как видите, я проверяю аутентификацию в обоих методах. Есть ли в Spring фильтр или обработчик для установки сеанса

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...