为了账号安全,请及时绑定邮箱和手机立即绑定

数量增加 2,而不是 1。弹簧靴

数量增加 2,而不是 1。弹簧靴

倚天杖 2023-03-09 17:16:13
我已经实现了一个功能,当你购买相同的产品时,购物车数量增加 1,但当我点击按钮时它增加 2 而不是 1@RequestMapping(value = "/add/{movieId}", method = RequestMethod.PUT)@ResponseStatus(value = HttpStatus.NO_CONTENT)public int addItem(@PathVariable(value = "movieId") int movieId,@AuthenticationPrincipal User activeUser){    Customer customer = customerService.getCustomerByUsername(activeUser.getUsername());    Cart cart = customer.getCart();    Movie movie = movieService.getMovieById(movieId);    List<CartItem> cartItems = cart.getCartItems();    for (CartItem item : cartItems) {        if(movie.getMovieId()==item.getMovie().getMovieId()){            CartItem cartItem = item;                      cartItem.setQuantity(cartItem.getQuantity()+1);            cartItem.setTotalPrice(movie.getMoviePrice()*cartItem.getQuantity());            cartItemService.addCartItem(cartItem);            return 0;        }    }    CartItem cartItem = new CartItem();    cartItem.setMovie(movie);    cartItem.setQuantity(1);    cartItem.setTotalPrice(movie.getMoviePrice()*cartItem.getQuantity());    cartItem.setCart(cart);    cartItemService.addCartItem(cartItem);    return 0;}角度部分$scope.addToCart = function (movieId){    $http.put("/rest/cart/add/"+movieId).success(function(){         alert("Movie successfully add to the cart");     });};按钮<button class="btn btn-rose btn-round" ng-controller="cartCtrl" ng-click="addToCart('${movie.movieId}')">Add to Cart &nbsp;<i class="material-icons">shopping_cart</i></button>
查看完整描述

1 回答

?
喵喵时光机

TA贡献1846条经验 获得超7个赞

因为for你试图找到具有相同 ID 的电影而不是增加它的数量,所以你为什么要运行cartItemService.addCartItem(cartItem)?您应该将其更改为更新实体,例如cartItemService.updateCartItem(cartItem).



查看完整回答
反对 回复 2023-03-09
  • 1 回答
  • 0 关注
  • 119 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信