【尚庭公寓SpringBoot + Vue 项目实战】用户管理(十五)

news2024/11/26 14:24:26

【尚庭公寓SpringBoot + Vue 项目实战】用户管理(十五)


文章目录

      • 【尚庭公寓SpringBoot + Vue 项目实战】用户管理(十五)
        • 1、业务介绍
        • 2、接口实现
          • 2.1、根据条件分页查询用户列表
          • 2.2、根据ID更新用户状态

1、业务介绍

用户管理共包含两个接口

  1. 根据条件分页查询用户列表
  2. 根据ID更新用户状态
2、接口实现
2.1、根据条件分页查询用户列表

查看接口

image-20240617150610462

请求信息:

  • 请求方法: GET
  • 请求路径: /admin/user/page
  • 请求内容类型: application/x-www-form-urlencoded

请求参数:

参数名称参数位置是否必须数据类型参数说明
currentquerytrueinteger当前页号
sizequerytrueinteger每页显示条数
phonequeryfalsestring用户手机号
statusqueryfalsestring用户审核状态

响应状态码:

状态码说明
200OK

响应参数:

  • 响应体: ResultPageUserInfo
  • 响应参数说明:
实体名称参数名称参数说明数据类型
codecode响应码integer
messagemessage响应消息string
datadata数据IPageUserInfo
sizesize每页显示条数integer
currentcurrent当前页号integer
totaltotal总记录数integer
pagespages总页数integer
recordsrecords用户信息数组array

代码开发

查看请求的数据结构

currentsize为分页相关参数,分别表示当前所处页面每个页面的记录数

UserInfoQueryVo为用户的查询条件,详细结构如下:

@Schema(description = "用户信息查询实体")
@Data
public class UserInfoQueryVo {

    @Schema(description = "用户手机号码")
    private String phone;

    @Schema(description = "用户账号状态")
    private BaseStatus status;
}

编写Controller层逻辑

UserInfoController中增加如下内容

@Operation(summary = "分页查询用户信息")
@GetMapping("page")
public Result<IPage<UserInfo>> pageUserInfo(@RequestParam long current, @RequestParam long size, UserInfoQueryVo queryVo) {

    IPage<UserInfo> page = new Page<>(current, size);
    LambdaQueryWrapper<UserInfo> queryWrapper = new LambdaQueryWrapper<>();
    queryWrapper.like(queryVo.getPhone() != null, UserInfo::getPhone, queryVo.getPhone());
    queryWrapper.eq(queryVo.getStatus() != null, UserInfo::getStatus, queryVo.getStatus());
    IPage<UserInfo> list = service.page(page, queryWrapper);
    return Result.ok(list);
}

解释:

  • LambdaUpdateWrapper: 用于构建更新条件的包装器。

  • eq: 添加一个等值条件,表示更新操作只会影响满足该条件的记录。

  • set: 设置要更新的字段及其新值。

  • userInfoService.update: 调用服务层的方法执行更新操作。

  • Result.ok(): 返回一个表示成功的结果对象。

知识点

password字段属于敏感信息,因此在查询时应过滤掉,可在UserInfo实体的password字段的@TableField注解中增加一个参数select=false来实现。

@Schema(description = "密码")
@TableField(value = "password",select = false)
private String password;
2.2、根据ID更新用户状态

查看接口

image-20240617151011856

请求信息:

  • 请求方法: POST
  • 请求路径: /admin/user/updateStatusById
  • 请求内容类型: application/x-www-form-urlencoded

请求参数:

参数名称参数位置是否必须数据类型参数说明
idquerytrueinteger(int64)用户ID
statusquerytruestring用户状态

响应状态码:

状态码说明
200OK

响应参数:

  • 响应体: Result
  • 响应参数说明:
参数名称参数说明数据类型
code响应码integer(int32)
message响应消息string
data数据object

响应示例:

{
  "code": 0,
  "message": "",
  "data": {}
}

代码开发

UserInfoController中增加如下内容

@Operation(summary = "根据用户id更新账号状态")
@PostMapping("updateStatusById")
public Result updateStatusById(@RequestParam Long id, @RequestParam BaseStatus status) {
    LambdaUpdateWrapper<UserInfo> updateWrapper = new LambdaUpdateWrapper<>();
    updateWrapper.eq(UserInfo::getId,id);
    updateWrapper.set(UserInfo::getStatus,status);
    userInfoService.update(updateWrapper);
    return Result.ok();
}

