瑞吉外卖实战学习-17、用户地址簿相关功能

2024-04-08 03:44

本文主要是介绍瑞吉外卖实战学习-17、用户地址簿相关功能,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

用户地址簿相关功能

  • 效果图
  • 1、根据规则创建相关文件
  • 2、新增收货地址接口
  • 3、列表查询页面以及设置默认地址

效果图

在这里插入图片描述
在这里插入图片描述

1、根据规则创建相关文件

在这里插入图片描述
在这里插入图片描述

2、新增收货地址接口

获取到传入的数据然后将id添加进去,然后存储到数据库
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3、列表查询页面以及设置默认地址

在这里插入图片描述
list接口:是通过用户id来进行查询到相关的数据
default接口:通过id拿到相关数据,然后将默认地址的参数iddefault全部赋值成0,再将需要设置的默认地址附为1
在这里插入图片描述

package com.example.ruiji_demo.controller;import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.example.ruiji_demo.common.BaseContext;
import com.example.ruiji_demo.common.R;
import com.example.ruiji_demo.entity.AddressBook;
import com.example.ruiji_demo.service.AddressBookService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;import java.util.List;/*** @author jitwxs* @date 2024年04月07日 22:11*/
@RestController
@RequestMapping("/addressBook")
@Slf4j
public class AddressBookController {@Autowiredprivate AddressBookService addressBookService;/*** 添加地址簿* @param addressBook* @return*/@PostMappingpublic R<AddressBook> save(@RequestBody AddressBook addressBook){
//        通过BaseContext.getCurrentid()获取用户idaddressBook.setUserId(BaseContext.getCurrentid());addressBookService.save(addressBook);return R.success(addressBook);}/*** 通过账户id查询地址数据* @return*/@GetMapping("list")public R<List> list(){
//        创建构造器LambdaQueryWrapper<AddressBook> queryWrapper = new LambdaQueryWrapper<>();
//        为构造器添加条件queryWrapper.like(AddressBook::getUserId,BaseContext.getCurrentid());List<AddressBook> list = addressBookService.list(queryWrapper);return R.success(list);}/*** 根据id修改状态* @param addressBook* @return*/@PutMapping("/default")public R<String> setDefault(@RequestBody AddressBook addressBook){LambdaUpdateWrapper<AddressBook> wrapper = new LambdaUpdateWrapper<>();wrapper.eq(AddressBook::getUserId,BaseContext.getCurrentid());wrapper.set(AddressBook::getIsDefault,0);addressBookService.update(wrapper);addressBook.setIsDefault(1);addressBookService.updateById((addressBook));return R.success("默认地址设置成功");}}

这篇关于瑞吉外卖实战学习-17、用户地址簿相关功能的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/884472

相关文章

Python与DeepSeek的深度融合实战

《Python与DeepSeek的深度融合实战》Python作为最受欢迎的编程语言之一,以其简洁易读的语法、丰富的库和广泛的应用场景,成为了无数开发者的首选,而DeepSeek,作为人工智能领域的新星... 目录一、python与DeepSeek的结合优势二、模型训练1. 数据准备2. 模型架构与参数设置3

Java实战之利用POI生成Excel图表

《Java实战之利用POI生成Excel图表》ApachePOI是Java生态中处理Office文档的核心工具,这篇文章主要为大家详细介绍了如何在Excel中创建折线图,柱状图,饼图等常见图表,需要的... 目录一、环境配置与依赖管理二、数据源准备与工作表构建三、图表生成核心步骤1. 折线图(Line Ch

MobaXterm远程登录工具功能与应用小结

《MobaXterm远程登录工具功能与应用小结》MobaXterm是一款功能强大的远程终端软件,主要支持SSH登录,拥有多种远程协议,实现跨平台访问,它包括多会话管理、本地命令行执行、图形化界面集成和... 目录1. 远程终端软件概述1.1 远程终端软件的定义与用途1.2 远程终端软件的关键特性2. 支持的

Java中实现订单超时自动取消功能(最新推荐)

《Java中实现订单超时自动取消功能(最新推荐)》本文介绍了Java中实现订单超时自动取消功能的几种方法,包括定时任务、JDK延迟队列、Redis过期监听、Redisson分布式延迟队列、Rocket... 目录1、定时任务2、JDK延迟队列 DelayQueue(1)定义实现Delayed接口的实体类 (

Java使用Tesseract-OCR实战教程

《Java使用Tesseract-OCR实战教程》本文介绍了如何在Java中使用Tesseract-OCR进行文本提取,包括Tesseract-OCR的安装、中文训练库的配置、依赖库的引入以及具体的代... 目录Java使用Tesseract-OCRTesseract-OCR安装配置中文训练库引入依赖代码实

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

Ubuntu固定虚拟机ip地址的方法教程

《Ubuntu固定虚拟机ip地址的方法教程》本文详细介绍了如何在Ubuntu虚拟机中固定IP地址,包括检查和编辑`/etc/apt/sources.list`文件、更新网络配置文件以及使用Networ... 1、由于虚拟机网络是桥接,所以ip地址会不停地变化,接下来我们就讲述ip如何固定 2、如果apt安

TP-Link PDDNS服将于务6月30日正式停运:用户需转向第三方DDNS服务

《TP-LinkPDDNS服将于务6月30日正式停运:用户需转向第三方DDNS服务》近期,路由器制造巨头普联(TP-Link)在用户群体中引发了一系列重要变动,上个月,公司发出了一则通知,明确要求所... 路由器厂商普联(TP-Link)上个月发布公告要求所有用户必须完成实名认证后才能继续使用普联提供的 D

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

在Java中使用ModelMapper简化Shapefile属性转JavaBean实战过程

《在Java中使用ModelMapper简化Shapefile属性转JavaBean实战过程》本文介绍了在Java中使用ModelMapper库简化Shapefile属性转JavaBean的过程,对比... 目录前言一、原始的处理办法1、使用Set方法来转换2、使用构造方法转换二、基于ModelMapper