🎈系统亮点:协同过滤算法、图形化分析;
一.系统开发工具与环境搭建
1.系统设计开发工具
后端使用Java编程语言的Spring boot框架
项目架构:B/S架构
运行环境:win10/win11、jdk17
前端:
技术:框架Vue.js;UI库:ElementUI;
开发工具:Visual Studio Code;
后端:
技术:Java语言、mybatis plus、Spring boot框架;
开发工具:IDEA 2023.3.3版本;
小程序端:
技术:框架Uniapp;
开发工具:HBuilder X;
数据库:
数据库:mysql5.7
数据库工具:Navicat12版本;
二.功能描述
1.管理员功能:
- 用户管理:允许管理员创建、编辑、删除用户账户,以及管理用户的权限和角色。
- 系统通知管理:管理员上传系统通知或者进行更改系统通知,保证用户可以及时的收到通过。
- 广告封面管理:负责上传、编辑或删除系统内的广告封面,以维持广告内容的时效性和相关性。
- 锻炼课程管理:包括添加、修改和删除锻炼课程,设置锻炼的标题,是否收费,价格,视频简介,介绍内容等信息。
- 商品管理:负责商城内商品的上架、下架、价格调整等操作,确保商品信息的准确性和完整性。
- 中考体测管理:可能包括设置体测项目、考试时间、分数占比等,以确保体测过程的公正性和规范性。
- 话题管理:管理员进行管理和删除不当的话题或评论,维护体测话题交流区的秩序和正面氛围。
2.用户功能:
- 查看体测资讯:用户能够浏览关于体测的最新消息、政策变动和相关动态。
- 智能推荐课程:系统根据用户的体测成绩、兴趣和目标,使用协调过滤算法推荐合适的锻炼课程,帮助用户提升体能。
- 商城购物:用户可以在商城内购买与体测相关的商品,如运动装备、营养品等。
- 体测话题交流:提供一个平台,让用户能够分享体测经验、交流心得,增强社区的互动性。
- 系统通知:用户能够接收系统发送的通知,了解最新的活动和重要消息。
- 我的订单:用户可以查看和管理自己的订单历史,包括已购买的课程和商品。
- 个人中心:一个私人的管理区域,用户可以在这里编辑个人信息、修改密码等。
- 我要充值:提供充值功能,让用户能够购买更多的课程或商品。
- 我的课程:用户可以查看已购买的课程列表,以及课程的进度和完成情况。
三.系统实现
1.小程序端
1.小程序首页
小程序首页,展示用户锻炼的课程,健身商城,查看个人成绩,智能推荐课程。小程。下面部分展示体测相关的一些资讯类型和资讯信息。
2.课程展示界面
课程展示,一个是按照课程分类进行展示课程,一个通过分析用户行为数据,为用户提供个性化的课程推荐,帮助用户发现新的学习资源,根据协同过滤算法推荐课程。
3.购物商品界面
购物商城,根据商品分类展示商品,点击想要的商品,浏览商品信息,包含商品的价格,库存和详情,点击我要下单,填写购买的数量,联系人和地址。
4.个人中心界面
个人中心,可以修改个人的信息,查看购买的订单信息的最新动态。充值金额,购买的课程。个人余额信息,发布的话题的数量,对发布的话题进行修改。展示最新的体测成绩总分,并使用树状图展示最新的体测成绩。
2.管理端
1.登录页面
登录界面,管理员通过用户名和密码,输入图形验证码,点击登录,进入后端管理界面。
2 锻炼课程界面
管理员管理锻炼课程,可以看到所有的课程,支持关键字快速定位课程。管理员可以新增锻炼的课程,包含设置锻炼的标题,是否收费,价格,视频简介,介绍内容等信息。作为管理员,也是可以进行修改上传错误的课程信息。当课程不在需要了,管理员也可以进行删除操作。
3 锻炼课程购买记录界面
管理员可以查看所有的课程购买的记录,可以根据课程和购买人去查询购买的记录。包含购买人,购买的课程,购买的数量,金额,订单状态等信息。
4 商品管理界面
管理员维护商品信息,管理员需要定期上传更新商品内容、价格、库存量信息。对于不再出售的商品进行删除操作。
5 测试项目模块
管理员管理体测的项目,维护体测的项目名称,测试的单位,分数的占比等信息。若不再测试该项目,管理员可以进行删除或者修改操作。
6 测试项目记录界面
管理员可以查看所有人的测试项目的记录,包含测试人,测试项目,分数和实际成绩。如果成绩有误,管理员可以帮忙修改成绩或者删除这条记录。
7 话题界面
管理员可以新增话题类型和话题,包含话题的标题,浏览的次数和话题内容,管理员可以对话题下面的评论进行监督,为了给大家营造一个美好和谐的交流平台,会对不好的言论进行删除处理。
四.数据库设计
用户表
(1) 用户表用于存放用户的信息,包含用户主键,创建时间,创建人,地址,账号,出生年月,钱包,邮箱,登录时间段,手机号码,密码,角色,头像,名称,性别字段。
表4-1 用户表
列名 | 数据类型 | 主键 | 允许空值 | 名称 |
Id | int(11) | PK | NO | 用户主键 |
CreationTime | timestamp | - | YES | 创建时间 |
CreatorId | int(11) | - | YES | 创建人 |
Address | varchar(128) | - | YES | 地址 |
UserName | varchar(128) | - | YES | 账号 |
Birth | timestamp | - | YES | 出生年月 |
Money | double(20,5) | - | YES | 钱包 |
| varchar(128) | - | YES | 邮箱 |
LoginTimePeriod | varchar(128) | - | YES | 登录时间段 |
PhoneNumber | varchar(128) | - | YES | 手机号码 |
Password | varchar(128) | - | YES | 密码 |
RoleType | int(11) | - | YES | 角色 |
ImageUrls | text | - | YES | 头像 |
Name | varchar(128) | - | YES | 名称 |
Sex | varchar(128) | - | YES | 性别 |
2.资讯表
(2) 资讯表用于存放资讯相关的信息,包含资讯主键,创建时间,创建人,封面,文章类型,上架状态,发表者,文章内容,标题字段。
表4-2 资讯表
列名 | 数据类型 | 主键 | 允许空值 | 名称 |
Id | int(11) | PK | NO | 资讯主键 |
CreationTime | timestamp | - | YES | 创建时间 |
CreatorId | int(11) | - | YES | 创建人 |
ImageUrls | text | - | YES | 封面 |
ArticleTypeId | int(11) | - | YES | 文章类型 |
IsPutaway | tinyint(1) | - | YES | 上架状态 |
Author | varchar(128) | - | YES | 发表者 |
Content | text | - | YES | 文章内容 |
Title | varchar(128) | - | YES | 标题 |
3.资讯类型表
(3) 资讯类型表用于存放资讯类型信息,包含资讯类型主键,创建时间,创建人,资讯名称,资讯封面字段。
表4-3 资讯类型表
列名 | 数据类型 | 主键 | 允许空值 | 名称 |
Id | int(11) | PK | NO | 资讯类型主键 |
CreationTime | timestamp | - | YES | 创建时间 |
CreatorId | int(11) | - | YES | 创建人 |
ImageUrls | varchar(128) | - | YES | 资讯封面 |
Title | varchar(128) | - | YES | 资讯名称 |
4.门户封面表
(4) 门户封面表用于存放轮播图信息,包含门户封面主键,创建时间,创建人,标题,备注,封面字段。
表4-4 门户封面表
列名 | 数据类型 | 主键 | 允许空值 | 名称 |
Id | int(11) | PK | NO | 门户封面主键 |
CreationTime | timestamp | - | YES | 创建时间 |
CreatorId | int(11) | - | YES | 创建人 |
Title | varchar(128) | - | YES | 标题 |
Remark | varchar(128) | - | YES | 备注 |
ImageUrls | text | - | YES | 封面 |
5.评论表
(5) 评论表用于存放话题的评论,包含评论主键,创建时间,创建人,所属话题,评论内容,名称,头像字段。
表4-5 评论表
列名 | 数据类型 | 主键 | 允许空值 | 名称 |
Id | int(11) | PK | NO | 评论主键 |
CreationTime | timestamp | - | YES | 创建时间 |
CreatorId | int(11) | - | YES | 创建人 |
TopicId | int(11) | - | YES | 所属话题 |
Content | text | - | YES | 评论内容 |
NickName | varchar(128) | - | YES | 名称 |
HeadImage | text | - | YES | 头像 |
6.锻炼课程表
(6) 锻炼课程表用于存放课程信息,包含锻炼课程主键,创建时间,创建人,标题,价格,标签,主图,视频文件,是否收费,介绍内容,封面,所属类型字段。
表4-6 锻炼课程表
列名 | 数据类型 | 主键 | 允许空值 | 名称 |
Id | int(11) | PK | NO | 锻炼课程主键 |
CreationTime | timestamp | - | YES | 创建时间 |
CreatorId | int(11) | - | YES | 创建人 |
Title | varchar(128) | - | YES | 标题 |
Price | double(20,5) | - | YES | 价格 |
Labels | varchar(128) | - | YES | 标签 |
ImageUrls | text | - | YES | 主图 |
VideoFile | varchar(128) | - | YES | 视频文件 |
IsFees | tinyint(1) | - | YES | 是否收费 |
Content | text | - | YES | 介绍内容 |
Cover | text | - | YES | 封面 |
ExerciseTypeId | int(11) | - | YES | 所属类型 |
7.锻炼课程购买记录表
(7) 锻炼课程购买记录表用于存放课程购买的记录,包含锻炼课程购买记录主键,创建时间,创建人,锻炼课程,购买数量,购买金额,订单状态枚举,购买人字段。
表4-7 锻炼课程购买记录表
列名 | 数据类型 | 主键 | 允许空值 | 名称 |
Id | int(11) | PK | NO | 锻炼课程购买记录主键 |
CreationTime | timestamp | - | YES | 创建时间 |
CreatorId | int(11) | - | YES | 创建人 |
ExerciseId | int(11) | - | YES | 锻炼课程 |
Qty | int(11) | - | YES | 购买数量 |
Price | double(20,5) | - | YES | 购买金额 |
OrderStatus | int(11) | - | YES | 订单状态枚举 |
BuyId | int(11) | - | YES | 购买人 |
8.锻炼课程方案表
(8) 锻炼课程方案表用于存放课程方案信息,包含锻炼课程方案主键,创建时间,创建人,方案名称,方案编码字段。
表4-8 锻炼课程方案表
列名 | 数据类型 | 主键 | 允许空值 | 名称 |
Id | int(11) | PK | NO | 锻炼课程方案主键 |
CreationTime | timestamp | - | YES | 创建时间 |
CreatorId | int(11) | - | YES | 创建人 |
Name | varchar(128) | - | YES | 方案名称 |
Code | varchar(128) | - | YES | 方案编码 |
9.锻炼课程方案课程表
(9) 锻炼课程方案课程表用于存放课程信息,包含锻炼课程方案课程主键,创建时间,创建人,所属课程方案,所属课程字段。
表4-9 锻炼课程方案课程表
列名 | 数据类型 | 主键 | 允许空值 | 名称 |
Id | int(11) | PK | NO | 锻炼课程方案课程主键 |
CreationTime | timestamp | - | YES | 创建时间 |
CreatorId | int(11) | - | YES | 创建人 |
PlanId | int(11) | - | YES | 所属课程方案 |
ExerciseId | int(11) | - | YES | 所属课程 |
10. 锻炼课程方案类型表
(10) 锻炼课程方案类型表用于存放课程方案信息,包含锻炼课程类型主键,创建时间,创建人,类型名称,类型编码字段。
表4-10 锻炼课程方案类型表
列名 | 数据类型 | 主键 | 允许空值 | 名称 |
Id | int(11) | PK | NO | 锻炼课程类型主键 |
CreationTime | timestamp | - | YES | 创建时间 |
CreatorId | int(11) | - | YES | 创建人 |
Name | varchar(128) | - | YES | 类型名称 |
Code | varchar(128) | - | YES | 类型编码 |
11.商品表
(11) 商品表用于存放商品信息,包含商品名称主键,创建时间,创建人,商品名称,内容,封面,主图,库存,金额,商品类型字段。
表4-11 商品表
列名 | 数据类型 | 主键 | 允许空值 | 名称 |
Id | int(11) | PK | NO | 商品名称主键 |
CreationTime | timestamp | - | YES | 创建时间 |
CreatorId | int(11) | - | YES | 创建人 |
Name | varchar(128) | - | YES | 商品名称 |
Content | text | - | YES | 内容 |
CoverUrls | varchar(128) | - | YES | 封面 |
ImageUrls | varchar(128) | - | YES | 主图 |
Stock | int(11) | - | YES | 库存 |
Money | double(20,5) | - | YES | 金额 |
GoodTypeId | int(11) | - | YES | 商品类型 |
12.商品类型表
(12) 商品类型表用于存放商品类型,包含商品类型主键,创建时间,创建人,类型名称,类型编码字段。
表4-12 商品类型表
列名 | 数据类型 | 主键 | 允许空值 | 名称 |
Id | int(11) | PK | NO | 商品类型主键 |
CreationTime | timestamp | - | YES | 创建时间 |
CreatorId | int(11) | - | YES | 创建人 |
Name | varchar(128) | - | YES | 类型名称 |
Code | varchar(128) | - | YES | 类型编码 |
13.订单记录表
(13) 订单记录表用于存放订单的记录,包含订单记录主键,创建时间,创建人,商品类型,收货地址,商品,购买价格,联系人,电话号码,购买数量,订单状态枚举字段。
表4-13 订单记录表
列名 | 数据类型 | 主键 | 允许空值 | 名称 |
Id | int(11) | PK | NO | 订单记录主键 |
CreationTime | timestamp | - | YES | 创建时间 |
CreatorId | int(11) | - | YES | 创建人 |
GoodTypeId | int(11) | - | YES | 商品类型 |
Address | varchar(128) | - | YES | 收货地址 |
GoodId | int(11) | - | YES | 商品 |
Price | double(20,5) | - | YES | 购买价格 |
LinkName | varchar(128) | - | YES | 联系人 |
Phone | varchar(128) | - | YES | 电话号码 |
Qty | int(11) | - | YES | 购买数量 |
OrderStatus | int(11) | - | YES | 订单状态枚举 |
14.测试项目表
(14) 测试项目表用于存放测试的项目,包含测试项目主键,创建时间,创建人,测试项目期编码,备注,测试名称,测试封面,测试单位,占比分值,标签字段。
表4-14 测试项目表
列名 | 数据类型 | 主键 | 允许空值 | 名称 |
Id | int(11) | PK | NO | 测试项目主键 |
CreationTime | timestamp | - | YES | 创建时间 |
CreatorId | int(11) | - | YES | 创建人 |
Code | varchar(128) | - | YES | 测试项目期编码 |
Remark | varchar(128) | - | YES | 备注 |
Name | varchar(128) | - | YES | 测试名称 |
ImageUrls | text | - | YES | 测试封面 |
Unit | varchar(128) | - | YES | 测试单位 |
Score | double(20,5) | - | YES | 占比分值 |
Label | varchar(1024) | - | YES | 标签 |
15.测试记录表
(15) 测试记录表用于存放测试记录,包含测试记录主键,创建时间,创建人,测试人,分数,测试项目,实际记录字段。
表4-15 测试记录表
列名 | 数据类型 | 主键 | 允许空值 | 名称 |
Id | int(11) | PK | NO | 测试记录主键 |
CreationTime | timestamp | - | YES | 创建时间 |
CreatorId | int(11) | - | YES | 创建人 |
TestUserId | int(11) | - | YES | 测试人 |
Score | double(20,5) | - | YES | 分数 |
TestProjectId | int(11) | - | YES | 测试项目 |
Record | int(11) | - | YES | 实际记录 |
16. 话题表
(16) 话题表用于存放所有的话题,包含话题主键,创建时间,创建人,标题,封面,主图,浏览数,内容,话题类型字段。
表4-16 话题表
列名 | 数据类型 | 主键 | 允许空值 | 名称 |
Id | int(11) | PK | NO | 话题主键 |
CreationTime | timestamp | - | YES | 创建时间 |
CreatorId | int(11) | - | YES | 创建人 |
Title | varchar(128) | - | YES | 标题 |
Cover | varchar(128) | - | YES | 封面 |
ImageUrls | varchar(128) | - | YES | 主图 |
ViewCount | int(11) | - | YES | 浏览数 |
Content | text | - | YES | 内容 |
TopicTypeId | int(11) | - | YES | 话题类型 |
17. 话题类型表
(17) 话题类型表用于存放所有的话题类型,包含话题类型主键,创建时间,创建人,名称,编码字段。
表4-17 话题类型表
列名 | 数据类型 | 主键 | 允许空值 | 名称 |
Id | int(11) | PK | NO | 话题类型主键 |
CreationTime | timestamp | - | YES | 创建时间 |
CreatorId | int(11) | - | YES | 创建人 |
Name | varchar(128) | - | YES | 名称 |
Code | varchar(128) | - | YES | 编码 |