个人名片:

博主:酒徒ᝰ.
专栏:瑞吉外卖
个人简介:沉醉在酒中,借着一股酒劲,去拼搏一个未来。
本篇励志:一份耕耘,一份收获。眼要看远,脚要近迈。在强者的眼中,没有最好,只有更好。向竞争挑战,向压力挑战,更要向自己挑战时间就是一切。

本项目基于B站黑马程序员Java项目实战《瑞吉外卖》,轻松掌握springboot + mybatis plus开发核心技术的真java实战项目。

视频链接【黑马程序员Java项目实战《瑞吉外卖》,轻松掌握springboot + mybatis
plus开发核心技术的真java实战项目】 https://www.bilibili.com/video/BV13a411q753?
点击观看

目录

  • 1.显示购物车
  • 2.加入购物车
  • 3.清空购物车
  • 4.购物车内减少菜品或套餐

1.显示购物车

在手机端显示中已经完成。、

2.加入购物车

分析:shoppingCart地址,POST方式,add地址

/*** 添加菜品或套餐* @param shoppingCart* @param session* @return*/
@PostMapping("/add")
public R<ShoppingCart> add(@RequestBody ShoppingCart shoppingCart, HttpSession session){//log.info("shoppingCart:{}", shoppingCart);//shoppingCart:ShoppingCart(id=null, name=邵阳猪血丸子, image=2a50628e-7758-4c51-9fbb-d37c61cdacad.jpg, userId=null, dishId=1397851370462687234, setmealId=null, dishFlavor=多冰,不要葱,不辣, number=null, amount=138, createTime=null)//设置用户idshoppingCart.setUserId((Long) session.getAttribute("user"));//设置该购物车创建时间shoppingCart.setCreateTime(LocalDateTime.now());//需要判断菜品或套餐是否在购物车里//1.区分添加的是菜品还是套餐LambdaQueryWrapper<ShoppingCart> queryWrapper = new LambdaQueryWrapper<>();Long dishId = shoppingCart.getDishId();if (dishId != null){//菜品queryWrapper.eq(ShoppingCart::getDishId, dishId);}else {//套餐queryWrapper.eq(ShoppingCart::getSetmealId, shoppingCart.getSetmealId());}//2.查看购物车内该菜品或套餐是否为空ShoppingCart shopping = shoppingCartService.getOne(queryWrapper);if (shopping == null){shoppingCart.setNumber(1);shoppingCartService.save(shoppingCart);shopping = shoppingCart;}else {shopping.setNumber(shopping.getNumber() + 1);shoppingCartService.updateById(shopping);}return R.success(shopping);
}

3.清空购物车

分析:shoppingCart地址,DELETE方式,clean地址

/*** 清空购物车* @param session* @return*/
@DeleteMapping("/clean")
public R<String> clean(HttpSession session){//根据用户id清空购物车LambdaQueryWrapper<ShoppingCart> queryWrapper = new LambdaQueryWrapper<>();queryWrapper.eq(ShoppingCart::getUserId, (Long)session.getAttribute("user"));shoppingCartService.remove(queryWrapper);return R.success("清空购物车成功");
}

4.购物车内减少菜品或套餐

分析:shoppingCart地址,POST方式,sub地址
这里与添加菜品与套餐类似,直接复制过来进行简单修改即可。注意购物车内菜品或套餐数量一旦为0,直接删除该菜品或套餐。

/*** 减少菜品或套餐* @param shoppingCart* @param session* @return*/
@PostMapping("/sub")
public R<ShoppingCart> sub(@RequestBody ShoppingCart shoppingCart, HttpSession session){//log.info("shoppingCart:{}", shoppingCart);//shoppingCart:ShoppingCart(id=null, name=邵阳猪血丸子, image=2a50628e-7758-4c51-9fbb-d37c61cdacad.jpg, userId=null, dishId=1397851370462687234, setmealId=null, dishFlavor=多冰,不要葱,不辣, number=null, amount=138, createTime=null)//需要判断菜品或套餐是否在购物车里//1.区分减少的是菜品还是套餐LambdaQueryWrapper<ShoppingCart> queryWrapper = new LambdaQueryWrapper<>();Long dishId = shoppingCart.getDishId();if (dishId != null){//菜品queryWrapper.eq(ShoppingCart::getDishId, dishId);}else {//套餐queryWrapper.eq(ShoppingCart::getSetmealId, shoppingCart.getSetmealId());}//2.查看购物车内该菜品或套餐数量是否大于等于1ShoppingCart shopping = shoppingCartService.getOne(queryWrapper);if (shopping.getNumber() > 1){shopping.setNumber(shopping.getNumber() - 1);shoppingCartService.updateById(shopping);}else if (shopping.getNumber() == 1){shopping.setNumber(shopping.getNumber() - 1);shoppingCartService.removeById(shopping);}return R.success(shopping);
}

