1.实现思路

产品原型:

接口设计:

2.实现代码

ShoppingCartController.java代码:

/**
     * 删除购物车中一个商品
     * @param shoppingCartDTO
     * @return
     */
    @PostMapping("/sub")
    public Result sub(@RequestBody ShoppingCartDTO shoppingCartDTO){
        log.info("删除购物车中一个商品,商品:{}",shoppingCartDTO);
        shoppingCartService.subShoppingCart(shoppingCartDTO);
        return Result.success();
    }

ShoppingCartService.java代码:

/**
     * 删除购物车中一个商品
     * @param shoppingCartDTO
     */
    void subShoppingCart(ShoppingCartDTO shoppingCartDTO);

ShoppingCartServiceImpl.java代码:

/**
     * 删除购物车中一个商品
     * @param shoppingCartDTO
     */
    @Override
    public void subShoppingCart(ShoppingCartDTO shoppingCartDTO) {
        ShoppingCart shoppingCart = new ShoppingCart();
        BeanUtils.copyProperties(shoppingCartDTO,shoppingCart);
        shoppingCart.setUserId(BaseContext.getCurrentId());//获取当前用户的id
        List<ShoppingCart> list = shoppingCartMapper.list(shoppingCart);//根据商品描述查询出商品出来
        if (list != null && list.size() > 0){//判断集合不为空
            shoppingCart = list.get(0);
            if(shoppingCart.getNumber() == 1 ){//如果商品数量就是1,那就直接删除商品
                shoppingCartMapper.deleteById(shoppingCart.getId());
            }else {//如果商品数量不是1,那就将商品数量减1
                shoppingCart.setNumber(shoppingCart.getNumber() - 1);
                shoppingCartMapper.updateNumberById(shoppingCart);
            }
        }
    }

ShoppingCartMapper.java代码:

/**
     * 根据id删除购物车数据
     * @param id
     */
    @Delete("DELETE FROM shopping_cart WHERE id = #{id}")
    void deleteById(Long id);

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