注:仅展示部分文档内容和系统截图,需要完整的视频、代码、文章和安装调试环境请私信up主。
摘要
随着信息技术的飞速发展,计算机技术被广泛应用于生活,并且伴随着奥运热、冬奥热,各类体育运动也开始采用计算机技术。然而,现在大部分运动团体仍然采用纸质化办公的方式,这种以人为主力的管理方式已然落后,热火篮球俱乐部的设计就是为了改变这种传统的管理方式,帮助管理者短时高效处理好俱乐部事务。
本次设计的热火篮球俱乐部使用SpringBoot框架开发,数据库采用了MySQL数据库进行设计,热火篮球俱乐部最终以网站的形式投入使用。该热火篮球俱乐部实现了会员注册/登录、比赛报名、场地预定、会员管理、场地管理、场地预约管理、比赛管理、积分管理等功能。热火篮球俱乐部的设计可以节省俱乐部管理的人力资源、节约纸资源,极大的提升了俱乐部工作者的工作效率,简化了用户参与俱乐部活动的程序,为体育运动的蓬勃发展增添一份力量。
关键词:篮球俱乐部;Spring Boot;MySQL
目 录
3.2.2系统用例模型
本系统致力于打造一个舒适的俱乐部工作环境提高俱乐部事务处理效率,同时为用户提供一个便捷的运动场地预约平台,所以本系统的设计要全方位的满足各用户的使用需求。
本热火篮球俱乐部主要是为两种用户所服务的,即会员和管理员。会员的功能主要包括:足球场地,可以预定场地;器材信息,可租用相关器材;论坛,会员可在论坛中查看与足球相关的帖子;后台管理,可以查看预定订单的详情。管理员的功能包括:用户管理,管理所有的会员信息,进行新增、修改、删除操作;足球场地管理,可以新增、修改、删除足球场地的信息;预定场地管理,可以对足球场地预定订单进行审核;论坛管理,可以新增、修改、删除论坛中的帖子。整个系统的用例分析图如图3-1所示。
4.2.1管理员功能描述
管理员作在本系统中可以操作的功能如表4-1所示。
表4-1 管理员功能描述表
编号 | 功能名称 | 功能描述 |
1 | 个人中心 | 修改管理员用户的账号信息 |
2 | 会员管理 | 管理会员用户,包括增加、删除、修改、查询等基本操作 |
3 | 场地管理 | 管理员在此添加场地信息,注意事项 |
4 | 场地预约管理 | 查看用户场地预约,根据实际预约安排操作通过和预约失败 |
5 | 俱乐部分类管理 | 对俱乐部类型进行划分,划分出各个类型 |
6 | 比赛管理 | 发布比赛活动,等待会员报名 |
7 | 积分管理 | 发布比赛赛果,设置会员积分和积分排名 |
9 | 系统管理 | 对系统进行维护,保证俱乐部的健康活动范围 |
4.2.2会员功能描述
会员用户在本系统可以操作的功能如表4-2所示。
表4-2 会员功能描述表
编号 | 功能名称 | 功能描述 |
1 | 会员注册 | 用户根据注册提示填写个人信息完成会员用户注册 |
2 | 个人中心管理 | 可修改自己的姓名,账号密码等信息。 |
3 | 基本信息管理 | 查看会员基本信息、付款详情、进出次数等 |
4 | 比赛报名 | 报名参加俱乐部的比赛活动 |
5 | 场地预定 | 查看场地情况,选择日期时间预定场地 |
4.3 数据库设计
数据库设计在系统开发的过程中起着及其重要的作用。用户在系统中进行的功能操作之所以能直接展示在浏览器上,是因为系统在用户操作时将数据同步给数据库,数据库做好数据处理再反馈给系统。所以,一个优秀的系统必然有一个优秀的数据库支持。
4.3.1数据库概念设计
第五章 系统详细设计
详细设计的目的不仅是完整的实现每个模块的功能需求,更重要的是设计处理过程应尽可能的简单易懂,让用户操作起来容易上手。
5.1 数据库连接
为了实现数据存储功能,首先需要连接数据库,在Springboot架构中连接mysql数据库的操作如下:
- 在pom.xml文件内添加mysql依赖
- 在resources目录下的application.yml配置文件中配置数据库的信息
- 启动程序,就可成功连接mysql数据库
配置mysql数据库主要代码如下:
spring:
datasource:
driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/springboots1qv5?useUnicode=true&
characterEncoding=utf-8&useJDBCCompliantTimezoneShift=true&
useLegacyDatetimeCode=false&serverTimezone=GMT%2B8
username: root
password: 123456
在resourc/mapper目录下对应的mapper.xml文件写入sql查询语句,调用后就可完成增删改查数据的操作。
5.2 开发流程
5.2.1 entity层
entity层用于创建实体类,每一个实体类对应于数据库中的一张表,类中的各个属性对应于数据表中的字段,实现了set和get的方法。实体类可以作为参数传递,帮助开发提高开发效率。在本系统中主要的实体类如图5-1所示。
5.2.2 dao层
即mapper层,主要是创建接口和mapper.xml。mapper层主要负责将数据库的数据进行持久化操作,以实现对数据的增删改查操作,需要与xml文件名一一对应。在本系统中主要的mapper接口如图5-2所示。
5.4 用户模块实现
5.4.1 首页模块
1、设计思路
当用户登录成功后进入首页,首页导航栏展示首页、篮球场地、培训项目、论坛、个人中心、后台管理。首页展示当前系统下添加的篮球场地名称及预览图,点击图片跳转到对应篮球场地详情页面。主要页面如图5-10所示。
5.5.4 预定场地管理模块
1、设计思路
管理员预定场地管理界面包括查看详情,修改和删除用户的操作。可以查看那片场地被预定,面积地点的信息,以及预定员工姓名,员工工号,员工手机,用户账号,用户姓名,手机号码,提交时间,单价,是否支付和审核状态的信息。
2、技术实现
在预定场地管理模块,首先创建了YudingchangdiEntity实体类与yudingchangdi表对应。之后创建了YudingchangdiDao.java写入YudingchangdiDao接口。与接口对应的是/resource/mapper文件夹下的YudingchangdiDao.xml,存放的语句是针对数据库进行操作,以便进行数据持久化操作。再创建YudingchangdiService.java和YudingchangdiServiceImpl.java,最后创建YudingchangdiController.java实现对预定场地增删改查等操作的业务流程
(1)添加场地
- 前端监听事件,将请求交给controller层处理。
http.requestJson('yudingchangdi' + '/add', 'post', data, function(res)
- 在YudingchangdiController.java中,到/add的请求会交给add方法处理,add方法返回将添加的场地记录插入数据库中。
@RequestMapping("/add")
public R add(@RequestBody YudingchangdiEntity yudingchangdi, HttpServletRequest
request){
yudingchangdi.setId(new Date().getTime()+new Double(Math.floor(Math.random()
*1000)).longValue());
yudingchangdiService.insert(yudingchangdi);
return R.ok();
}
(2)删除场地:根据所选场地id删除
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
yudingchangdiService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
(3)编辑场地:与添加场地处一致
(4)搜索场地:使用jQuery选择器获取id为changdimingcheng的元素,并判断其值是否存在。如果存在,则将其值存储到param变量中,并在值前后加上%符号,表示进行模糊查询。最终param变量中的内容将会被传递给后端接口进行查询。
if (jquery('#changdimingcheng').val()) {
param['changdimingcheng'] = jquery('#changdimingcheng').val() ? '%'
+ jquery('#changdimingcheng').val() + '%' : '';
}
用户管理、教练管理、员工管理、篮球场地管理、培训项目管理、培训报名管理、器材信息管理、器材类型管理、器材租用管理、器材归还管理、论坛管理的增删改查方法与此处一致。