基于微信小程序图书馆管理系统

开发工具:IDEA、微信小程序

服务器:Tomcat9.0, jdk1.8

项目构建:maven

数据库:mysql5.7

前端技术:vue、uniapp

服务端技术:springboot+mybatis-plus

本系统分微信小程序和管理后台两部分,项目采用前后端分离

系统主要分为两个角色:管理员和普通用户。

1.普通用户(小程序):登录、注册、首页、搜索图书、借阅、收藏、图书分类、座位查询与预订、我的收藏、借阅查询、退出登录等功能。

2.管理员(后台):登录、首页、用户管理、图书分类、借阅管理、图书管理、阅览室管理、座位管理、收藏管理、系统管理(管理员管理、角色管理、菜单管理、系统日志)、退出登录、修改密码等功能的管理

文档截图:

微信小程序截图:

后台截图:

package io.renren.modules.renren.controller;import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Map;import com.alibaba.druid.sql.visitor.functions.Now;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import io.renren.modules.renren.entity.BookManagerEntity;
import io.renren.modules.renren.service.BookManagerService;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;import io.renren.modules.renren.entity.BookBorrowEntity;
import io.renren.modules.renren.service.BookBorrowService;
import io.renren.common.utils.PageUtils;
import io.renren.common.utils.R;import javax.annotation.Resource;@RestController
@RequestMapping("renren/bookborrow")
public class BookBorrowController {@Autowiredprivate BookBorrowService bookBorrowService;@Resourceprivate BookManagerService bookManagerService;/*** 列表*/@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params){PageUtils page = bookBorrowService.queryPage(params);return R.ok().put("page", page);}@RequestMapping("/list2")public R list2(Integer userId,Integer bookState,@RequestParam Map<String, Object> params){PageUtils page = bookBorrowService.queryPage2(userId,bookState,params);return R.ok().put("page", page);}/*** 信息*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Integer id){BookBorrowEntity bookBorrow = bookBorrowService.getById(id);return R.ok().put("bookBorrow", bookBorrow);}/*** 保存*/@RequestMapping("/save")public R save(@RequestBody BookBorrowEntity bookBorrow){BookBorrowEntity book=bookBorrowService.getById(bookBorrow.getBookId());List<BookBorrowEntity>  list=bookBorrowService.list(new QueryWrapper<BookBorrowEntity>().eq("book_id",bookBorrow.getBookId()));if (list.size()>0){if (list.get(0).getBookState()==1){return R.error();}}Date a= new Date(new Date().getTime() + 1000 * 60 * 60 * 24 * 3);SimpleDateFormat dateFormat2=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String aaa=dateFormat2.format(a);bookBorrow.setBookReamrk(aaa);bookBorrowService.save(bookBorrow);BookManagerEntity bk=new BookManagerEntity();bk.setBookState(1);bookManagerService.update(bk,new QueryWrapper<BookManagerEntity>().eq("id",bookBorrow.getBookId()));return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody BookBorrowEntity bookBorrow){BookManagerEntity bk=new BookManagerEntity();bk.setBookState(0);bookManagerService.update(bk,new QueryWrapper<BookManagerEntity>().eq("id",bookBorrow.getBookId()));bookBorrow.setUpdateDate(new Date());bookBorrow.setBookState(0);//归还bookBorrowService.updateById(bookBorrow);return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Integer[] ids){bookBorrowService.removeByIds(Arrays.asList(ids));return R.ok();}}
package io.renren.modules.renren.controller;

import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Map;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import io.renren.modules.renren.entity.BookSeatEntity;
import io.renren.modules.renren.service.BookSeatService;
import io.renren.common.utils.PageUtils;
import io.renren.common.utils.R;

@RestController
@RequestMapping("renren/bookseat")
public class BookSeatController {
@Autowired
private BookSeatService bookSeatService;

/**
* 座位列表
*/
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params){
PageUtils page = bookSeatService.queryPage(params);

return R.ok().put("page", page);
}


/**
* 座位列表
*/
@RequestMapping("/list2")
public R list2(@RequestParam Map<String, Object> params){
PageUtils page = bookSeatService.queryPage2(params);

return R.ok().put("page", page);
}


/**
* 信息
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Integer id){
BookSeatEntity bookSeat = bookSeatService.getById(id);

return R.ok().put("bookSeat", bookSeat);
}

/**
* 保存
*/
@RequestMapping("/save")
public R save(@RequestBody BookSeatEntity bookSeat){
bookSeat.setSeatState(0);
bookSeatService.save(bookSeat);

return R.ok();
}

/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody BookSeatEntity bookSeat){

bookSeat.setMakeDate(new Date());
bookSeatService.updateById(bookSeat);

return R.ok();
}

