猿创征文|瑞吉外卖——移动端_购物车
个人名片:
博主:酒徒ᝰ.
专栏:瑞吉外卖
个人简介:沉醉在酒中,借着一股酒劲,去拼搏一个未来。
本篇励志:一份耕耘,一份收获。眼要看远,脚要近迈。在强者的眼中,没有最好,只有更好。向竞争挑战,向压力挑战,更要向自己挑战时间就是一切。
本项目基于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);
}
猿创征文|瑞吉外卖——移动端_购物车相关推荐
- 猿创征文|瑞吉外卖——移动端_邮箱验证码登录
个人名片: 博主:酒徒ᝰ. 专栏:瑞吉外卖 个人简介:沉醉在酒中,借着一股酒劲,去拼搏一个未来. 本篇励志:如果决意去做一件事了就不要再问自己和别人值不值得. 本项目基于B站黑马程序员Java项目实战 ...
- 猿创征文|瑞吉外卖——移动端_订单明细
个人名片: 博主:酒徒ᝰ. 专栏:瑞吉外卖 个人简介:沉醉在酒中,借着一股酒劲,去拼搏一个未来. 本篇励志:一些伤口之所以总会痛,那是因为你总是去摸.有一种女人像贝壳一样,外面很硬,内在其实很软.心里 ...
- 猿创征文|瑞吉外卖——管理端_订单明细
个人名片: 博主:酒徒ᝰ. 专栏:瑞吉外卖 个人简介:沉醉在酒中,借着一股酒劲,去拼搏一个未来. 本篇励志:一个人静静坐在电脑面前写代码的感觉,那是什么感觉?那是武林高手闭关修炼的感觉. 本项目基于B ...
- 猿创征文|瑞吉外卖——管理端_菜品管理_1
个人名片: 博主:酒徒ᝰ. 专栏:瑞吉外卖 个人简介:沉醉在酒中,借着一股酒劲,去拼搏一个未来. 本篇励志:真正的程序员不看参考手册,新手和胆小鬼才会看. 本项目基于B站黑马程序员Java项目实战&l ...
- 猿创征文|瑞吉外卖——移动端_地址管理
个人名片: 博主:酒徒ᝰ. 专栏:瑞吉外卖 个人简介:沉醉在酒中,借着一股酒劲,去拼搏一个未来. 本篇励志:人会想很多事,而且多半是痛苦的,时光如水,我们无法阻止岁月的脚步,很多人,逐渐淡出了我们的视 ...
- 瑞吉外卖-移动端菜品展示功能,购物车添加菜品及修改等功能,用户下单功能及历史订单派送功能
整理记录下学习整个瑞吉外卖项目,详细代码可在我的Gitee仓库瑞吉外卖实战克隆下载学习使用! 12.菜品展示 12.1 需求分析 12.2 更改前台页面使其正常显示 由于购物车功能还未进行开发,所以修 ...
- 黑马瑞吉外卖用户端顾客手机端页面展示
八.顾客手机端页面展示 0.地址管理 需求分析: 一个用户可以有多个地址 一个用户只能设置一个默认地址 设置默认地址时,先将该用户下所有的地址都设置为不默认.再设置默认地址. 将AdressBook相 ...
- 瑞吉外卖之移动端菜品数据的展示
瑞吉外卖之移动端菜品数据的展示 界面分析 界面分析 上篇我们主要完成了了瑞吉外卖移动端界面登录的功能.完成界面登录自然要进入主界面. 我们和前面的登录界面进行衔接上. 于是我们跳转到这个界面,也就是我 ...
- 项目-瑞吉外卖(1)
项目-瑞吉外卖 基本要求 1.介绍 开发流程 角色分工 软件环境 开发环境,测试环境,生产环境 2.项目介绍 3.开发环境搭建 1.数据库环境搭建 创建数据库 导入表结构,运行外部SQL文件 /* N ...
最新文章
- Your First Concordion.Net Project (Part 5)-Running Specs with Gallio
- unordered_map源码解析和个人理解
- 在Python中为什么切片要忽略最后一个元素?
- diy nas配置推荐2019_在Windows Server 2019上配置NAS的方法
- WordPress的用户系统总结
- 数据库系统原理(第三章数据库设计 )
- System verilog随机系统函数$randomize使用方法
- IPhone之NSXMLParser的使用
- 200多家厂商的OT设备受14个漏洞影响
- hadoop 2.6 伪分布式的安装
- POSIX和CMSIS接口
- 特殊IP地址分类:私有地址、保留地址
- 九章云极DataCanvas公司荣获机器之心三大奖项,助力产业数智化升级
- 监测 Windows 应用行为
- 树莓派驱动数码管c 语言,用树莓派驱动八段数码管实现倒计时
- Mac新手使用技巧——Mac如何强制关机
- 黑马程序员---其他对象
- FT6206在STM32上的调试记录
- Scrapy抓站:大批量下载360指定专题下的照片并保存到sql和本地文件夹下
- 学术圈很火的 超材料、超表面、超透镜:什么时候可以代替传统透镜?