赞
踩
随着电子商务快速发展世界各地区,各个高校对图书馆也起来越重视.图书馆代表着一间学校或者地区的文化标志,因为图书馆丰富的图书资源能够带给我们重要的信息资源,图书馆管理系统是学校管理机制重要的一环,,面对这一世界性的新动向和新问题,图书馆如何适应新的时代和新的潮流,开展有效的信息服务工作,完成时代赋予的新使命?本文就这一问题谈谈几点粗浅的看法.扩大业务范围,更新服务内容.信息社会的到来已经向图书馆传统的服务方式提出了新的挑战;图书馆已经不是,也不可能是 传统观念的图书馆,而将成为社会公用信息,本系统包含了2个学生,即管理员和学生
管理员权限主要实现了管理员服务端;首页、个人中心、学生管理、座位信息管理、自习室分类管理、座位预约管理、学院分类管理、专业分类管理、留言板管理、系统管理,学生微信端;首页、座位信息、座位预约、我的等功能,基本上实现了整个图书馆自习室座位预约小程序信息管理的过程。本系统在一般图书馆自习室座位预约的基础上增加了最新信息的功能方便学生快速浏览,是一个高效的、动态的、相互友好的图书馆自习室座位预约小程序。
该系统里充分综合应用Mysql数据库、JAVA等相关知识。网页界面的构成,具备简单易懂、便捷等特征。设计过程中,第一,静态页面的制作需要应用语言,以及APP的美工,在这些方面均收获了较好的成绩。第二,针对微信开发者等技术动态编程以及数据库进行努力学习和大量实践,并运用到了APP的建设中。
编程语言:Java
数据库 :Mysql
系统架构:B/S
后端框架:SSM
编译工具:idea或者eclipse,微信开发者工具,jdk1.8,maven
支持定做:java/php/python/android/小程序vue/爬虫/c#/asp.net
5.1管理员服务端功能模块
管理员登录,管理员通过输入学生名,密码,角色等信息即可进行系统登录,如图5-1所示。
图5-1管理员登录界面图
首页,管理员登录进入图书馆自习室座位预约小程序可以查看首页、个人中心、学生管理、座位信息管理、自习室分类管理、座位预约管理、学院分类管理、专业分类管理、留言板管理、系统管理等内容,如图5-2所示。
图5-2管理员功能界面图
学生管理,管理员在学生信息页面通过查看学号、姓名、性别、年龄、学院、专业、手机、邮箱、照片等信息进行添加、修改、删除、查询操作,如图5-3所示。
图5-3学生管理界面图
座位信息管理,管理员在座位信息页面可以查看座位编号、自习室、座位状态、图片、备注等信息,并可根据需要进行查询、详情、删除,修改等操作,如图5-4所示。
图5-4座位信息管理界面图
座位预约管理,管理员在座位预约管理可以查看座位编号、自习室、座位状态、图片、学号、姓名、预约时间等信息,管理员进行审核、并可根据需要进行详情、修改、删除操作,如图5- 5所示。
图5-5座位预约管理界面图
留言板管理,管理员在留言板管理页面可以用户留言,管理员进行回复,并可根据需要进行详情、删除,修改等操作,如图5-6所示。
图5-6留言板管理界面图
5.2学生微信端功能模块
学生注册通过注册窗口,进行在线填写自己的学号、密码、姓名、性别、年龄、学院、专业、手机、邮箱、姓名、性别、年龄、学院、专业、手机、邮箱等,信息编辑完成后核对信息无误后进行选择注册,系统核对学生所输入的学号信息是否准确,核对信息准确无误后系统进入到登陆操作界面。如图5-7所示。
图5-7学生注册界面图
登陆,学生登录通过填写学号、密码行页面,进入到图书馆自习室座位预约小程序主界面,进入到操作界面,进行相对应操作,如图5-8所示。
图5-8学生登录界面图
首页,学生首页页面可以查看首页、座位信息、座位预约、我的等信息,进行提交操作,如图5-9所示。
图5-9首页界面图
座位信息,学生进入座位信息页面可以查看座位编号、自习室、座位状态、图片、备注,可进行预约操作,点击预约查看座位编号、自习室、座位状态、图片、学号、姓名、预约时间进行提交,管理员审核后预约成功,如图5-10所示。
图5-10座位信息、座位预约面图
我的,学生进入我的页面可以查看用户信息、座位信息、座位预约、留言板等信息,如图5-11-所示。
图5-11我的界面图
package com.controller; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Calendar; import java.util.Map; import java.util.HashMap; import java.util.Iterator; import java.util.Date; import java.util.List; import javax.servlet.http.HttpServletRequest; import com.utils.ValidatorUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.format.annotation.DateTimeFormat; 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 com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; import com.annotation.IgnoreAuth; import com.entity.ZixishifenleiEntity; import com.entity.view.ZixishifenleiView; import com.service.ZixishifenleiService; import com.service.TokenService; import com.utils.PageUtils; import com.utils.R; import com.utils.MD5Util; import com.utils.MPUtil; import com.utils.CommonUtil; /** * 自习室分类 * 后端接口 * @author * @email * @date */ @RestController @RequestMapping("/zixishifenlei") public class ZixishifenleiController { @Autowired private ZixishifenleiService zixishifenleiService; /** * 后端列表 */ @RequestMapping("/page") public R page(@RequestParam Map<String, Object> params,ZixishifenleiEntity zixishifenlei, HttpServletRequest request){ EntityWrapper<ZixishifenleiEntity> ew = new EntityWrapper<ZixishifenleiEntity>(); PageUtils page = zixishifenleiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, zixishifenlei), params), params)); return R.ok().put("data", page); } /** * 前端列表 */ @RequestMapping("/list") public R list(@RequestParam Map<String, Object> params,ZixishifenleiEntity zixishifenlei, HttpServletRequest request){ EntityWrapper<ZixishifenleiEntity> ew = new EntityWrapper<ZixishifenleiEntity>(); PageUtils page = zixishifenleiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, zixishifenlei), params), params)); return R.ok().put("data", page); } /** * 列表 */ @RequestMapping("/lists") public R list( ZixishifenleiEntity zixishifenlei){ EntityWrapper<ZixishifenleiEntity> ew = new EntityWrapper<ZixishifenleiEntity>(); ew.allEq(MPUtil.allEQMapPre( zixishifenlei, "zixishifenlei")); return R.ok().put("data", zixishifenleiService.selectListView(ew)); } /** * 查询 */ @RequestMapping("/query") public R query(ZixishifenleiEntity zixishifenlei){ EntityWrapper< ZixishifenleiEntity> ew = new EntityWrapper< ZixishifenleiEntity>(); ew.allEq(MPUtil.allEQMapPre( zixishifenlei, "zixishifenlei")); ZixishifenleiView zixishifenleiView = zixishifenleiService.selectView(ew); return R.ok("查询自习室分类成功").put("data", zixishifenleiView); } /** * 后端详情 */ @RequestMapping("/info/{id}") public R info(@PathVariable("id") Long id){ ZixishifenleiEntity zixishifenlei = zixishifenleiService.selectById(id); return R.ok().put("data", zixishifenlei); } /** * 前端详情 */ @RequestMapping("/detail/{id}") public R detail(@PathVariable("id") Long id){ ZixishifenleiEntity zixishifenlei = zixishifenleiService.selectById(id); return R.ok().put("data", zixishifenlei); } /** * 后端保存 */ @RequestMapping("/save") public R save(@RequestBody ZixishifenleiEntity zixishifenlei, HttpServletRequest request){ zixishifenlei.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue()); //ValidatorUtils.validateEntity(zixishifenlei); zixishifenleiService.insert(zixishifenlei); return R.ok(); } /** * 前端保存 */ @RequestMapping("/add") public R add(@RequestBody ZixishifenleiEntity zixishifenlei, HttpServletRequest request){ zixishifenlei.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue()); //ValidatorUtils.validateEntity(zixishifenlei); zixishifenleiService.insert(zixishifenlei); return R.ok(); } /** * 修改 */ @RequestMapping("/update") public R update(@RequestBody ZixishifenleiEntity zixishifenlei, HttpServletRequest request){ //ValidatorUtils.validateEntity(zixishifenlei); zixishifenleiService.updateById(zixishifenlei);//全部更新 return R.ok(); } /** * 删除 */ @RequestMapping("/delete") public R delete(@RequestBody Long[] ids){ zixishifenleiService.deleteBatchIds(Arrays.asList(ids)); return R.ok(); } /** * 提醒接口 */ @RequestMapping("/remind/{columnName}/{type}") public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, @PathVariable("type") String type,@RequestParam Map<String, Object> map) { map.put("column", columnName); map.put("type", type); if(type.equals("2")) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar c = Calendar.getInstance(); Date remindStartDate = null; Date remindEndDate = null; if(map.get("remindstart")!=null) { Integer remindStart = Integer.parseInt(map.get("remindstart").toString()); c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart); remindStartDate = c.getTime(); map.put("remindstart", sdf.format(remindStartDate)); } if(map.get("remindend")!=null) { Integer remindEnd = Integer.parseInt(map.get("remindend").toString()); c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindEnd); remindEndDate = c.getTime(); map.put("remindend", sdf.format(remindEndDate)); } } Wrapper<ZixishifenleiEntity> wrapper = new EntityWrapper<ZixishifenleiEntity>(); if(map.get("remindstart")!=null) { wrapper.ge(columnName, map.get("remindstart")); } if(map.get("remindend")!=null) { wrapper.le(columnName, map.get("remindend")); } int count = zixishifenleiService.selectCount(wrapper); return R.ok().put("count", count); } }
目 录
摘 要 I
ABSTRACT II
目 录 II
第1章 绪论 1
1.1研究背景 1
1.2 研究现状 2
1.3 研究意义 3
第2章 相关技术 4
2.1微信开发者工具 5
2.2 平台开发相关技术 6
第3章 系统分析 7
3.1 系统目标 8
3.2系统流程和逻辑 9
第4章系统概要设计 10
4.1 概述 11
4.2 系统结构 12
4.3 数据库设计 13
4.3.1 数据库实体 14
4.3.2 数据库设计表 15
第5章 系统详细设计 16
5.1管理员服务端功能模块 18
5.2学生微信端功能模块 18
第6章 系统测试 19
6.1系统测试的目的 20
6.2系统测试方法 21
6.3测试结果 22
结 论 23
致 谢 24
参考文献 25
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。