1首先在数据字典里加入可借阅和不可借阅状态

2导入数据字典

export default {name: "Book",dicts: ['book_borrow_status'],//导入数据字典data() {return {formData: {name: null,author: null,num: null,price: null,typeId: null,status:null//新加状态属性},

3设置状态按钮

<el-table-column label="是否可借阅" align="center" prop="status"><template slot-scope="scope"><el-switchv-model="scope.row.status"active-value="0"inactive-value="1"@change="handleStatusChange(scope.row)":disabled="scope.row.bookStock === 0"//禁用按钮></el-switch></template></el-table-column>

4设置函数实现状态功能

    handleStatusChange(row){let text = row.status === "0" ? "可借阅" : "不可借阅"this.$modal.confirm('确认要将"' + row.name + '"变为"' + text + '"吗?').then(function() {return changeBookStatus(row.id, row.status)}).then(() => {this.$modal.msgSuccess("设置" + text + "成功")}).catch(function() {row.status = row.status === "0" ? "1" : "0"})},

5实现changeBookStatus

// 图书状态修改
export function changeBookStatus(id, status) {const data = {id,status}return request({url: '/book/book/changeStatus',method: 'put',data: data})
}

6实现后端controller

    /*** 状态修改*/@PreAuthorize("@ss.hasPermi('book:book:edit')")@Log(title = "图书", businessType = BusinessType.UPDATE)@PutMapping("/changeStatus")public AjaxResult changeStatus(@RequestBody Book book){return toAjax(bookService.updateBookStatus(book));}
}

7实现业务逻辑

    /*** 修改图书状态** @param book 图书* @return 结果*/@Overridepublic int updateBookStatus(Book book){return bookMapper.updateBookStatus(book);}
}

8接口连接

IBookService接口

    /*** 修改用户状态** @param book 图书* @return 结果*/public int updateBookStatus(Book book);
}

IBookMapper接口

    public int updateBookStatus(Book book);

9mapper.xml写sql逻辑

    <update id="updateBookStatus" parameterType="Book">update t_book set status = #{status} where id = #{id}</update>

10在service实现类里写业务

当书籍不是空的时候添加自动为可借阅状态