解释

  • LambdaUpdateWrapper: 用于构建更新条件的包装器。
  • eq: 添加一个等值条件,表示更新操作只会影响满足该条件的记录。
  • set: 设置要更新的字段及其新值。
  • userInfoService.update: 调用服务层的方法执行更新操作。
  • Result.ok(): 返回一个表示成功的结果对象。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1832540.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

++++++局部变量、全局变量及变量的存储类别++++====+++指针+++

局部变量、全局变量及变量的存储类别 局部变量与全局变量的基本概念 局部变量&#xff1a;在函数内部定义的变量称为局部变量&#xff0c;也称为内部变量。它们只在定义它们的函数内部有效&#xff0c;即只有在这个函数被调用时&#xff0c;局部变量才会被分配内存空间&#x…

从根源解决问题:构建体系化BOM管理机制与解决方案

BOM&#xff08;物料清单&#xff09;是设计与生产间的纽带&#xff0c;其准确及时对企业的竞争力至关重要。然而&#xff0c;维护BOM数据时&#xff0c;常遇到录入错误、信息孤岛及跨部门沟通障碍等难题&#xff0c;直接影响生产效率和成本。为此&#xff0c;道合顺将探讨确保…

「布道师系列文章」宝兰德徐清康解析 Kafka 和 AutoMQ 的监控

作者&#xff5c;北京宝兰德公司解决方案总监徐清康 01 前言 当我们使用一个软件的时候&#xff0c;经常都会问这个软件怎么监控、监控他的哪些指标&#xff1f;Kafka 的监控挺长时间都是一个老大难的问题&#xff0c;社区在监控方面一直没有投入太大的精力。如果要实现一…

MTANet: 多任务注意力网络,用于自动医学图像分割和分类| 文献速递-深度学习结合医疗影像疾病诊断与病灶分割

Title 题目 MTANet: Multi-Task Attention Network for Automatic Medical Image Segmentation and Classification MTANet: 多任务注意力网络&#xff0c;用于自动医学图像分割和分类 01 文献速递介绍 医学图像分割和分类是当前临床实践中的两个关键步骤&#xff0c;其准…

BRAVE:扩展视觉编码能力,推动视觉-语言模型发展

视觉-语言模型&#xff08;VLMs&#xff09;在理解和生成涉及视觉与文本的任务上取得了显著进展&#xff0c;它们在理解和生成结合视觉与文本信息的任务中扮演着重要角色。然而&#xff0c;这些模型的性能往往受限于其视觉编码器的能力。例如&#xff0c;现有的一些模型可能对某…

苹果Mac电脑遭恶意软件攻击 Mac第三方恶意软件删除不了

苹果Mac电脑一直以来都以安全性和稳定性著称&#xff0c;许多用户认为Mac电脑不会受到恶意软件的侵害&#xff0c;但事实上&#xff0c;Mac电脑也不是绝对安全的&#xff0c;近年来&#xff0c;有越来越多的恶意软件针对Mac电脑进行攻击&#xff0c;甚至有些恶意软件可以绕过苹…

MSPM0L1306——定时器

相关配置&#xff1a; #include "ti_msp_dl_config.h"int main(void) {SYSCFG_DL_init();//清除定时器中断标志NVIC_ClearPendingIRQ(TIMER_0_INST_INT_IRQN);//使能定时器中断NVIC_EnableIRQ(TIMER_0_INST_INT_IRQN);while (1) { } }//定时器…

Thinkpad系列产品进入Bios并设置U盘启动

Thinkpad系列产品&#xff0c;进入Bios并设置U盘启动&#xff0c;常用于以下场景&#xff1a; 1. 安装操作系统。 通过U盘启动盘&#xff0c;用户可以在电脑无法从硬盘启动或需要重装系统时&#xff0c;将操作系统安装到电脑中。这种方法简单且有效&#xff0c;节省了时间并方便…

Redis-数据结构-跳表详解

Redis概述 Redis-数据结构-跳表详解 跳表&#xff08;Skip List&#xff09;是一种基于并联的链表结构&#xff0c;用于在有序元素序列中快速查找元素的数据结构。 Redis 中广泛使用跳表来实现有序集合&#xff08;Sorted Set&#xff09;这一数据结构。 1.跳表的基本概念和…

1832javaERP管理系统之实践教学管理Myeclipse开发mysql数据库servlet结构java编程计算机网页项目