@RequestMapping("/update2")
public R update2(@RequestBody BookSeatEntity bookSeat){
QueryWrapper<BookSeatEntity> qw=new QueryWrapper<>();
qw.eq("user_id",bookSeat.getUserId());
qw.eq("seat_state",1);
List<BookSeatEntity> count = bookSeatService.list(qw);
if (count.size()>0){
return R.error().put("zwId",count.get(0).getSeatRemark()).put("roomId",count.get(0).getRoomId()).put("id",count.get(0).getId());

}
bookSeat.setMakeDate(new Date());
bookSeatService.updateById(bookSeat);

return R.ok();
}

/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Integer[] ids){
bookSeatService.removeByIds(Arrays.asList(ids));

return R.ok();
}

}

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

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

相关文章

智慧图书馆中一般有哪些设备

图书馆在很多人心目中都是一个神圣的场所&#xff0c;但现实中去过图书馆的人们都知道&#xff0c;由于管理上的原因很多图书馆都会非常的嘈杂和混乱。而智慧图书馆的建设就是让图书馆重新变回宁静祥和的知识海洋&#xff0c;通过RFID技术打造智慧化设备为读者提供更好的学习阅…

自助借还系统——智慧图书馆的新体验

自助借还系统主要用于智慧图书馆图书自助借还、查询、续借等&#xff0c;具有多本书同时识别处理&#xff0c;多卡识别功能&#xff0c;红外线感应技术&#xff0c;内置人脸识别模块和协议标准&#xff0c;系统具有ISO1800-3、ISO15693物流网工作协议&#xff0c;可无缝对接智慧…

基于微信的图书馆服务系统的设计与实现

随着时代的快速进步&#xff0c;“互联网”一词概念逐渐深入人心&#xff0c;新兴产业蓬勃发展&#xff0c;传统产业深刻重塑。传统行业与互联网的结合成为了必然的趋势。在时代的大背景下&#xff0c;高校图书馆如何突破原有服务壁垒、精准把握需求&#xff0c;人性化服务&…

图书馆管理系统(一)

图书馆管理系统 项目说明项目内容&#xff08;1&#xff09;读者信息管理&#xff1a;&#xff08;2&#xff09;图书信息管理&#xff1a;&#xff08;3&#xff09;图书借阅管理&#xff1a;&#xff08;4&#xff09;基础信息维护&#xff1a;&#xff08;5&#xff09;用户…

馆员工作站,智慧图书馆自助借还系统

RFID馆员工作站是以计算机为基础&#xff0c;集成RFID读写装置&#xff0c;对RFID标签进行识别和流通状态处理&#xff0c;辅助以其他装置用于流通部门对粘贴有RFID标签及条形码的流通资料进行快速的借还操作&#xff0c;以此提高工作人员的借还工作效率。同时能够通过扫描图书…

24小时智慧图书馆解决方案,校园智能微型图书馆

校园24小时智慧图书馆的建设&#xff0c;与学校图书馆总馆之间实现信息实时交互并提供24小时自助服务&#xff0c;24小时智能微型图书馆让学生就近借书、就近阅读&#xff0c;创造良好便利的阅读环境&#xff0c;激发学生阅读需求&#xff0c;营造浓厚的校园阅读文化氛围。 24小…

图书借阅管理系统

1、系统概述 图书借阅管理系统由管理员系统和用户系统两个子系统构成。用户运行程序后可按程序说明进入子系统&#xff0c;输入“1”进入管理员系统&#xff0c;输入“2”进入用户系统。图书信息和读者信息均用文件存储。 管理员系统&#xff1a; 新增图书&#xff1a;管理…

图书馆管理系统UML各种图

1用例图 主要用来描述“用户、需求、系统功能单元”之间的关系。它展示了一个外部用户能够观察到的系统功能模型图。 【用途】&#xff1a;帮助开发团队以一种可视化的方式理解系统的功能需求。 用例图所包含的元素如下&#xff1a;actor、usecase、子系统、四中关系&#xff…

智慧图书馆解决方案-最新全套文件

智慧图书馆解决方案-最新全套文件 一、建设背景二、思路架构三、建设方案四、获取 - 智慧图书馆全套最新解决方案合集 一、建设背景 现下&#xff0c;传统图书馆已经难以适应时代的发展&#xff0c;图书盘点繁琐、管理模式落后、阅读时间和场地受限等问题&#xff0c;迫使传统…