@Overridepublic int insertBook(Book book){
//        if(book.getStatus() != null && "".equals(book.getStatus()))if(book != null &&!StringUtils.hasLength(book.getStatus())){book.setStatus("1");}return bookMapper.insertBook(book);}

当仓库为0的时候设置状态为不可借阅

@Overridepublic int updateBook(Book book){if(book.getBookStock() == 0){book.setStatus("1");}return bookMapper.updateBook(book);}

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

234、回文链表

题目&#xff1a;解答&#xff1a;对143稍作修改即可&#xff0c;判断两个指针指向的是否一直相等。终止条件为不等或者head2nullptrclass Solution { public:ListNode *rev(ListNode *head){ListNode *cur head;ListNode *pre nullptr;while(cur){ListNode * nxt cur->n…

第15次:商品搜索

实现用户在页面可自由搜索某个商品的功能。 第1步&#xff1a;准备搜索功能用到的库 pip install whoosh pip install jieba pip install django-haystackwhoosh是搜索引擎&#xff0c;对英文支持较好&#xff0c;但对中文效果不佳。jieba为中文分词库&#xff0c;弥补whoosh…

《使用Qt Quick从零构建AI螺丝瑕疵检测系统》——0. 博客系列大纲

目录【《使用Qt Quick从零构建AI螺丝瑕疵检测系统》系列简介】第一部分&#xff1a;基础入门与项目启航第二部分&#xff1a;核心视觉算法开发第三部分&#xff1a;模拟完整工业流程第四部分&#xff1a;软件打包与高级特性【《使用Qt Quick从零构建AI螺丝瑕疵检测系统》系列简…

【Python】Python中的循环语句

循环语句导读一、基本概念1.1 循环语句的执行流程1.2 循环语句的分类二、while语句三、for语句四、break与continue五、死循环六、循环中的else语句七、range()函数结语导读 大家好&#xff0c;很高兴又和大家见面啦&#xff01;&#xff01;&#xff01; 在上一篇内容中我们…

docker|Linux|以centos基础镜像为基础制作nmap专用镜像(镜像瘦身计划)

一、 最近由于某些场景下需要使用nmap&#xff0c;而nmap的rpm安装包在源目标机器上使用有软件冲突&#xff0c;因此&#xff0c;计划使用docker部署nmap 具体计划为 1、使用centos的基础镜像&#xff0c;在有网环境下&#xff0c;通过配置阿里云的yum仓库&#xff0c;在cen…

基于单片机公交车报站系统/报站器

传送门 &#x1f449;&#x1f449;&#x1f449;&#x1f449;其他作品题目速选一览表 &#x1f449;&#x1f449;&#x1f449;&#x1f449;其他作品题目功能速览​​​​​​​ 概述 公交车自动报站系统利用单片机作为核心控制器&#xff0c;结合GPS/北斗定位模块、语音存…

Oracle 体系结构学习

1 认识Oracle后台进程Oracle数据库后台进程是Oracle数据库管理系统&#xff08;DBMS&#xff09;的核心组件&#xff0c;它们在后台运行&#xff0c;负责数据库的各种管理和维护任务。主要包括以下几种&#xff1a;SMON (System Monitor)SMON负责数据库的恢复操作&#xff0c;如…

构建一种安全的老式测试仪,用于具有限流灯泡,模拟仪表和可变输出的交流设备

这个复古电路和电源测试仪的想法来自我需要一个简单&#xff0c;安全&#xff0c;时尚的工具来测试和控制工作台上的线路供电设备。商业解决方案要么太笨重&#xff0c;太昂贵&#xff0c;要么缺乏我喜欢的触觉和模拟魅力。所以我决定自己造一个。这个测试仪的核心是一个老式的…

Redis5:Redis的Java客户端——Jedis与SpringDataRedis详解

目录 1、Jedis客户端 1.1使用过程 2、SpringDataRedis 2.1 SpingDataRedis介绍 2.2SpringDataRedis快速入门 2.3RedisTemplate的RedisSerializer 2.3.1RedisTemplate中JDK序列化局限性 2.3.2方式一&#xff1a;改变RedisTemplate的序列化方式 2.3.3RedisTemplate存储一…

零基础 “入坑” Java--- 十三、再谈类和接口

文章目录一、Object类1.获取对象信息2.对象比较&#xff1a;equals方法二、再谈接口1.比较相关接口2.Cloneable接口和深拷贝三、内部类1.匿名内部类2.实例内部类3.静态内部类4.局部内部类在之前的学习中&#xff0c;我们已经了解了有关类以及接口的知识&#xff0c;在本章节中&…

Spring Boot 一个注解搞定「加密 + 解密 + 签名 + 验签」

Spring Boot 一个注解搞定「加密 解密 签名 验签」本文基于 Spring Boot 3.x&#xff0c;通过一个自定义注解 AOP&#xff0c;一行注解即可给任何 Controller 方法加上 请求解密 → 验签 → 响应加密 → 加签 的完整链路&#xff0c;并可直接拷贝到生产环境使用。一、最终效…

《计算机网络》实验报告二 IP协议分析

目 录 1、实验目的 2、实验环境 3、实验内容 3.1 tcpdump 基本用法 3.2 wireshark基本用法 3.3 利用tcpdump抓包&#xff0c;wireshark分析包 4、实验结果与分析 4.1 tcpdump命令的基本用法 4.2 wireshark的基本用法 4.3 利用tcpdump抓包&#xff0c;wireshark分析包…

k8s学习记录(三):Pod基础-Node选择

一、前言 在上一篇文章中我们学习了Pod的一些基本的知识&#xff0c;今天我们将继续学习Pod。 二、K8S如何选择节点来运行Pod 我们知道在一个K8S集群中&#xff0c;会有多个工作节点&#xff08;Worker Node&#xff09;&#xff0c;那么k8s会选择那个node呢&#xff1f;接下…

3天功能开发→3小时:通义灵码2.0+DEEPSEEK实测报告,单元测试生成准确率92%的秘密

活动链接&#xff1a;https://developer.aliyun.com/topic/lingma-aideveloper?spma2c6h.29979852.J_9593490300.2.49b8110eeymlF8 前言 随着人工智能技术的迅猛发展&#xff0c;AI 赋能编程成为了必然趋势。通义灵码应运而生&#xff0c;它是阿里巴巴集团在人工智能与编程领…

【小沐学GIS】基于Rust绘制三维数字地球Earth(Rust、OpenGL、GIS)

&#x1f37a;三维数字地球GIS系列相关文章如下&#x1f37a;&#xff1a;1【小沐学GIS】基于C绘制三维数字地球Earth&#xff08;OpenGL、glfw、glut&#xff09;第一期2【小沐学GIS】基于C绘制三维数字地球Earth&#xff08;OpenGL、glfw、glut&#xff09;第二期3【小沐学GI…

ARM 学习笔记(三)

参考文献&#xff1a;《ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition》《ARM Cortex-A (ARMv7-A) Series Programmer’s Guide》1、内存类型 ARMv7-A 处理器中&#xff0c;将 Memory 定义为几种类型&#xff08;Memory Type&#xff09;&#xff1a; Strong…

Flask 框架(一):核心特性与基础配置

目录 一、为什么选择 Flask&#xff1f; 二、Flask 核心概念与初始化 2.1 程序实例初始化 2.2 运行配置&#xff1a;app.run () 参数详解 2.3 应用配置&#xff1a;三种参数设置方式 1. 字典直接配置&#xff08;简单临时场景&#xff09; 2. 配置文件导入&#xff08;生…

社交圈子系统开源社交源码 / 小程序+H5+APP 多端互通的底层技术分析

伴随社交产品向“圈子化”、“内容驱动”发展方向演进&#xff0c;打造一套支持小程序、H5、APP 互通的社交圈子系统&#xff0c;已经成为构建垂直社区的基础架构能力要求。本文围绕一套典型的多端社交兴趣平台&#xff08;即友猫社区平台&#xff09;的设计实践&#xff0c;对…

gitlab-runner配置问题记录

引言 笔者曾通过2种方式部署过 gitlab-runner&#xff0c;在 gitlab 中使用这个 runner 拉起 ci job 的过程中或多或少遇到些问题&#xff0c;主要都是 job 中无法访问宿主机的docker 等组件。本篇文档主要记录 gitlab-runner 安装及相关配置。 二进制部署 gitlab-runner 部署 …

每日面试题10:令牌桶

令牌桶算法&#xff1a;优雅的流量控制艺术在现代分布式系统中&#xff0c;流量控制如同交通信号灯般重要——它既不能让请求"堵死"系统&#xff0c;也不能放任流量"横冲直撞"。令牌桶算法&#xff08;Token Bucket Algorithm&#xff09;正是这样一种精妙…