一、源码特点 java erp管理系统之实践教学管理是一套完善的web设计系统&#xff0c;对理解JSP java编程开发语言有帮助采用了servlet设计&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统采用web模式&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Mye…

早期发现,健康生活!第三届ZAODX世界肿瘤早筛大会圆满落幕!

2024年6月15日-16日&#xff0c;第三届ZAODX世界肿瘤早筛大会在雄安新区盛大开幕&#xff01;本次会议由河北雄安新区管理委员会公共服务局指导&#xff0c;第三届ZAODX世界肿瘤早筛大会组委会和早筛网主办&#xff0c;粤港澳大湾区精准医学研究院&#xff08;广州&#xff09;…

双绞线(网线)的制作与测试

实验目的 1、熟悉常用双绞线&#xff08;网线&#xff09;及其制作工具的使用&#xff1b; 2、掌握非屏蔽双绞线的直通线、交叉线的制作及连接方法&#xff1b; 3、掌握双绞线连通性的测试。 设备要求&#xff1a;RJ45压线钳&#xff0c;RJ45水晶头&#xff0c;UTP线缆&…

《跟我一起学“网络安全”》——安全设备

安全设备 一、安全设备–IDS IDS入侵检测 (1)什么是入侵检测&#xff1a; 入侵检测系统&#xff08;intrusion detection system&#xff0c;简称“IDS”&#xff09;是一种对网络传输进行即时监视&#xff0c;在发现可疑传输时发出警报或者采取主动反应措施的网络安全设备。…

50etf期权交易规则杠杆怎么计算?

今天带你了解50etf期权交易规则杠杆怎么计算&#xff1f;近年来&#xff0c;期权交易在股票市场中变得愈发流行&#xff0c;其中50ETF期权备受关注。作为一种金融衍生品&#xff0c;50ETF期权为投资者提供了更灵活的投资方式和更多的策略选择。 50etf期权交易规则杠杆怎么计算&…

Hi3861 OpenHarmony嵌入式应用入门--启动流程

目录 BootLoader的启动与运行 Hi3861 RiSC-V boot 启动文件介绍 Loaderboot 启动过程 Flashboot代码介绍 printf串口配置 内核启动任务 BootLoader的启动与运行 Hi3861 RiSC-V boot 启动文件介绍 - Hi3861 的引导程序分为两部分&#xff0c;一部分是在芯片出厂时已经固…

谷歌插件将网页转图片

将网页转换为图片并保存 /*** 给网页转换为图片上传到FTP* param ftpUtils FTP连接对象* param pdfid 上传业务对象* param type 网页类型 1 审核表 2 合同 3 申请书* return https://registry.npmmirror.com/binary.html?pathchromedriver/*/private boolean htmlToImgFtp(Ft…

汇聚荣拼多多运营策略是怎么样的?

拼多多作为中国领先的电商平台&#xff0c;其运营策略一直备受关注。拼多多的成功不仅在于其创新的“社交电商”模式&#xff0c;更在于其精细化的市场定位和高效的用户增长策略。本文将深入分析拼多多的运营策略&#xff0c;探讨其如何在激烈的电商竞争中突围而出。 一、用户增…

人民日报:高考填志愿十问十答,填报志愿时需要考虑哪些因素?

高考结束&#xff0c;志愿填报即将开始&#xff0c;填报志愿时需要考虑哪些因素&#xff1f;如何避免高分低录甚至落榜&#xff1f;高考填志愿你需要知道的事↓↓ 祝福考生考入理想大学、就读喜欢的专业。加油&#xff01; 责任编辑&#xff1a;曹继炜

初级篇-Docker容器知识

Docker容器 容器主要是解决跨平台、跨服务运行环境的问题 容器将运行业务应用所需要的东西进行打包&#xff0c;包括依赖项、配置、脚本、二进制文件等。在容器中运行镜像&#xff0c;不用担心不同环境下运行不一致的问题。 容器本质上是一个特殊的进程&#xff0c;将资源、…

Golang内存模型与分配机制

简述 mheap为堆&#xff0c;堆和进程是一对一的&#xff1b;mcentral&#xff08;小mheadp&#xff09;&#xff0c;mcahe&#xff08;GMP的P私有&#xff09;&#xff0c;分配内存顺序由后向前。 在解决这个问题&#xff0c;Golang 在堆 mheap 之上&#xff0c;依次细化粒度&a…