学校图书馆管理系统

摘 要 随着科学技术的飞速发展&#xff0c;社会的方方面面、各行各业都在努力与现代的先进技术接轨&#xff0c;通过科技手段来提高自身的优势&#xff0c;学校图书馆管理系统当然也不能排除在外。学校图书馆管理系统是以实际运用为开发背景&#xff0c;运用软件工程开发方法&…

2021中国大学生程序设计竞赛(CCPC),烤仔与你不见不散!

今天也是见到超多学霸的一天呢&#xff01; 因为&#xff0c;CCPC 的参赛选手们来看烤仔啦&#xff01;北京航空航天大学、北京交通大学等高校共 95 名总决赛参赛选手在 5 月 28 日来到 Conflux 参观、交流。 由中国大学生程序设计竞赛组委会主办&#xff0c;Conflux 、旷视等…

HTML+CSS鲜花静态网页设计

&#x1f4c2;文章目录 一、&#x1f468;‍&#x1f393;网站题目二、✍️网站描述三、&#x1f4da;网站介绍四、&#x1f4a0;网站演示五、⚙️ 网站代码&#x1f9f1;HTML结构代码&#x1f492;CSS样式代码 六、&#x1f947; 如何让学习不再盲目七、&#x1f381;更多干货…

客厅窗帘要安装纱帘吗?怎么选择纱帘?-好佳居窗帘十大品牌

窗帘是我们常见的&#xff0c;但是客厅窗帘有必要装纱帘&#xff1f;很多人在选择窗帘的时候纠结要不要加一层纱帘。这种纠结可能不仅仅是选择的困难&#xff0c;纱帘的具体功能性也不是那么好理解。别急&#xff0c;我们来看看。 客厅窗帘要不要安装纱帘&#xff1f; 众所周知…

web前端 基于html实现花店购物网站源码(HTML+CSS+JavaScript) 企业网站制作

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

基于STM32设计的智慧浇花系统(华为云IOT)

1. 前言 随着社会的不断发展和人们生活水平的逐渐提高,人们逐渐追求高质量的生活,很多人都会选择在家里或办公室种植一些花卉以净化家庭空气,陶冶情操,但是很多人忙于工作、学习、出差、旅游或者一些其他的原因,不能及时地对花卉进行照料,短时间内导致很多花卉因缺水分而…

c#温室监控系统

上位机采用串口与下位机信&#xff0c;使用modbus通信协议控制和采集数据 可以参考一下&#xff08;直接翻到modbus的章节&#xff09;&#xff1a; MODBUS技术协议&#xff08;第三章&#xff09;.pdf chuan/临时的 - 码云 - 开源中国 (gitee.com) 首先实现通信用的modbus…

es6 filter方法_极其有用的JavaScript数组方法,可提高您的编码技能

随着ES6的开始&#xff0c;在javascript语言中添加了许多改进以改进javascript编码标准。 今天&#xff0c;我们将看到一系列非常有用的数组方法&#xff0c;这些方法将提高您的编码技能。因此&#xff0c;让我们深入了解它。 数组 该Array.of语法如下 Array.of(element0[, ele…

互联网快讯:荣耀打响重回海外第一枪;极米投影产品成双十一爆款;工业富联发起灯塔领航计划

国内要闻 《2021胡润百富榜》发布&#xff1a;农夫山泉创始人钟睒睒以3900亿元首次成为中国首富&#xff0c;抖音创始人张一鸣跃居第二&#xff1b;荣耀打响重回海外第一枪&#xff1a;多国市场发布荣耀50系列&#xff0c;已恢复与主流运营商及渠道商合作&#xff1b; 3、财富…

推荐两本 Spark 好书

点击蓝色“有关SQL”关注我哟 加个“星标”&#xff0c;天天与10000人一起快乐成长 这两本书&#xff0c;分别是&#xff1a; 《Spark 快速大数据分析》 &#xff08;英文书名《Learning Spark: Lightning-fast Data Analysis》&#xff09;《Spark高级数据分析》影印版&#x…

宋城演艺业绩同比下滑两倍:受花房科技拖累,计提超10亿元减值

因2020年度业绩大幅预亏以及拟股权投资减值准备等&#xff0c;深交所于2月2日对向宋城演艺&#xff08;SZ:300144&#xff09;下发关注函&#xff0c;要求该公司进行补充说明。 据了解&#xff0c;今年1月30日&#xff0c;宋城演艺披露的《2020年度业绩预告》、《关于拟计提长…