猿创征文|瑞吉外卖——移动端_购物车相关推荐

  1. 猿创征文|瑞吉外卖——移动端_邮箱验证码登录

    个人名片: 博主:酒徒ᝰ. 专栏:瑞吉外卖 个人简介:沉醉在酒中,借着一股酒劲,去拼搏一个未来. 本篇励志:如果决意去做一件事了就不要再问自己和别人值不值得. 本项目基于B站黑马程序员Java项目实战 ...

  2. 猿创征文|瑞吉外卖——移动端_订单明细

    个人名片: 博主:酒徒ᝰ. 专栏:瑞吉外卖 个人简介:沉醉在酒中,借着一股酒劲,去拼搏一个未来. 本篇励志:一些伤口之所以总会痛,那是因为你总是去摸.有一种女人像贝壳一样,外面很硬,内在其实很软.心里 ...

  3. 猿创征文|瑞吉外卖——管理端_订单明细

    个人名片: 博主:酒徒ᝰ. 专栏:瑞吉外卖 个人简介:沉醉在酒中,借着一股酒劲,去拼搏一个未来. 本篇励志:一个人静静坐在电脑面前写代码的感觉,那是什么感觉?那是武林高手闭关修炼的感觉. 本项目基于B ...

  4. 猿创征文|瑞吉外卖——管理端_菜品管理_1

    个人名片: 博主:酒徒ᝰ. 专栏:瑞吉外卖 个人简介:沉醉在酒中,借着一股酒劲,去拼搏一个未来. 本篇励志:真正的程序员不看参考手册,新手和胆小鬼才会看. 本项目基于B站黑马程序员Java项目实战&l ...

  5. 猿创征文|瑞吉外卖——移动端_地址管理

    个人名片: 博主:酒徒ᝰ. 专栏:瑞吉外卖 个人简介:沉醉在酒中,借着一股酒劲,去拼搏一个未来. 本篇励志:人会想很多事,而且多半是痛苦的,时光如水,我们无法阻止岁月的脚步,很多人,逐渐淡出了我们的视 ...

  6. 瑞吉外卖-移动端菜品展示功能,购物车添加菜品及修改等功能,用户下单功能及历史订单派送功能

    整理记录下学习整个瑞吉外卖项目,详细代码可在我的Gitee仓库瑞吉外卖实战克隆下载学习使用! 12.菜品展示 12.1 需求分析 12.2 更改前台页面使其正常显示 由于购物车功能还未进行开发,所以修 ...

  7. 黑马瑞吉外卖用户端顾客手机端页面展示

    八.顾客手机端页面展示 0.地址管理 需求分析: 一个用户可以有多个地址 一个用户只能设置一个默认地址 设置默认地址时,先将该用户下所有的地址都设置为不默认.再设置默认地址. 将AdressBook相 ...

  8. 瑞吉外卖之移动端菜品数据的展示

    瑞吉外卖之移动端菜品数据的展示 界面分析 界面分析 上篇我们主要完成了了瑞吉外卖移动端界面登录的功能.完成界面登录自然要进入主界面. 我们和前面的登录界面进行衔接上. 于是我们跳转到这个界面,也就是我 ...

  9. 项目-瑞吉外卖(1)

    项目-瑞吉外卖 基本要求 1.介绍 开发流程 角色分工 软件环境 开发环境,测试环境,生产环境 2.项目介绍 3.开发环境搭建 1.数据库环境搭建 创建数据库 导入表结构,运行外部SQL文件 /* N ...

最新文章

  1. Your First Concordion.Net Project (Part 5)-Running Specs with Gallio
  2. unordered_map源码解析和个人理解
  3. 在Python中为什么切片要忽略最后一个元素?
  4. diy nas配置推荐2019_在Windows Server 2019上配置NAS的方法
  5. WordPress的用户系统总结
  6. 数据库系统原理(第三章数据库设计 )
  7. System verilog随机系统函数$randomize使用方法
  8. IPhone之NSXMLParser的使用
  9. 200多家厂商的OT设备受14个漏洞影响
  10. hadoop 2.6 伪分布式的安装
  11. POSIX和CMSIS接口
  12. 特殊IP地址分类:私有地址、保留地址
  13. 九章云极DataCanvas公司荣获机器之心三大奖项,助力产业数智化升级
  14. 监测 Windows 应用行为
  15. 树莓派驱动数码管c 语言,用树莓派驱动八段数码管实现倒计时
  16. Mac新手使用技巧——Mac如何强制关机
  17. 黑马程序员---其他对象
  18. FT6206在STM32上的调试记录
  19. Scrapy抓站:大批量下载360指定专题下的照片并保存到sql和本地文件夹下
  20. 学术圈很火的 超材料、超表面、超透镜:什么时候可以代替传统透镜?

热门文章

  1. 在网上打印平台打印一份400页的文件多少钱?
  2. python中统计函数_python中count函数知识点浅析
  3. 手机octave编程matlab,octave或matlab实操指令学习
  4. nodejs base64 编码解码
  5. 新能源汽车冷却系统(水冷/液冷电池包)测试
  6. C# 获取应用程序exe的AssemblyInfo.cs文件信息
  7. 360wifi真机测试
  8. 信念不息,希望不灭。(中英文对照)
  9. python字符串格式化深入详解(四种方法)
  10. 伯乐在线优秀翻译博客