猿创征文|瑞吉外卖——移动端_地址管理
个人名片:
博主:酒徒ᝰ.
专栏:瑞吉外卖
个人简介:沉醉在酒中,借着一股酒劲,去拼搏一个未来。
本篇励志:人会想很多事,而且多半是痛苦的,时光如水,我们无法阻止岁月的脚步,很多人,逐渐淡出了我们的视线,懂得了什么叫过客,很多事,已经不再属于我们的精彩,知道了这就叫过往。
本项目基于B站黑马程序员Java项目实战《瑞吉外卖》,轻松掌握springboot + mybatis plus开发核心技术的真java实战项目。
视频链接【黑马程序员Java项目实战《瑞吉外卖》,轻松掌握springboot + mybatis
plus开发核心技术的真java实战项目】 https://www.bilibili.com/video/BV13a411q753?
点击观看
目录
- 1.查询全部地址地址
- 2.添加收货地址
- 3.修改地址
- 1.页面回显
- 2.保存地址
- 4.删除地址
- 5.默认地址
- 1.设置默认地址
- 2.查询默认地址
1.查询全部地址地址
分析:addressBook地址,GET方式,list地址
package com.itheima.reggie.controller;import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.itheima.reggie.common.R;
import com.itheima.reggie.entity.AddressBook;
import com.itheima.reggie.service.IAddressBookService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;import javax.servlet.http.HttpSession;
import java.util.List;/*** <p>* 地址管理 前端控制器* </p>** @author 酒徒* @since 2022-09-04*/
@RestController
@RequestMapping("/addressBook")
public class AddressBookController {@Autowiredprivate IAddressBookService addressBookService;/*** 查询全部地址* @param session* @return*/@GetMapping("/list")public R<List<AddressBook>> list(HttpSession session){//根据用户id查询地址LambdaQueryWrapper<AddressBook> queryWrapper = new LambdaQueryWrapper<>();queryWrapper.eq(AddressBook::getUserId, session.getAttribute("user"));List<AddressBook> list = addressBookService.list(queryWrapper);return R.success(list);}
}
2.添加收货地址
分析:addressBook地址,POST方式
/*** 添加地址* @param addressBook* @param session* @return*/
@PostMapping
public R<String> addressBook(@RequestBody AddressBook addressBook, HttpSession session){log.info("addressBook:{}", addressBook);//addressBook:AddressBook(id=null, userId=null, consignee=长津湖, sex=1, phone=13565895624, provinceCode=null, provinceName=null, cityCode=null, cityName=null, districtCode=null, districtName=null, detail=11, label=公司, isDefault=null, createTime=null, updateTime=null, createUser=null, updateUser=null, isDeleted=null)addressBook.setUserId((Long)session.getAttribute("user"));//添加创建时间和修改时间addressBook.setCreateTime(LocalDateTime.now());addressBook.setUpdateTime(LocalDateTime.now());//添加创建人和修改人addressBook.setCreateUser((Long)session.getAttribute("user"));addressBook.setUpdateUser((Long)session.getAttribute("user"));addressBookService.save(addressBook);return R.success("添加地址成功");
}
3.修改地址
1.页面回显
分析:addressBook地址,GET方式,id地址
/*** 修改地址——回显数据* @param id* @return*/
@GetMapping("/{id}")
public R<AddressBook> huixian(@PathVariable Long id){//根据id查询地址信息LambdaQueryWrapper<AddressBook> queryWrapper = new LambdaQueryWrapper<>();queryWrapper.eq(AddressBook::getId, id);AddressBook addressBook = addressBookService.getOne(queryWrapper);return R.success(addressBook);
}
2.保存地址
分析:addressBook地址,PUT方式
/*** 修改地址——保存* @param addressBook* @param session* @return*/
@PutMapping
public R<String> addressBookupdate(@RequestBody AddressBook addressBook, HttpSession session){//设置修改时间addressBook.setUpdateTime(LocalDateTime.now());//设置修改人addressBook.setUpdateUser((Long)session.getAttribute("user"));addressBookService.updateById(addressBook);return R.success("修改成功");
}
4.删除地址
分析:addressBook地址,DELETE方式,ids属性
/*** 删除地址* @param ids* @param session* @return*/
@DeleteMapping()
public R<String> addressBook(@PathParam("ids") Long ids, HttpSession session){//通过ids删除地址LambdaQueryWrapper<AddressBook> queryWrapper = new LambdaQueryWrapper<>();queryWrapper.eq(AddressBook::getId, ids).eq(AddressBook::getUserId, (Long)session.getAttribute("user"));addressBookService.remove(queryWrapper);return R.success("删除成功");
}
5.默认地址
1.设置默认地址
从上图分析:addressBook地址,PUT方式,default地址
/*** 设置默认地址* @param addressBook* @param session* @return*/
@PutMapping("/default")
public R<String> defaultSet(@RequestBody AddressBook addressBook, HttpSession session){//查询需要修改的addressBook//log.info("addressBook:{}", addressBook);//session:AddressBook(id=1565637284313284610, userId=null, consignee=null, sex=null, phone=null, provinceCode=null, provinceName=null, cityCode=null, cityName=null, districtCode=null, districtName=null, detail=null, label=null, isDefault=0, createTime=null, updateTime=null, createUser=null, updateUser=null, isDeleted=null)//根据用户id查询所有addressBook信息,将其中的isDefault全部改为0;LambdaQueryWrapper<AddressBook> wrapper = new LambdaQueryWrapper<>();wrapper.eq(AddressBook::getUserId, session.getAttribute("user"));List<AddressBook> addressBooks = addressBookService.list();for (AddressBook address : addressBooks) {address.setIsDefault(0);addressBookService.updateById(address);}//根据id查询addressBook信息LambdaQueryWrapper<AddressBook> queryWrapper = new LambdaQueryWrapper<>();queryWrapper.eq(AddressBook::getId, addressBook.getId());AddressBook address = addressBookService.getOne(queryWrapper);log.info("address:{}", address);//address:AddressBook(id=1565637284313284610, userId=1, consignee=爱丽丝, sex=0, phone=18535004237, provinceCode=null, provinceName=null, cityCode=null, cityName=null, districtCode=null, districtName=null, detail=55, label=公司, isDefault=0, createTime=2022-09-02T17:46:31, updateTime=2022-09-08T19:15:07, createUser=1, updateUser=1, isDeleted=0)address.setIsDefault(1);addressBookService.updateById(address);return R.success("修改默认值成功");
}
2.查询默认地址
从上图分析:addressBook地址,GET方式,default地址
注意数据库addressBook中isDefault的类型,自动生产代码是Boolean类型,需要改为int类型
/*** 查询默认地址* @param session* @return*/
@GetMapping("/default")
public R<AddressBook> defaultAddress(HttpSession session){//查询addressBook中isDefault值 默认 0 否 1是LambdaQueryWrapper<AddressBook> queryWrapper = new LambdaQueryWrapper<>();queryWrapper.eq(AddressBook::getUserId, session.getAttribute("user")).eq(AddressBook::getIsDefault, 1);AddressBook addressBook = addressBookService.getOne(queryWrapper);log.info("addressBook:{}",addressBook);if (addressBook == null){return R.error("没有默认地址");}else {return R.success(addressBook);}
}
猿创征文|瑞吉外卖——移动端_地址管理相关推荐
- 猿创征文|瑞吉外卖——移动端_邮箱验证码登录
个人名片: 博主:酒徒ᝰ. 专栏:瑞吉外卖 个人简介:沉醉在酒中,借着一股酒劲,去拼搏一个未来. 本篇励志:如果决意去做一件事了就不要再问自己和别人值不值得. 本项目基于B站黑马程序员Java项目实战 ...
- 猿创征文|瑞吉外卖——移动端_订单明细
个人名片: 博主:酒徒ᝰ. 专栏:瑞吉外卖 个人简介:沉醉在酒中,借着一股酒劲,去拼搏一个未来. 本篇励志:一些伤口之所以总会痛,那是因为你总是去摸.有一种女人像贝壳一样,外面很硬,内在其实很软.心里 ...
- 猿创征文|瑞吉外卖——管理端_订单明细
个人名片: 博主:酒徒ᝰ. 专栏:瑞吉外卖 个人简介:沉醉在酒中,借着一股酒劲,去拼搏一个未来. 本篇励志:一个人静静坐在电脑面前写代码的感觉,那是什么感觉?那是武林高手闭关修炼的感觉. 本项目基于B ...
- 猿创征文|瑞吉外卖——管理端_菜品管理_1
个人名片: 博主:酒徒ᝰ. 专栏:瑞吉外卖 个人简介:沉醉在酒中,借着一股酒劲,去拼搏一个未来. 本篇励志:真正的程序员不看参考手册,新手和胆小鬼才会看. 本项目基于B站黑马程序员Java项目实战&l ...
- 猿创征文|瑞吉外卖——移动端_购物车
个人名片: 博主:酒徒ᝰ. 专栏:瑞吉外卖 个人简介:沉醉在酒中,借着一股酒劲,去拼搏一个未来. 本篇励志:一份耕耘,一份收获.眼要看远,脚要近迈.在强者的眼中,没有最好,只有更好.向竞争挑战,向压力 ...
- 瑞吉外卖-移动端菜品展示功能,购物车添加菜品及修改等功能,用户下单功能及历史订单派送功能
整理记录下学习整个瑞吉外卖项目,详细代码可在我的Gitee仓库瑞吉外卖实战克隆下载学习使用! 12.菜品展示 12.1 需求分析 12.2 更改前台页面使其正常显示 由于购物车功能还未进行开发,所以修 ...
- 黑马瑞吉外卖用户端顾客手机端页面展示
八.顾客手机端页面展示 0.地址管理 需求分析: 一个用户可以有多个地址 一个用户只能设置一个默认地址 设置默认地址时,先将该用户下所有的地址都设置为不默认.再设置默认地址. 将AdressBook相 ...
- 瑞吉外卖之移动端菜品数据的展示
瑞吉外卖之移动端菜品数据的展示 界面分析 界面分析 上篇我们主要完成了了瑞吉外卖移动端界面登录的功能.完成界面登录自然要进入主界面. 我们和前面的登录界面进行衔接上. 于是我们跳转到这个界面,也就是我 ...
- 项目-瑞吉外卖(1)
项目-瑞吉外卖 基本要求 1.介绍 开发流程 角色分工 软件环境 开发环境,测试环境,生产环境 2.项目介绍 3.开发环境搭建 1.数据库环境搭建 创建数据库 导入表结构,运行外部SQL文件 /* N ...
最新文章
- snagit屏幕截图转pdf
- php directoryiterator,PHP DirectoryIterator getBasename()用法及代码示例
- 将中文日期转换成自己想要的格式如:2018年09月29日转换成2018-09-29
- 区块链游戏为何只剩下“炒币”的价值?
- linux 非登录shell自动,Linux登录shell和非登录(交互式shell)环境变量配置
- java 日志框架 详解_java日志框架系列(9):logback框架过滤器(filter)详解
- webservice restful类型接口的调用实例
- 电脑测速软件_不服跑个分!常见固态硬盘测速工具性价比盘点(上)
- [JavaScript]只需一行代码,轻松搞定快捷留言功能
- Python04 直线拟合 多项式曲线拟合 指数曲线拟合(附代码)
- qt如何在label中显示汉字_工控机中如何实现多屏显示
- vsftpd安装与配置
- 如何注册gmail邮箱
- Vue+ElementUI后台管理系统模板推荐
- php快捷方式 图标ie,pubwin删除IE快捷方式并自行创建IE快捷方式的问题解决方法...
- 首款国风链游打造视觉“饕餮盛宴” 见证元宇宙数字资产变革新峰
- 树莓派4b 4G 64位系统下安装opencv
- nginx启动、关闭、重启及常用的命令
- JXTA学习!!JXTA P2P 2.4
- Model Checking基础