完整资料下载
通过网盘分享的文件:苍穹外卖
链接:

https://pan.baidu.com/s/1JJaFOodXOF_lNJSUiZ6qtw?pwd=ps2t

提取码: ps2t


目录

删减购物车商品数量

(1)需求分析和设计

(2)代码开发

1、user/ShoppingCartController

2、ShoppingCartService

3、ShoppingCartServiceImpl

4、ShoppingCartMapper

(3)功能测试


删减购物车商品数量

(1)需求分析和设计

(2)代码开发

1、user/ShoppingCartController

位置:sky-server/src/main/java/com/sky/controller/user/ShoppingCartController.java

代码:

/**
 * 减少购物车商品
 * @param shoppingCartDTO
 * @return
 */
@PostMapping("/sub")
@ApiOperation("减少购物车商品数量")
public Result sub(@RequestBody ShoppingCartDTO shoppingCartDTO){
    log.info("减少购物车商品数量:商品为{}", shoppingCartDTO);
    shoppingCartService.deleteById(shoppingCartDTO);
    return Result.success();
}

示意图:

2、ShoppingCartService

位置:sky-server/src/main/java/com/sky/service/ShoppingCartService.java

代码:

/**
 * 根据id减少购物车商品数量
 * @param shoppingCartDTO
 */
void deleteById(ShoppingCartDTO shoppingCartDTO);

示意图:

3、ShoppingCartServiceImpl

位置:sky-server/src/main/java/com/sky/service/impl/ShoppingCartServiceImpl.java

代码:

/**
 * 根据id删除购物车商品数量
 * @param shoppingCartDTO
 */
public void deleteById(ShoppingCartDTO shoppingCartDTO) {
    //检查购物车商品是否存在
    ShoppingCart shoppingCart = new ShoppingCart();
    BeanUtils.copyProperties(shoppingCartDTO,shoppingCart);
 
    //获取用户id
    Long userId = BaseContext.getCurrentId();
    shoppingCart.setUserId(userId);
 
    //查询购物车商品是否存在
    List<ShoppingCart> list = shoppingCartMapper.list(shoppingCart);
 
    //如果购物车商品存在,则更新数据(商品数量-1)
    if(list != null && list.size() > 0){
        //如果商品数量大于1,则更新数量
        if(list.get(0).getNumber() > 1){
            ShoppingCart cart = list.get(0);//取出第一个商品,也是唯一的
            cart.setNumber(cart.getNumber() - 1);
            shoppingCartMapper.updateNumberByID(cart);
        }else{
            //如果商品数量等于1,则删除该商品
            shoppingCartMapper.deleteByPrimaryKey(list.get(0).getId());
        }
    }
}

示意图:

4、ShoppingCartMapper

位置:sky-server/src/main/java/com/sky/mapper/ShoppingCartMapper.java

代码:

/**
 * 根据购物车ID删除购物车数据
 * @param id
 */
@Delete("delete from shopping_cart where id = #{id}")
void deleteByPrimaryKey(Long id);

示意图:

(3)功能测试

在微信小程序端删减购物车,若数量减少,减到0商品消失则成功!

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