springboot海洋馆预约系统的设计与实现(代码+数据库+LW)
摘 要
海洋馆预约系统采用B/S架构,数据库是MySQL。网站的搭建与开发采用了先进的java进行编写,使用了springboot框架。该系统从两个对象:由管理员和用户来对系统进行设计构建。主要功能包括:个人信息修改,对用户、门票信息、购票信息、商品分类等功能进行管理。本系统在一般海洋馆预约系统的基础上增加了首页推送最新信息的功能,方便用户快速浏览,是一个高效的、动态的、交互友好的海洋馆预约系统。
本系统在设计过程中,很好地发挥了该开发方式的优势,让实现代码有了良好的可读性,而且使代码的更新和维护更加的方便,操作简单,对以后的维护减少了很多麻烦。系统的顺利开发和实现,对于海洋馆预约这一方面提供巨大的便利服务,无论是管理员还是用户,都带来了极大的便利,方便大众,为社会的进步与发展提供了一些动力。
关键词:海洋馆预约系统;java语言;MySQL数据库
目 录
1 绪 论
1.1背景与意义
1.2 国内外研究概况
1.3 研究的内容
2 系统开发技术
2.1 java语言
2.2 Spring Boot框架介绍
2.3 MySQL数据库
3系统分析
3.1 系统需求分析
3.2 系统可行性分析
3.2.1技术可行性
3.2.2经济可行性
3.3 项目设计目标与原则
3.3.1系统总体描述
3.3.2开发目标
3.4系统流程分析
3.4.1操作流程
3.4.2添加信息流程
3.4.3删除信息流程
4 系统设计
4.1 系统体系结构
4.2 系统总功能结构设计
4.3开发流程设计
4.4 数据库设计原则
4.5 数据表
5 系统详细设计
5.1前台系统模块实现
5.2后台管理员模块实现
5.3后台用户模块实现
6 系统测试
6.1系统测试的目的
6.2系统测试方法
6.3功能测试
结 论
参考文献
致 谢
1 绪 论
互联网这几年来的发展也是日新月异的,互联网让地球变成了一个地球村,人们足不出户就可以完成各种各样的工作[1]。从2017年末开始,国家各个部门印发的各项文件,包括给领导人的工作报告中都频繁提到了互联网发展的重要性,这为人们指明了互联网将是未来发展的主要方向,在国内受到了众多的重视并得到了大力发展。在这个大数据时代下,互联网的普遍应用可以解决上述人们的问题,一个海洋馆预约系统便开始研发了[2]。
1.1背景与意义
随着社会的快速发展,计算机技术的影响是全面且深入的。目前,社会的各种类型的网站越来越多,但是有些类型的网站附加了太多的商业元素和虚假信息,而且,用户在搜索相关信息时需访问多个网站和大量垃圾广告,这已经在很大程度上影响了对信息搜索效率,并且降低了用户的体验感,使用户很难快速地浏览或查询到自己所需要的相关信息。电子计算机在现代管理中的应用使电子,计算机变成了人类运用现代信息技术的主要工具[3]。可以更高效的处理人类获取信息中精细化、全面化的问题,从而提高了效率。本系统使用具有独特且和资源相对优势的管理方式,来提供一个优秀的系统平台,在这个管理过程受到了鼓励与帮助。而随着互联网的应用,互联网也以一种巨大变革力的新形象出现于商务关系领域。
探究本课题,就是希望能够实现管理员和用户双方的双向选择,便于管理员和用户的同时也可以发现更优质的信息管理系统[4]。
管理员管理用例图4-1所示。
登录管理用例图4-2所示。
系统总功能结构设计
系统按照用户的实际需求开发而来,贴近生活。从管理员通过正确的账号的密码进入系统,可以使用相关的系统应用。管理员总体负责整体系统的运行维护,统筹协调。
系统整体模块设计:系统分为管理员和用户两大角色,系统管理员有最大的权限,总体功能展示如图4-5所示。
数据表
表4-1:关于我们
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
title | varchar | 200 | 标题 | ||
subtitle | varchar | 200 | 副标题 | ||
content | longtext | 4294967295 | 内容 | ||
picture1 | longtext | 4294967295 | 图片1 | ||
picture2 | longtext | 4294967295 | 图片2 | ||
picture3 | longtext | 4294967295 | 图片3 |
表4-2:收藏表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
userid | bigint | 用户id | |||
refid | bigint | 商品id | |||
tablename | varchar | 200 | 表名 | ||
name | varchar | 200 | 名称 | ||
picture | longtext | 4294967295 | 图片 | ||
type | varchar | 200 | 类型(1:收藏,21:赞,22:踩,31:竞拍参与,41:关注) | 1 | |
inteltype | varchar | 200 | 推荐类型 | ||
remark | varchar | 200 | 备注 |
表4-3:购物车表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
tablename | varchar | 200 | 商品表名 | shangpinxinxi | |
userid | bigint | 用户id | |||
goodid | bigint | 商品id | |||
goodname | varchar | 200 | 商品名称 | ||
picture | longtext | 4294967295 | 图片 | ||
buynumber | int | 购买数量 | |||
price | float | 单价 | |||
discountprice | float | 会员价 |
表4-4:商品信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
shangpinmingcheng | varchar | 200 | 商品名称 | ||
shangpinfenlei | varchar | 200 | 商品分类 | ||
pinpai | varchar | 200 | 品牌 | ||
guige | varchar | 200 | 规格 | ||
fengmian | longtext | 4294967295 | 封面 | ||
shangjiariqi | date | 上架日期 | |||
shangpinjieshao | longtext | 4294967295 | 商品介绍 | ||
onelimittimes | int | 单限 | |||
alllimittimes | int | 库存 | |||
thumbsupnum | int | 赞 | 0 | ||
crazilynum | int | 踩 | 0 | ||
clicktime | datetime | 最近点击时间 | |||
clicknum | int | 点击次数 | 0 | ||
price | float | 价格 |
表4-5:地址
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
userid | bigint | 用户id | |||
address | varchar | 200 | 地址 | ||
name | varchar | 200 | 收货人 | ||
phone | varchar | 200 | 电话 | ||
isdefault | varchar | 200 | 是否默认地址[是/否] |
表4-6:商品分类
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
shangpinfenlei | varchar | 200 | 商品分类 |
表4-7:关于我们
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
title | varchar | 200 | 标题 | ||
subtitle | varchar | 200 | 副标题 | ||
content | longtext | 4294967295 | 内容 | ||
picture1 | longtext | 4294967295 | 图片1 | ||
picture2 | longtext | 4294967295 | 图片2 | ||
picture3 | longtext | 4294967295 | 图片3 |
表4-8:订单
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
orderid | varchar | 200 | 订单编号 | ||
tablename | varchar | 200 | 商品表名 | shangpinxinxi | |
userid | bigint | 用户id | |||
goodid | bigint | 商品id | |||
goodname | varchar | 200 | 商品名称 | ||
picture | longtext | 4294967295 | 商品图片 | ||
buynumber | int | 购买数量 | |||
price | float | 价格 | 0 | ||
discountprice | float | 折扣价格 | 0 | ||
total | float | 总价格 | 0 | ||
discounttotal | float | 折扣总价格 | 0 | ||
type | int | 支付类型 | 1 | ||
status | varchar | 200 | 状态 | ||
address | varchar | 200 | 地址 | ||
tel | varchar | 200 | 电话 | ||
consignee | varchar | 200 | 收货人 | ||
remark | varchar | 200 | 备注 | ||
logistics | longtext | 4294967295 | 物流 |
表4-9:海洋馆介绍
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
title | varchar | 200 | 标题 | ||
introduction | longtext | 4294967295 | 简介 | ||
picture | longtext | 4294967295 | 图片 | ||
content | longtext | 4294967295 | 内容 |
表4-10:门票信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
piaowumingcheng | varchar | 200 | 票务名称 | ||
piaowuleixing | varchar | 200 | 票务类型 | ||
danjia | float | 单价 | |||
piaoshu | int | 票数 | |||
fengmian | longtext | 4294967295 | 封面 | ||
yingyeshijian | varchar | 200 | 营业时间 | ||
goupiaodidian | varchar | 200 | 购票地点 | ||
piaowuxiangqing | longtext | 4294967295 | 票务详情 | ||
thumbsupnum | int | 赞 | 0 | ||
crazilynum | int | 踩 | 0 | ||
clicktime | datetime | 最近点击时间 | |||
clicknum | int | 点击次数 | 0 |
表4-11:购票信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
dingdanbianhao | varchar | 200 | 订单编号 | ||
piaowumingcheng | varchar | 200 | 票务名称 | ||
piaowuleixing | varchar | 200 | 票务类型 | ||
danjia | float | 单价 | |||
piaoshu | int | 票数 | |||
zongjia | float | 总价 | |||
yudingshijian | datetime | 预订时间 | |||
beizhu | varchar | 200 | 备注 | ||
zhanghao | varchar | 200 | 账号 | ||
xingming | varchar | 200 | 姓名 | ||
shouji | varchar | 200 | 手机 | ||
ispay | varchar | 200 | 是否支付 | 未支付 |
表4-12:商品信息评论表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
refid | bigint | 关联表id | |||
userid | bigint | 用户id | |||
avatarurl | longtext | 4294967295 | 头像 | ||
nickname | varchar | 200 | 用户名 | ||
content | longtext | 4294967295 | 评论内容 | ||
reply | longtext | 4294967295 | 回复内容 |
表4-13:用户
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
zhanghao | varchar | 200 | 账号 | ||
mima | varchar | 200 | 密码 | ||
xingming | varchar | 200 | 姓名 | ||
nianling | int | 年龄 | |||
xingbie | varchar | 200 | 性别 | ||
shouji | varchar | 200 | 手机 | ||
touxiang | longtext | 4294967295 | 头像 | ||
money | float | 余额 | 0 |
表4-14:门票信息评论表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
refid | bigint | 关联表id | |||
userid | bigint | 用户id | |||
avatarurl | longtext | 4294967295 | 头像 | ||
nickname | varchar | 200 | 用户名 | ||
content | longtext | 4294967295 | 评论内容 | ||
reply | longtext | 4294967295 | 回复内容 |
表4-15:用户表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
username | varchar | 100 | 用户名 | ||
password | varchar | 100 | 密码 | ||
role | varchar | 100 | 角色 | 管理员 | |
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP |
表4-16:配置文件
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
name | varchar | 100 | 配置参数名称 | ||
value | varchar | 100 | 配置参数值 |
表4-17:token表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
userid | bigint | 用户id | |||
username | varchar | 100 | 用户名 | ||
tablename | varchar | 100 | 表名 | ||
role | varchar | 100 | 角色 | ||
token | varchar | 200 | 密码 | ||
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP | ||
expiratedtime | timestamp | 过期时间 | CURRENT_TIMESTAMP |
表4-18:在线客服
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
userid | bigint | 用户id | |||
adminid | bigint | 管理员id | |||
ask | longtext | 4294967295 | 提问 | ||
reply | longtext | 4294967295 | 回复 | ||
isreply | int | 是否回复 |
前台系统模块实现
当游客打开系统的网址后,首先看到的就是首页界面。在这里,游客能够看到海洋馆预约系统的导航条显示首页、门票信息、商品信息、海洋馆介绍、后台管理、在线客服、购物车、个人中心等,系统首页界面如图5-1所示:
用户点击商品信息,在商品信息页面的输入栏中填写商品名称、商品分类、品牌,进行查询,还可以查看商品名称、商品分类、品牌、规格、封面、上架日期、单限、库存、价格、点击次数,如有需要可以点击添加到购物车、立即购买、点赞、收藏或者评论等操作,如图5-3所示:
用户点击门票信息,在门票信息页面的搜索栏输入票务名称、票务类型,然后查看票务名称、票务类型、单价、票数、封面、营业时间、购票地点、点击次数等内容,如有需要可以点击线上预订、点赞、收藏或者评论等操作,如图5-4所示:
后台管理员模块实现
管理员登录,在登录页面正确输入用户名和密码、角色后,点击登录操作;如图5-7所示。
管理员进入系统主页面,主要功能包括对首页、个人中心、用户管理、门票信息管理、购票信息管理、商品分类管理、商品信息管理、系统管理、订单管理等进行操作。管理员主页面如图5-8所示:
结 论
经过这几个月的努力,在老师和同学的帮助与指导下,对系统顺利完成。对于该系统的研究和开发虽然没有耗费大量的时间,但为了成功完成该海洋馆预约系统,消耗了大量的经历和汗水去了解学习这方面涉及到的专业知识以及开发环境的应用。
该系统的设计与实现,是经过了很长时间的分析、观察、调研和研究分析并整理资料实施的。海洋馆预约系统采用B/S架构、java开发语言、springboot框架以及MySQL数据库等技术开发与设计。该系统主要分为用户和管理员两个角色。该海洋馆预约系统分为前台和后台两大部分。前台的主要功能为向注册用户展示门票信息、商品信息、海洋馆介绍等,并对一些数据进行记录。后台的主要任务是对数据的一些准备处理的工作,对于管理员的数据属性的添加、维护和修改。每个功能在完成各自任务的同时也相互合作,一起来处理各个任务以及进程。
尽管该系统对用户可以满足一些基本的海洋馆预约的需求,但该系统还存在许多问题和有待完善的地方。主要分为以下两点:
(1)该海洋馆预约系统的适用面比较局限。页面的设置还是过于繁琐,不够简洁。加上社会方面的飞速发展,用户的条件也在发生新的变化。该系统还存在大数据下的并发和并行操作的不稳定性,当一个时间段内或者同一时刻时,过量的用户访问该网站会让网站的服务器出现崩溃的现象,一些操作无法正常的运行。种种原因使得该系统存在一些局限性。
(2)需要人工来处理的数据模块太多,需要减少大量的人工操作。在对海洋馆预约处理的程序中,难免会出现各种各样的错误数据或者是异常数据,一旦这些数据大量积累存在过多时,系统自我调节修复能力有限就不得不需要人工的干预了。但是人工如果经常去进行操作的话,就会造成该系统的运行速度变慢,对其余正确的数据产生干扰,而且有可能对正确数据的损害以及泄露,从而将会减少该系统的稳定性。对于人力和财力都造成了不必要的浪费。
从上述可以看出该海洋馆预约系统还有很多不足之处,在日后要结合具体项目问题进行修改和研究。