基于JavaHadoop登山俱乐部推荐系统-计算机毕设源码 06829
JavaHadoop登山俱乐部推荐系统
摘 要
随着互联网技术的快速发展,信息过载问题日益严重,推荐系统作为一种有效的信息过滤工具,能够帮助用户在海量数据中快速找到有价值的内容。登山俱乐部作为一个特定领域,其用户面临着大量的活动、路线和装备选择,因此,设计一个高效的推荐系统显得尤为重要。
本文介绍了一种基于Java和Hadoop的登山俱乐部推荐系统的设计与实现。该系统采用分布式架构,利用Hadoop平台的大数据处理能力,实现了对大规模数据的存储和高效处理。系统主要包括数据存储层、数据处理层、推荐算法层和应用层。数据存储层利用Hadoop的HDFS进行数据存储,数据处理层则通过MapReduce模型进行数据的并行处理。推荐算法层根据用户的行为和偏好,选择合适的推荐算法进行推荐,如协同过滤、内容推荐等。应用层则是用户与系统交互的界面,用于展示推荐结果。
在实现过程中,系统采用了Java语言进行开发,并利用Hadoop的API进行数据的存储和处理。同时,为了提高系统的性能和推荐精度,还采取了一系列优化措施,如数据预处理、特征选择、模型调参和负载均衡等。
实验结果表明,该系统在处理大规模数据时具有明显的优势,能够为用户提供个性化的登山活动、路线和装备推荐。同时,系统还具有良好的可扩展性和稳定性,能够适应集群规模的扩大和数据量的增长。
总之,本文介绍的基于Java和Hadoop的登山俱乐部推荐系统,通过采用分布式架构和合适的推荐算法,实现了大规模数据的存储和处理,提高了推荐精度和系统的可扩展性,为登山俱乐部的用户提供了一种高效、智能的推荐服务。
关键词:登山俱乐部推荐系统;Java语言;分布式架构;MapReduce模型
With the rapid development of Internet technology, the problem of information overload is becoming more and more serious. As an effective information filtering tool, recommendation system can help users quickly find valuable content in massive data. As a specific field, mountaineering club users are faced with a lot of activities, routes and equipment choices, therefore, it is particularly important to design an efficient recommendation system.
This paper describes the design and implementation of a mountaineering club recommendation system based on Java and Hadoop. The system adopts the distributed architecture and uses the big data processing power of Hadoop platform to realize the storage and efficient processing of large-scale data. The system mainly includes data storage layer, data processing layer, recommendation algorithm layer and application layer. The data storage layer uses Hadoop HDFS for data storage, while the data processing layer parallel izes data through MapReduce model. According to users' behavior and preferences, the recommendation algorithm layer selects the appropriate recommendation algorithm for recommendation, such as collaborative filtering, content recommendation, etc. The application layer is the interface where the user interacts with the system to show the recommended results.
In the implementation process, the system adopts Java language for development, and uses Hadoop API for data storage and processing. Meanwhile, in order to improve the system performance and recommendation accuracy, a series of optimization measures are taken, such as data preprocessing, feature selection, model tuning and load balancing.
The experimental results show that the system has obvious advantages in processing large-scale data and can provide users with personalized mountaineering activities, routes and equipment recommendations. At the same time, the system also has good scalability and stability, which can adapt to the expansion of cluster size and the growth of data volume.
In short, the mountaineering club recommendation system based on Java and Hadoop introduced in this paper realizes the storage and processing of large-scale data by adopting distributed architecture and appropriate recommendation algorithm, improves the recommendation accuracy and the scalability of the system, and provides an efficient and intelligent recommendation service for the users of the mountaineering club.
Key words: mountaineering club recommendation system; Java language; distributed architecture; MapReduce model
目 录
(一)选题背景和意义
随着互联网和大数据技术的快速发展,信息过载问题愈发严重,用户在面对海量数据时往往难以快速找到有价值的内容。特别是在登山俱乐部这一特定领域,用户需要筛选大量的活动、路线和装备信息,这不仅耗费时间和精力,还可能因为信息不全或选择不当而导致不佳的体验。因此,设计一个高效的推荐系统,能够根据用户的偏好和行为,为其提供个性化的推荐服务,显得尤为重要。
意义:
提升用户体验:通过推荐系统,用户可以快速找到符合自己兴趣和需求的登山活动、路线和装备,减少信息筛选的时间和精力,提升用户体验。
促进俱乐部发展:推荐系统不仅能够帮助用户做出更好的选择,还能够根据用户的反馈和行为,为登山俱乐部提供更精准的运营策略,促进俱乐部的发展。
推动技术进步:基于Java和Hadoop的推荐系统设计与实现,不仅涉及到大数据处理、分布式计算等技术,还涉及到推荐算法的优化和改进,对于推动相关技术的进步和发展具有重要意义。
综上所述,论文《JavaHadoop登山俱乐部推荐系统设计与实现》的选题背景和意义在于,通过设计和实现一个高效的推荐系统,解决用户在面对海量数据时的选择困难问题,提升用户体验,促进登山俱乐部的发展,并推动相关技术的进步和发展。这不仅具有重要的应用价值,还对于推动相关领域的研究和发展具有重要意义。
(二)国内外研究现状
在国内,随着大数据和人工智能技术的快速发展,推荐系统已经广泛应用于各个领域,包括电商、音乐、视频等。然而,在登山俱乐部这一特定领域,推荐系统的研究和应用还相对较少。尽管有一些基于传统算法的推荐系统被开发出来,但在处理大规模数据和提供个性化推荐方面仍存在不足。因此,设计和实现一个基于Java和Hadoop的登山俱乐部推荐系统,具有重要的研究价值和实际应用意义。
在国外,推荐系统的研究和应用已经相对成熟。许多知名的在线教育平台和研究机构已经开发出了具有个性化推荐功能的学习系统,这些系统通常采用了先进的推荐算法和机器学习技术,实现了对用户需求的精准匹配和资源的智能推荐。在登山俱乐部领域,也有一些类似的推荐系统被开发出来,它们能够根据用户的偏好和行为,提供个性化的活动、路线和装备推荐。这些系统不仅提高了用户的满意度和忠诚度,还为登山俱乐部带来了更多的商业机会和竞争优势。
综上所述,国内外在推荐系统的研究和应用方面已经取得了一定的成果,但在登山俱乐部这一特定领域,仍然存在许多挑战和机遇。因此,设计和实现一个基于Java和Hadoop的登山俱乐部推荐系统,不仅有助于解决用户在实际应用中的需求问题,还能够推动相关领域的技术进步和发展。
(三)系统的特点
大数据处理能力:该系统基于Hadoop架构,能够高效地处理和分析登山俱乐部产生的大量数据。Hadoop的分布式存储和计算能力使得系统能够应对大规模数据的挑战,确保数据的实时性和准确性,为推荐算法提供坚实的基础。
个性化推荐:系统通过先进的推荐算法,能够根据用户的偏好、历史行为以及实时反馈,提供个性化的登山活动、路线和装备推荐。这种个性化服务不仅提高了用户的满意度,还增强了用户对登山俱乐部的忠诚度。
可扩展性与灵活性:系统采用模块化设计,各功能模块之间相对独立,便于后续的维护和扩展。随着登山俱乐部业务的增长和用户需求的变化,系统可以方便地添加新的功能模块或调整现有功能,以满足不断变化的市场需求。
用户交互友好:系统提供了直观、易用的用户界面,使用户能够轻松浏览、搜索和筛选推荐内容。同时,系统还支持用户反馈机制,用户可以对推荐结果进行评价和反馈,进一步优化推荐算法。
安全与稳定性:系统在设计时充分考虑了安全性和稳定性问题,采用了多种安全措施来保障用户数据的安全。同时,系统还具有强大的容错和恢复能力,能够确保在发生故障时快速恢复服务,保证用户的使用体验。
综上所述,该系统在大数据处理能力、个性化推荐、可扩展性与灵活性、用户交互友好以及安全与稳定性等方面均表现出色,为登山俱乐部提供了一个高效、智能的推荐服务平台。
二、系统需求分析
(一)业务需求分析
随着生活水平的提高,人们的健康意识越来越强,登山作为一种受欢迎的户外运动,吸引了大量爱好者的参与。然而,当前用户在选择登山路线和俱乐部时,往往面临信息获取困难、选择不精准等问题。为了解决这些问题,设计一个基于Java和Hadoop的登山俱乐部推荐系统显得尤为重要。
该系统的核心业务需求包括:
整合和发布登山俱乐部及路线信息:系统需要能够收集和整理各个登山俱乐部的信息,包括俱乐部的资质、教练团队、历史活动记录等,以及不同登山路线的难度、风景特色等详细信息。
提供个性化推荐:通过分析用户的登山历史、偏好、体能状况等数据,系统需要能够为用户推荐最适合的登山路线和俱乐部。
提升用户体验:系统需要提供友好的用户界面,使用户能够方便地查询、筛选和反馈登山信息,同时支持用户之间的交流和分享。
支持管理员管理:管理员需要对系统上的各项信息进行管理,包括俱乐部信息的审核、用户反馈的处理等。
为了满足上述业务需求,系统需要具备以下功能:
用户注册与登录:用户可以通过注册获取账号,登录系统后享受个性化推荐和其他服务。
俱乐部与路线信息管理:系统需要能够添加、修改、删除和查询各个登山俱乐部及其路线信息,确保信息的准确性和完整性。
个性化推荐:系统通过分析用户的历史行为和偏好,为用户推荐最适合的登山路线和俱乐部。这涉及到对用户数据的采集、处理和建模,以及推荐算法的实现。
用户反馈与交流:用户可以对推荐的俱乐部和路线进行反馈,系统需要收集这些反馈并进行处理,以优化推荐算法。同时,系统需要支持用户之间的交流和分享,提升用户体验。
管理员管理功能:管理员需要对系统上的各项信息进行管理,包括俱乐部信息的审核、用户反馈的处理、通知公告的发布等。这要求系统具备完善的权限管理和操作日志记录功能。
此外,系统还需要具备良好的可扩展性和可维护性,以适应未来用户数量的增加和需求的变化。在开发过程中,需要注重代码的可读性和可维护性,采用合理的架构设计和算法选择,确保系统的稳定性和性能。
综上所述,JavaHadoop登山俱乐部推荐系统的设计与实现需要充分考虑业务需求和功能需求,确保系统能够满足用户的期望,提升用户体验。
在登山俱乐部推荐系统中,根据使用系统的用户角色分析,可以分为管理员和普通用户等两大模块,各模块的数据需求分析涵盖多个关键领域,其中管理员需要处理以下几方面的功能需求:
1. 后台首页:管理员登录后首先进入的页面,提供系统概况、最新动态、用户活动统计等概览信息。
2. 系统用户管理:对系统内的所有用户进行增删改查操作,包括用户信息的审核、用户状态的监控等。
3. 活动信息管理:创建、编辑、删除和查询登山活动信息,包括活动名称、时间、地点、费用等详情。
4. 活动分类管理:对活动进行分类管理,如按难度、风景类型、季节等维度进行分类。
5. 报名记录管理:查看和处理用户的报名记录,包括报名状态、支付情况、取消报名等操作。
6. 路线信息管理:管理登山路线的详细信息,包括路线难度、风景特色、行程安排等。
7. 路线分类管理:对路线进行分类管理,如按难度等级、风景类型、区域等维度进行分类。
8. 系统管理:包括系统参数设置、日志查看、数据备份与恢复等系统级别的操作。
9. 通知公告管理:发布和管理系统通知和公告信息,包括活动预告、系统升级通知等。
10. 资源管理:管理系统内的图片、视频等多媒体资源,支持资源的上传、删除和分类管理。
11. 商城管理:包括商品信息管理(如登山装备、门票等)、分类列表管理、订单列表管理和订单配送管理。
12. 权限管理:对系统内的用户角色和权限进行分配和管理,确保不同用户角色的权限隔离和安全性。
综上所述,JavaHadoop登山俱乐部推荐系统的设计与实现中,管理员功能模块的设计需充分考虑系统的安全性和易用性,确保管理员能够高效、准确地管理系统。

在登山俱乐部推荐系统中,用户有查看通知公告信息、选购的商品、参与的活动报名等功能需求,以下是普通用户在系统中的功能需求:
- 登录注册:用户可以通过手机号、邮箱或第三方社交账号进行注册和登录,确保用户身份的唯一性和安全性。
- 首页:展示系统的核心功能和最新动态,包括推荐活动、热门路线、最新商品等,便于用户快速了解系统内容。
- 通知公告:展示系统发布的最新通知和公告,如活动延期、系统维护等,确保用户能够及时获取重要信息。
- 新闻资讯:提供登山俱乐部相关的新闻和资讯,包括行业动态、活动预告、登山技巧等,增强用户对登山文化的了解和兴趣。
- 商品信息:展示系统商城中的商品信息,包括登山装备、门票、纪念品等,支持用户根据分类、价格、销量等条件进行筛选和排序。
- 商城管理:包括我的购物车、我的订单、我的地址等子功能,支持用户进行商品选购、订单管理、地址设置等操作。
1.我的购物车:存储用户选购的商品,支持添加、删除、修改商品数量和备注。
2.我的订单:展示用户的订单信息,包括订单状态、商品详情、支付金额等。
3.我的地址:管理用户的收货地址,支持新增、删除、修改地址信息。
- 活动信息:展示系统内的登山活动信息,包括活动名称、时间、地点、费用、难度等详情,支持用户根据条件进行筛选和报名。
- 路线信息:提供详细的登山路线信息,包括路线难度、风景特色、行程安排、注意事项等,支持用户根据兴趣选择适合的路线。
- 我的账户:管理用户的账户信息,包括头像、昵称、密码、联系方式等,支持用户进行信息修改和账户安全设置。
- 个人中心
- 功能描述:提供个性化的用户中心页面,包括个人首页、报名记录、订单配送、收藏等子功能。
- 个人首页:展示用户的个人信息和动态,包括积分、等级、参与的活动等。
- 报名记录:记录用户参与的活动报名信息,包括报名状态、支付情况、活动详情等。
- 订单配送:跟踪用户的订单配送状态,包括物流信息、预计送达时间等。
- 收藏:管理用户收藏的活动、路线和商品信息,便于用户后续查找和购买。
综上所述,JavaHadoop登山俱乐部推荐系统的功能设计充分考虑了普通用户的需求和体验,通过丰富的功能模块和便捷的操作流程,为用户提供了一个全面、易用、个性化的登山俱乐部推荐平台。
通过以上各项功能需求分析,可以得出普通用户角色用例图如下图所示。

图2.2普通用户角色用例图
如今随着web系统功能的不断完善,越来越多的项目选择web系统,同样登山俱乐部推荐系统也是通过浏览器来访问系统主页面的。Web系统与app相比(后者主要是C/S架构),可以通过浏览器来规避很多问题,依靠浏览器让项目的开发变得简单,不再担心项目的版本跟新带来的数据传输等一系列的问题。系统通过用户认证、权限管理和数据加密确保安全性,通过数据库备份和数据校验保障数据完整性,采用模块化设计和代码规范注重扩展性和可维护性,同时,系统注重扩展性和可维护性,采用模块化设计和代码规范。值得注意的是B/S架构的项目,浏览器与服务器的数据的交互是通过http协议进行的,同样,服务器与数据库的数据交互也是通过http协议,统一的格式让信息的交互更加的简便与快捷。下图是具体的B/S架构图:

图3.1 系统架构图
(二)系统功能模块设计
在登山俱乐部推荐系统的整体架构确定后,主要功能模块主要为后台管理部分,为普通用户和管理员提供服务,游客可以注册成为系统用户,用户和管理员登录系统后,会进入系统后台,用户可以搜索和浏览通知公告、选购的商品、管理自己的购物车;管理员是最高权限拥有者,可发布通知公告,管理通知公告、对路线进行分类管理外,还享有用户组的权限设置功能,维护和更新系统系统,保证系统正常运转。
确定各模块后,设计每个模块的功能特点,并提取出各模块的公共部分是至关重要的。这有助于提高系统的可维护性和扩展性,同时减少重复开发工作。通过合理设计功能模块,系统能更高效地满足用户需求,提升用户体验,确保系统的稳定运行和管理。功能图如下所示:

图3.2系统功能模块图
(三)数据库及模型设计
1.数据库概要设计
在登山俱乐部推荐系统的总的E-R图中,实体之间的关系包括一对一、多对一、一对多和多对多关系。通过总的E-R图的设计,可以清晰地展现各个实体之间的关系,为数据库表格的设计提供依据。如下图是系统的总E-R图。

图3.3系统总体E-R图
2.数据库模块设计
表access_token (登陆访问时长)
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
token_id |
int |
10 |
0 |
N |
Y |
临时访问牌ID |
|
|
2 |
token |
varchar |
64 |
0 |
Y |
N |
临时访问牌 |
|
|
3 |
info |
text |
65535 |
0 |
Y |
N |
||
|
4 |
maxage |
int |
10 |
0 |
N |
N |
2 |
最大寿命:默认2小时 |
|
5 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
|
6 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
|
7 |
user_id |
int |
10 |
0 |
N |
N |
0 |
用户编号: |
表activity_classification (活动分类)
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
activity_classification_id |
int |
10 |
0 |
N |
Y |
活动分类ID |
|
|
2 |
activity_classification |
varchar |
64 |
0 |
Y |
N |
活动分类 |
|
|
3 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
4 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
address_id |
int |
10 |
0 |
N |
Y |
收货地址: |
|
|
2 |
name |
varchar |
32 |
0 |
Y |
N |
姓名: |
|
|
3 |
phone |
varchar |
13 |
0 |
Y |
N |
手机: |
|
|
4 |
postcode |
varchar |
8 |
0 |
Y |
N |
邮编: |
|
|
5 |
address |
varchar |
255 |
0 |
N |
N |
地址: |
|
|
6 |
user_id |
mediumint |
8 |
0 |
N |
N |
用户ID:[0,8388607]用户获取其他与用户相关的数据 |
|
|
7 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
|
8 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
|
9 |
default |
bit |
1 |
0 |
N |
N |
0 |
默认判断 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
article_id |
mediumint |
8 |
0 |
N |
Y |
文章id:[0,8388607] |
|
|
2 |
title |
varchar |
125 |
0 |
N |
Y |
标题:[0,125]用于文章和html的title标签中 |
|
|
3 |
type |
varchar |
64 |
0 |
N |
N |
0 |
文章分类:[0,1000]用来搜索指定类型的文章 |
|
4 |
hits |
int |
10 |
0 |
N |
N |
0 |
点击数:[0,1000000000]访问这篇文章的人次 |
|
5 |
praise_len |
int |
10 |
0 |
N |
N |
0 |
点赞数 |
|
6 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
|
7 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
|
8 |
source |
varchar |
255 |
0 |
Y |
N |
来源:[0,255]文章的出处 |
|
|
9 |
url |
varchar |
255 |
0 |
Y |
N |
来源地址:[0,255]用于跳转到发布该文章的网站 |
|
|
10 |
tag |
varchar |
255 |
0 |
Y |
N |
标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开 |
|
|
11 |
content |
longtext |
2147483647 |
0 |
Y |
N |
正文:文章的主体内容 |
|
|
12 |
img |
varchar |
255 |
0 |
Y |
N |
封面图 |
|
|
13 |
description |
text |
65535 |
0 |
Y |
N |
文章描述 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
type_id |
smallint |
5 |
0 |
N |
Y |
分类ID:[0,10000] |
|
|
2 |
display |
smallint |
5 |
0 |
N |
N |
100 |
显示顺序:[0,1000]决定分类显示的先后顺序 |
|
3 |
name |
varchar |
16 |
0 |
N |
N |
分类名称:[2,16] |
|
|
4 |
father_id |
smallint |
5 |
0 |
N |
N |
0 |
上级分类ID:[0,32767] |
|
5 |
description |
varchar |
255 |
0 |
Y |
N |
描述:[0,255]描述该分类的作用 |
|
|
6 |
icon |
text |
65535 |
0 |
Y |
N |
分类图标: |
|
|
7 |
url |
varchar |
255 |
0 |
Y |
N |
外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置 |
|
|
8 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
|
9 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
auth_id |
int |
10 |
0 |
N |
Y |
授权ID: |
|
|
2 |
user_group |
varchar |
64 |
0 |
Y |
N |
用户组: |
|
|
3 |
mod_name |
varchar |
64 |
0 |
Y |
N |
模块名: |
|
|
4 |
table_name |
varchar |
64 |
0 |
Y |
N |
表名: |
|
|
5 |
page_title |
varchar |
255 |
0 |
Y |
N |
页面标题: |
|
|
6 |
path |
varchar |
255 |
0 |
Y |
N |
路由路径: |
|
|
7 |
position |
varchar |
32 |
0 |
Y |
N |
位置: |
|
|
8 |
mode |
varchar |
32 |
0 |
N |
N |
_blank |
跳转方式: |
|
9 |
add |
tinyint |
3 |
0 |
N |
N |
1 |
是否可增加: |
|
10 |
del |
tinyint |
3 |
0 |
N |
N |
1 |
是否可删除: |
|
11 |
set |
tinyint |
3 |
0 |
N |
N |
1 |
是否可修改: |
|
12 |
get |
tinyint |
3 |
0 |
N |
N |
1 |
是否可查看: |
|
13 |
field_add |
text |
65535 |
0 |
Y |
N |
添加字段: |
|
|
14 |
field_set |
text |
65535 |
0 |
Y |
N |
修改字段: |
|
|
15 |
field_get |
text |
65535 |
0 |
Y |
N |
查询字段: |
|
|
16 |
table_nav_name |
varchar |
500 |
0 |
Y |
N |
跨表导航名称: |
|
|
17 |
table_nav |
varchar |
500 |
0 |
Y |
N |
跨表导航: |
|
|
18 |
option |
text |
65535 |
0 |
Y |
N |
配置: |
|
|
19 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
|
20 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
cart_id |
int |
10 |
0 |
N |
Y |
购物车ID: |
|
|
2 |
title |
varchar |
64 |
0 |
Y |
N |
标题: |
|
|
3 |
img |
varchar |
255 |
0 |
N |
N |
0 |
图片: |
|
4 |
user_id |
int |
10 |
0 |
N |
N |
0 |
用户ID: |
|
5 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
|
6 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
|
7 |
state |
int |
10 |
0 |
N |
N |
0 |
状态:使用中,已失效 |
|
8 |
price |
double |
9 |
2 |
N |
N |
0.00 |
单价: |
|
9 |
price_ago |
double |
9 |
2 |
N |
N |
0.00 |
原价: |
|
10 |
price_count |
double |
11 |
2 |
N |
N |
0.00 |
总价: |
|
11 |
num |
int |
10 |
0 |
N |
N |
1 |
数量: |
|
12 |
goods_id |
mediumint |
8 |
0 |
N |
N |
商品id:[0,8388607] |
|
|
13 |
type |
varchar |
64 |
0 |
N |
N |
未分类 |
商品分类: |
|
14 |
description |
varchar |
255 |
0 |
Y |
N |
描述:[0,255]用于产品规格描述 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
code_token_id |
int |
10 |
0 |
N |
Y |
||
|
2 |
token |
varchar |
255 |
0 |
Y |
N |
||
|
3 |
code |
varchar |
255 |
0 |
Y |
N |
验证码 |
|
|
4 |
expire_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
失效时间 |
|
5 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
6 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
collect_id |
int |
10 |
0 |
N |
Y |
收藏ID: |
|
|
2 |
user_id |
int |
10 |
0 |
N |
N |
0 |
收藏人ID: |
|
3 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表: |
|
|
4 |
source_field |
varchar |
255 |
0 |
Y |
N |
来源字段: |
|
|
5 |
source_id |
int |
10 |
0 |
N |
N |
0 |
来源ID: |
|
6 |
title |
varchar |
255 |
0 |
Y |
N |
标题: |
|
|
7 |
img |
varchar |
255 |
0 |
Y |
N |
封面: |
|
|
8 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
|
9 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
comment_id |
int |
10 |
0 |
N |
Y |
评论ID: |
|
|
2 |
user_id |
int |
10 |
0 |
N |
N |
0 |
评论人ID: |
|
3 |
reply_to_id |
int |
10 |
0 |
N |
N |
0 |
回复评论ID:空为0 |
|
4 |
content |
longtext |
2147483647 |
0 |
Y |
N |
内容: |
|
|
5 |
nickname |
varchar |
255 |
0 |
Y |
N |
昵称: |
|
|
6 |
avatar |
varchar |
255 |
0 |
Y |
N |
头像地址:[0,255] |
|
|
7 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
|
8 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
|
9 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表: |
|
|
10 |
source_field |
varchar |
255 |
0 |
Y |
N |
来源字段: |
|
|
11 |
source_id |
int |
10 |
0 |
N |
N |
0 |
来源ID: |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
event_information_id |
int |
10 |
0 |
N |
Y |
活动信息ID |
|
|
2 |
event_name |
varchar |
64 |
0 |
Y |
N |
活动名称 |
|
|
3 |
activity_classification |
varchar |
64 |
0 |
Y |
N |
活动分类 |
|
|
4 |
event_date |
date |
10 |
0 |
Y |
N |
活动日期 |
|
|
5 |
number_of_participants |
varchar |
64 |
0 |
Y |
N |
活动人数 |
|
|
6 |
event_location |
varchar |
64 |
0 |
Y |
N |
活动地点 |
|
|
7 |
activity_difficulty |
varchar |
64 |
0 |
Y |
N |
活动难度 |
|
|
8 |
participation_conditions |
varchar |
64 |
0 |
Y |
N |
参与条件 |
|
|
9 |
cover_photo |
varchar |
255 |
0 |
Y |
N |
封面图片 |
|
|
10 |
activity_content |
longtext |
2147483647 |
0 |
Y |
N |
活动内容 |
|
|
11 |
hits |
int |
10 |
0 |
N |
N |
0 |
点击数 |
|
12 |
praise_len |
int |
10 |
0 |
N |
N |
0 |
点赞数 |
|
13 |
recommend |
int |
10 |
0 |
N |
N |
0 |
智能推荐 |
|
14 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
15 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
goods_id |
mediumint |
8 |
0 |
N |
Y |
产品id:[0,8388607] |
|
|
2 |
title |
varchar |
125 |
0 |
Y |
N |
标题:[0,125]用于产品和html的<title>标签中 |
|
|
3 |
img |
text |
65535 |
0 |
Y |
N |
封面图:用于显示于产品列表页 |
|
|
4 |
description |
varchar |
255 |
0 |
Y |
N |
描述:[0,255]用于产品规格描述 |
|
|
5 |
price_ago |
double |
8 |
2 |
N |
N |
0.00 |
原价:[1] |
|
6 |
price |
double |
8 |
2 |
N |
N |
0.00 |
卖价:[1] |
|
7 |
sales |
int |
10 |
0 |
N |
N |
0 |
销量:[0,1000000000] |
|
8 |
inventory |
int |
10 |
0 |
N |
N |
0 |
商品库存 |
|
9 |
type |
varchar |
64 |
0 |
N |
N |
商品分类: |
|
|
10 |
hits |
int |
10 |
0 |
N |
N |
0 |
点击量:[0,1000000000]访问这篇产品的人次 |
|
11 |
content |
longtext |
2147483647 |
0 |
Y |
N |
正文:产品的主体内容 |
|
|
12 |
img_1 |
text |
65535 |
0 |
Y |
N |
主图1: |
|
|
13 |
img_2 |
text |
65535 |
0 |
Y |
N |
主图2: |
|
|
14 |
img_3 |
text |
65535 |
0 |
Y |
N |
主图3: |
|
|
15 |
img_4 |
text |
65535 |
0 |
Y |
N |
主图4: |
|
|
16 |
img_5 |
text |
65535 |
0 |
Y |
N |
主图5: |
|
|
17 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
|
18 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
|
19 |
customize_field |
text |
65535 |
0 |
Y |
N |
自定义字段 |
|
|
20 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表: |
|
|
21 |
source_field |
varchar |
255 |
0 |
Y |
N |
来源字段: |
|
|
22 |
source_id |
int |
10 |
0 |
N |
N |
0 |
来源ID: |
|
23 |
user_id |
int |
10 |
0 |
Y |
N |
0 |
添加人 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
type_id |
int |
10 |
0 |
N |
Y |
商品分类ID: |
|
|
2 |
father_id |
smallint |
5 |
0 |
N |
N |
0 |
上级分类ID:[0,32767] |
|
3 |
name |
varchar |
255 |
0 |
Y |
N |
商品名称: |
|
|
4 |
desc |
varchar |
255 |
0 |
Y |
N |
描述: |
|
|
5 |
icon |
varchar |
255 |
0 |
Y |
N |
图标: |
|
|
6 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表: |
|
|
7 |
source_field |
varchar |
255 |
0 |
Y |
N |
来源字段: |
|
|
8 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
|
9 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
hits_id |
int |
10 |
0 |
N |
Y |
点赞ID: |
|
|
2 |
user_id |
int |
10 |
0 |
N |
N |
0 |
点赞人: |
|
3 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
|
4 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
|
5 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表: |
|
|
6 |
source_field |
varchar |
255 |
0 |
Y |
N |
来源字段: |
|
|
7 |
source_id |
int |
10 |
0 |
N |
N |
0 |
来源ID: |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
logistics_delivery_id |
int |
10 |
0 |
N |
Y |
物流配送ID |
|
|
2 |
order_number |
varchar |
64 |
0 |
Y |
N |
订单号 |
|
|
3 |
product_name |
varchar |
64 |
0 |
Y |
N |
商品名称 |
|
|
4 |
purchase_quantity |
varchar |
64 |
0 |
Y |
N |
购买数量 |
|
|
5 |
total_transaction_amount |
double |
11 |
2 |
Y |
N |
0.00 |
交易总额 |
|
6 |
the_date_of_issuance |
date |
10 |
0 |
Y |
N |
发货日期 |
|
|
7 |
delivery_number |
varchar |
30 |
0 |
Y |
N |
配送订单 |
|
|
8 |
ordinary_users |
int |
10 |
0 |
Y |
N |
0 |
普通用户 |
|
9 |
shipping_address |
varchar |
64 |
0 |
Y |
N |
收货地址 |
|
|
10 |
delivery_status |
varchar |
64 |
0 |
Y |
N |
配送状态 |
|
|
11 |
signing_status |
varchar |
64 |
0 |
Y |
N |
签收状态 |
|
|
12 |
recommend |
int |
10 |
0 |
N |
N |
0 |
智能推荐 |
|
13 |
contact_name |
varchar |
255 |
0 |
Y |
N |
联系人名字 |
|
|
14 |
merchant_id |
int |
10 |
0 |
Y |
N |
商家id |
|
|
15 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
16 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
notice_id |
mediumint |
8 |
0 |
N |
Y |
公告id: |
|
|
2 |
title |
varchar |
125 |
0 |
N |
N |
标题: |
|
|
3 |
content |
longtext |
2147483647 |
0 |
Y |
N |
正文: |
|
|
4 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
|
5 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
order_id |
int |
10 |
0 |
N |
Y |
订单ID: |
|
|
2 |
order_number |
varchar |
64 |
0 |
Y |
N |
订单号: |
|
|
3 |
goods_id |
mediumint |
8 |
0 |
N |
N |
商品id:[0,8388607] |
|
|
4 |
title |
varchar |
255 |
0 |
Y |
N |
商品标题: |
|
|
5 |
img |
varchar |
255 |
0 |
Y |
N |
商品图片: |
|
|
6 |
price |
double |
10 |
2 |
N |
N |
0.00 |
价格: |
|
7 |
price_ago |
double |
10 |
2 |
N |
N |
0.00 |
原价: |
|
8 |
num |
int |
10 |
0 |
N |
N |
1 |
数量: |
|
9 |
price_count |
double |
8 |
2 |
N |
N |
0.00 |
总价: |
|
10 |
norms |
varchar |
255 |
0 |
Y |
N |
规格: |
|
|
11 |
type |
varchar |
64 |
0 |
N |
N |
未分类 |
商品分类: |
|
12 |
contact_name |
varchar |
32 |
0 |
Y |
N |
联系人姓名: |
|
|
13 |
contact_email |
varchar |
125 |
0 |
Y |
N |
联系人邮箱: |
|
|
14 |
contact_phone |
varchar |
11 |
0 |
Y |
N |
联系人手机: |
|
|
15 |
contact_address |
varchar |
255 |
0 |
Y |
N |
收件地址: |
|
|
16 |
postal_code |
varchar |
9 |
0 |
Y |
N |
邮政编码: |
|
|
17 |
user_id |
int |
10 |
0 |
N |
N |
0 |
买家ID: |
|
18 |
merchant_id |
mediumint |
8 |
0 |
N |
N |
0 |
商家ID: |
|
19 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
|
20 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
|
21 |
description |
varchar |
255 |
0 |
Y |
N |
描述:[0,255]用于产品规格描述 |
|
|
22 |
state |
varchar |
16 |
0 |
N |
N |
待付款 |
订单状态:待付款,待发货,待签收,已签收,待退款,已退款,已拒绝,已完成 |
|
23 |
remark |
text |
65535 |
0 |
Y |
N |
订单备注 |
|
|
24 |
delivery_state |
varchar |
16 |
0 |
Y |
N |
未配送 |
发货状态:未配送,已配送 |
|
25 |
vip_discount |
double |
11 |
2 |
Y |
N |
0.00 |
折扣 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
ordinary_users_id |
int |
10 |
0 |
N |
Y |
普通用户ID |
|
|
2 |
user_name |
varchar |
64 |
0 |
Y |
N |
用户姓名 |
|
|
3 |
user_gender |
varchar |
64 |
0 |
Y |
N |
用户性别 |
|
|
4 |
contact_number |
varchar |
16 |
0 |
Y |
N |
联系电话 |
|
|
5 |
examine_state |
varchar |
16 |
0 |
N |
N |
已通过 |
审核状态 |
|
6 |
user_id |
int |
10 |
0 |
N |
N |
0 |
用户ID |
|
7 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
8 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
praise_id |
int |
10 |
0 |
N |
Y |
点赞ID: |
|
|
2 |
user_id |
int |
10 |
0 |
N |
N |
0 |
点赞人: |
|
3 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
|
4 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
|
5 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表: |
|
|
6 |
source_field |
varchar |
255 |
0 |
Y |
N |
来源字段: |
|
|
7 |
source_id |
int |
10 |
0 |
N |
N |
0 |
来源ID: |
|
8 |
status |
bit |
1 |
0 |
N |
N |
1 |
点赞状态:1为点赞,0已取消 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
product_information_id |
int |
10 |
0 |
N |
Y |
商品信息ID |
|
|
2 |
purchase_notice |
varchar |
64 |
0 |
Y |
N |
购买须知 |
|
|
3 |
cart_title |
varchar |
125 |
0 |
Y |
N |
标题:[0,125]用于产品html的标签中 |
|
|
4 |
cart_img |
text |
65535 |
0 |
Y |
N |
封面图:用于显示于产品列表页 |
|
|
5 |
cart_description |
varchar |
255 |
0 |
Y |
N |
描述:[0,255]用于产品规格描述 |
|
|
6 |
cart_price_ago |
double |
8 |
2 |
N |
N |
0.00 |
原价:[1] |
|
7 |
cart_price |
double |
8 |
2 |
N |
N |
0.00 |
卖价:[1] |
|
8 |
cart_inventory |
int |
10 |
0 |
N |
N |
0 |
商品库存 |
|
9 |
cart_type |
varchar |
64 |
0 |
N |
N |
未分类 |
商品分类: |
|
10 |
cart_content |
longtext |
2147483647 |
0 |
Y |
N |
正文:产品的主体内容 |
|
|
11 |
cart_img_1 |
text |
65535 |
0 |
Y |
N |
主图1: |
|
|
12 |
cart_img_2 |
text |
65535 |
0 |
Y |
N |
主图2: |
|
|
13 |
cart_img_3 |
text |
65535 |
0 |
Y |
N |
主图3: |
|
|
14 |
cart_img_4 |
text |
65535 |
0 |
Y |
N |
主图4: |
|
|
15 |
cart_img_5 |
text |
65535 |
0 |
Y |
N |
主图5: |
|
|
16 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
17 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
registration_record_id |
int |
10 |
0 |
N |
Y |
报名记录ID |
|
|
2 |
event_name |
varchar |
64 |
0 |
Y |
N |
活动名称 |
|
|
3 |
activity_classification |
varchar |
64 |
0 |
Y |
N |
活动分类 |
|
|
4 |
event_date |
date |
10 |
0 |
Y |
N |
活动日期 |
|
|
5 |
event_location |
varchar |
64 |
0 |
Y |
N |
活动地点 |
|
|
6 |
user_information |
int |
10 |
0 |
Y |
N |
0 |
用户信息 |
|
7 |
user_name |
varchar |
64 |
0 |
Y |
N |
用户姓名 |
|
|
8 |
user_gender |
varchar |
64 |
0 |
Y |
N |
用户性别 |
|
|
9 |
contact_number |
varchar |
64 |
0 |
Y |
N |
联系电话 |
|
|
10 |
number_of_applicants |
varchar |
64 |
0 |
Y |
N |
报名人数 |
|
|
11 |
registration_remarks |
text |
65535 |
0 |
Y |
N |
报名备注 |
|
|
12 |
examine_state |
varchar |
16 |
0 |
N |
N |
未审核 |
审核状态 |
|
13 |
examine_reply |
varchar |
16 |
0 |
Y |
N |
审核回复 |
|
|
14 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
15 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
route_classification_id |
int |
10 |
0 |
N |
Y |
路线分类ID |
|
|
2 |
route_classification |
varchar |
64 |
0 |
Y |
N |
路线分类 |
|
|
3 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
4 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
route_information_id |
int |
10 |
0 |
N |
Y |
路线信息ID |
|
|
2 |
route_name |
varchar |
64 |
0 |
Y |
N |
路线名称 |
|
|
3 |
route_classification |
varchar |
64 |
0 |
Y |
N |
路线分类 |
|
|
4 |
route_difficulty |
varchar |
64 |
0 |
Y |
N |
路线难度 |
|
|
5 |
scenic_features |
varchar |
64 |
0 |
Y |
N |
风景特色 |
|
|
6 |
release_date |
date |
10 |
0 |
Y |
N |
发布日期 |
|
|
7 |
cover_photo |
varchar |
255 |
0 |
Y |
N |
封面图片 |
|
|
8 |
route_content |
longtext |
2147483647 |
0 |
Y |
N |
路线内容 |
|
|
9 |
hits |
int |
10 |
0 |
N |
N |
0 |
点击数 |
|
10 |
praise_len |
int |
10 |
0 |
N |
N |
0 |
点赞数 |
|
11 |
recommend |
int |
10 |
0 |
N |
N |
0 |
智能推荐 |
|
12 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
13 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
slides_id |
int |
10 |
0 |
N |
Y |
轮播图ID: |
|
|
2 |
title |
varchar |
64 |
0 |
Y |
N |
标题: |
|
|
3 |
content |
varchar |
255 |
0 |
Y |
N |
内容: |
|
|
4 |
url |
varchar |
255 |
0 |
Y |
N |
链接: |
|
|
5 |
img |
varchar |
255 |
0 |
Y |
N |
轮播图: |
|
|
6 |
hits |
int |
10 |
0 |
N |
N |
0 |
点击量: |
|
7 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
|
8 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
upload_id |
int |
10 |
0 |
N |
Y |
上传ID |
|
|
2 |
name |
varchar |
64 |
0 |
Y |
N |
文件名 |
|
|
3 |
path |
varchar |
255 |
0 |
Y |
N |
访问路径 |
|
|
4 |
file |
varchar |
255 |
0 |
Y |
N |
文件路径 |
|
|
5 |
display |
varchar |
255 |
0 |
Y |
N |
显示顺序 |
|
|
6 |
father_id |
int |
10 |
0 |
Y |
N |
0 |
父级ID |
|
7 |
dir |
varchar |
255 |
0 |
Y |
N |
文件夹 |
|
|
8 |
type |
varchar |
32 |
0 |
Y |
N |
文件类型 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
user_id |
mediumint |
8 |
0 |
N |
Y |
用户ID:[0,8388607]用户获取其他与用户相关的数据 |
|
|
2 |
state |
smallint |
5 |
0 |
N |
N |
1 |
账户状态:[0,10](1可用|2异常|3已冻结|4已注销) |
|
3 |
user_group |
varchar |
32 |
0 |
Y |
N |
所在用户组:[0,32767]决定用户身份和权限 |
|
|
4 |
login_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
上次登录时间: |
|
5 |
phone |
varchar |
11 |
0 |
Y |
N |
手机号码:[0,11]用户的手机号码,用于找回密码时或登录时 |
|
|
6 |
phone_state |
smallint |
5 |
0 |
N |
N |
0 |
手机认证:[0,1](0未认证|1审核中|2已认证) |
|
7 |
username |
varchar |
16 |
0 |
N |
N |
用户名:[0,16]用户登录时所用的账户名称 |
|
|
8 |
nickname |
varchar |
16 |
0 |
Y |
N |
昵称:[0,16] |
|
|
9 |
password |
varchar |
64 |
0 |
N |
N |
密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成 |
|
|
10 |
|
varchar |
64 |
0 |
Y |
N |
邮箱:[0,64]用户的邮箱,用于找回密码时或登录时 |
|
|
11 |
email_state |
smallint |
5 |
0 |
N |
N |
0 |
邮箱认证:[0,1](0未认证|1审核中|2已认证) |
|
12 |
avatar |
varchar |
255 |
0 |
Y |
N |
头像地址:[0,255] |
|
|
13 |
open_id |
varchar |
255 |
0 |
Y |
N |
针对获取用户信息字段 |
|
|
14 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
group_id |
mediumint |
8 |
0 |
N |
Y |
用户组ID:[0,8388607] |
|
|
2 |
display |
smallint |
5 |
0 |
N |
N |
100 |
显示顺序:[0,1000] |
|
3 |
name |
varchar |
16 |
0 |
N |
N |
名称:[0,16] |
|
|
4 |
description |
varchar |
255 |
0 |
Y |
N |
描述:[0,255]描述该用户组的特点或权限范围 |
|
|
5 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表: |
|
|
6 |
source_field |
varchar |
255 |
0 |
Y |
N |
来源字段: |
|
|
7 |
source_id |
int |
10 |
0 |
N |
N |
0 |
来源ID: |
|
8 |
register |
smallint |
5 |
0 |
Y |
N |
0 |
注册位置: |
|
9 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
|
10 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
登山俱乐部推荐系统的详细设计与实现主要基于需求分析和总体设计,包括界面设计和业务逻辑实现两方面,通过提供用户友好的界面和功能操作,满足用户需求,提升系统的易用性和效率。
(一)普通用户模块功能实现
系统支持用户创建账户、登录、密码重置及身份验证。用户可以通过注册获取账户,使用账号和密码进行登录,以便访问系统功能。其用注册界面展示如下图所示。
图4.1用户注册界面
关键代码如下:
注册页UserController.java,传入user对象,并将"user_id"、 "state"、 "user_group"、"login_time"、 "username"、"nickname"、"password"、"email"、"email_state"、"avatar"、"create_time"输入,重点是 "username"、"nickname"、"password"必须输入,通过获取username,数据库查询是否有该用户,如果存在,则提示“用户已存在”,否则执行将UserId置为空(数据库表中该字段已设置自动递增),代码如下:
@PostMapping("register")
public Map<String, Object> signUp(@RequestBody User user) {
// 查询用户
Map<String, String> query = new HashMap<>();
Map<String,Object> map = JSON.parseObject(JSON.toJSONString(user));
query.put("username",user.getUsername());
List list = service.selectBaseList(service.select(query, new HashMap<>()));
if (list.size()>0){
return error(30000, "用户已存在");
}
map.put("password",service.encryption(String.valueOf(map.get("password"))));
service.insert(map);
return success(1);
}
2.登录功能模块实现
用户登录功能模块是登山俱乐部推荐系统中的关键功能之一,通过输入正确的用户名和密码,用户可以登录系统并访问其功能。实现用户登录功能的步骤包括验证用户输入的用户名和密码是否匹配数据库中的记录,若匹配则允许用户登录,否则提示用户重新输入。在登录过程中,需要确保用户输入的信息安全性,如密码加密存储和传输。登录成功后,用户可以访问个人信息等页面,提升系统的用户体验和安全性。用户登录界面如下图所示。
图4.2系统登录界面
关键代码如下:
登录页,首先传入"username"、"password",用户可通过用户名进行登陆,通过判断resultList来确定查询结果,然后执行查询用户组UserGroup,用户组里面不存在,依然报“用户不存在”,执行完以上代码,最后涉及到用户带有“审核”的,会查询examine_state(用户的审核状态),数据库表user_group中含有source_table和source_field进行查询,以上步骤完成,对输入的密码进行存储Token到数据库,匹对账号和密码,数据库中的AccessToken为令牌,用于身份认证,其代码如下:
@PostMapping("login")
public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {
log.info("[执行登录接口]");
String username = data.get("username");
String email = data.get("email");
String phone = data.get("phone");
String password = data.get("password");
List resultList = null;
Map<String, String> map = new HashMap<>();
if(username != null && "".equals(username) == false){
map.put("username", username);
resultList = service.selectBaseList(service.select(map, new HashMap<>()));
}
else if(email != null && "".equals(email) == false){
map.put("email", email);
resultList = service.selectBaseList(service.select(map, new HashMap<>()));
}
else if(phone != null && "".equals(phone) == false){
map.put("phone", phone);
resultList = service.selectBaseList(service.select(map, new HashMap<>()));
}else{
return error(30000, "账号或密码不能为空");
}
if (resultList == null || password == null) {
return error(30000, "账号或密码不能为空");
}
//判断是否有这个用户
if (resultList.size()<=0){
return error(30000,"用户不存在");
}
User byUsername = (User) resultList.get(0);
Map<String, String> groupMap = new HashMap<>();
groupMap.put("name",byUsername.getUserGroup());
List groupList = userGroupService.selectBaseList(userGroupService.select(groupMap, new HashMap<>()));
if (groupList.size()<1){
return error(30000,"用户组不存在");
}
UserGroup userGroup = (UserGroup) groupList.get(0);
//查询用户审核状态
if (!StringUtils.isEmpty(userGroup.getSourceTable())){
String res = service.selectExamineState(userGroup.getSourceTable(),byUsername.getUserId());
if (res==null){
return error(30000,"用户不存在");
}
if (!res.equals("已通过")){
return error(30000,"该用户审核未通过");
}
}
//查询用户状态
if (byUsername.getState()!=1){
return error(30000,"用户非可用状态,不能登录");
}
String md5password = service.encryption(password);
if (byUsername.getPassword().equals(md5password)) {
// 存储Token到数据库
AccessToken accessToken = new AccessToken();
accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));
accessToken.setUser_id(byUsername.getUserId());
Duration duration = Duration.ofSeconds(7200L);
redisTemplate.opsForValue().set(accessToken.getToken(), accessToken,duration);
// 返回用户信息
JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));
user.put("token", accessToken.getToken());
JSONObject ret = new JSONObject();
ret.put("obj",user);
return success(ret);
} else {
return error(30000, "账号或密码不正确");
}
}
3.新闻资讯管理功能实现
新闻资讯管理模块是登山俱乐部推荐系统中的重要组成部分。普通用户可对新闻资讯进行查阅,可提供登山俱乐部相关的新闻和资讯,包括行业动态、活动预告、登山技巧等,增强用户对登山文化的了解和兴趣。界面如下图所示:
图4.3新闻资讯管理界面
4.通知公告管理功能实现
普通用户可查看通知公告,展示系统发布的最新通知和公告,如活动延期、系统维护等,确保用户能够及时获取重要信息。实现界面如下图所示:
图4.4通知公告管理界面
5.商品信息管理功能实现
展示系统商城中的商品信息,包括登山装备、门票、纪念品等,支持用户根据分类、价格、销量等条件进行筛选和排序,界面如下图所示:
图4.5商品信息管理界面
(二)管理员模块功能实现
1.系统用户功能实现
管理员可对普通用户和管理员等系统用户信息进行管控,包括添加、封禁、更新、编辑系统用户信息,保证用户信息安全。具体的实现界面如下图:
图4.6系统用户界面
关键代码如下:
新增一条数据,通过post传入一个json对象,然后经过request.getReader(),最后经过readBody()转成一个Map,含有String和Object,key用的是字段名,Object存放数据,最终得到Map,insert用拼装sql,读取body,组装成一个insert对象,runCountSql()语句,代码如下:
@PostMapping("/add")
@Transactional
public Map<String, Object> add(HttpServletRequest request) throws IOException {
service.insert(service.readBody(request.getReader()));
return success(1);
}
@Transactional
public Map<String, Object> addMap(Map<String,Object> map){
service.insert(map);
return success(1);
}
修改一个数据,原理与add基本一致,不同点在于通过readConfig()读取关键字,以及通过readQuery()获取URL后面?指定位置的标识,转成Map对象后,执行update操作,同样通过拼接的sql语句执行,执行过程读取query,toWhereSql()语句完成数据库操作,body为修改对象的值,代码如下:
@PostMapping("/set")
@Transactional
public Map<String, Object> set(HttpServletRequest request) throws IOException {
service.update(service.readQuery(request), service.readConfig(request), service.readBody(request.getReader()));
return success(1);
}
删除一条数据,通过readQuery(),获取URL后面的对象地址,删除FROM具体的table,query删除查询FindConfig语句,代码如下:
@RequestMapping(value = "/del")
@Transactional
public Map<String, Object> del(HttpServletRequest request) {
service.delete(service.readQuery(request), service.readConfig(request));
return success(1);
}
2.通知公告管理功能实现
管理员可对所有通知公告进行管理,负责向普通用户发布通知公告,及时通知相关消息,包括可添加、编辑、更新、删除和查询新闻资讯的通知公告信息,点击详情按钮可进入详情页查看,支持关键字搜索,界面如下图所示。
图4.7通知公告管理界面
3.活动信息管理功能实现
管理员可以创建、编辑、删除和查询登山活动信息,包括活动名称、时间、地点、费用等详情。并且提供活动信息的全面展示和灵活编辑功能,支持活动状态的实时更新。具体的实现界面如下图:
图4.8活动信息管理界面
4.权限管理功能实现
管理员可分配不同用户角色及权限,以控制访问功能,对系统用户组的权限进行设置,给予用户组人员对系统后台功能和信息相应操作权限,包括系统增改删查等权限,便于系统整体管理。具体的实现界面如下图:
图4.9权限管理界面
(一)系统测试目的
测试是为了验证登山俱乐部推荐系统在功能、性能、安全性和用户体验等方面的表现。通过测试,可以发现并修复潜在的问题和缺陷,确保系统的正常运行和稳定性。功能验证确保各项功能按设计要求运行;性能评估评估系统的响应时间和并发处理能力;安全检测确保系统的身份认证和数据传输安全;用户体验评估提升界面友好性和操作流程;兼容性测试确保系统在不同设备和浏览器上的兼容性。通过全面的测试,系统将更可靠地支持管理员工作,并提供优质的用户体验。
(二)系统可用性测试
系统的可用性测试是测试系统最基本的功能,比如鼠标点击是否可用,页面跳转是否正常等。下面是具体的测试结果。
表6.1登山俱乐部推荐系统可用性测试
|
可用性测试方面 |
测试内容 |
|
导航测试 |
- 检查系统导航结构是否清晰明了 |
|
- 测试用户能否快速找到所需功能和信息 |
|
|
功能测试 |
- 测试用户注册、登录等功能是否正常运作 |
|
响应时间测试 |
- 测试系统在不同网络环境下的响应速度 |
|
- 确保用户操作时不会遇到明显延迟 |
|
|
错误处理测试 |
- 测试系统在用户输入错误或操作异常时的提示信息和处理方式 |
|
- 确保用户能清晰了解错误原因并得到帮助 |
|
|
跨平台兼容性测试 |
- 测试系统在不同操作系统和设备上的兼容性 |
|
- 确保用户无论使用何种设备都能正常访问系统 |
|
|
用户反馈测试 |
- 收集用户反馈意见和建议 |
|
- 了解用户使用体验和需求 |
对系统的主要页面和功能点的测试用例如下:
用户注册登录测试用例:
表6.2用户注册登录测试表
|
用例说明 |
测试目的 |
测试步骤 |
预期结果 |
输出结果 |
通过情况 |
|
用户注册、登录 |
测试用户正注册、登录系统 |
|
用户注册成功,登录成功 |
结果输出符合预期 |
通过 |
浏览通知公告测试用例:
表6.3浏览通知公告测试表
|
用例说明 |
测试目的 |
测试步骤 |
预期结果 |
输出结果 |
通过情况 |
|
浏览通知公告 |
测试用户浏览通知公告 |
|
展示所有通知公告信息,用户可浏览通知公告详情信息 |
结果输出符合预期 |
通过 |
搜索新闻资讯测试用例:
表6.4搜索新闻资讯测试表
|
用例说明 |
测试目的 |
测试步骤 |
预期结果 |
输出结果 |
通过情况 |
|
搜索新闻资讯 |
测试用户和管理员搜索新闻资讯 |
|
系统显示输入的关键字相关新闻资讯信息 |
结果输出符合预期 |
通过 |
添加新闻资讯测试用例:
表6.5添加新闻资讯测试表
|
用例说明 |
测试目的 |
测试步骤 |
预期结果 |
输出结果 |
通过情况 |
|
添加新闻资讯测试 |
测试管理员和用户添加新闻资讯信息 |
|
添加新闻资讯成功 |
结果输出符合预期 |
通过 |
编辑活动信息测试用例:
表6.6编辑活动信息测试表
|
用例说明 |
测试目的 |
测试步骤 |
预期结果 |
输出结果 |
通过情况 |
|
编辑活动信息测试 |
测试管理员和用户编辑活动信息 |
|
编辑活动信息成功 |
结果输出符合预期 |
通过 |
报名记录测试用例:
表6.7报名记录测试表
|
用例说明 |
测试目的 |
测试步骤 |
预期结果 |
输出结果 |
通过情况 |
|
报名记录测试 |
测试管理员和用户报名记录 |
|
报名记录成功 |
结果输出符合预期 |
通过 |
删除商品信息试用例:
表6.8删除商品信息测试表
|
用例说明 |
测试目的 |
测试步骤 |
预期结果 |
输出结果 |
通过情况 |
|
删除商品信息测试 |
测试管理员删除商品信息测试 |
|
商品信息删除成功,夜间不在展示该信息 |
结果输出符合预期 |
通过 |
经过用户注册登录、浏览通知公告、搜索新闻资讯、添加新闻资讯、编辑活动信息、报名记录、添加商品信息等功能的测试,结果显示系统表现良好,各界面展示正常,系统功能运行稳定。用户能够顺利注册登录系统,浏览管理员发布的公告信息;并在新闻资讯添加自己的信息,并进行编辑活动信息、报名记录、删除等操作,成功实现各项操作,系统响应速度快且功能正常。这些测试结果表明系统在功能性和用户体验方面表现出色,但仍需持续监测和优化以确保系统稳定性和用户满意度。
登山俱乐部推荐系统通过采用前沿技术和精心设计,实现了卓越的功能、性能、安全性和用户体验。采用了springboot框架和Java编程语言,结合MySQL数据库,保障了系统的高效运行和数据的完整存储。用户可以方便地进行注册、登录、后台首页、系统用户、通知公告管理、新闻资讯管理、通知公告管理、商品信息管理、权限管理等操作,同时进行最终测试,保证所有功能都经过严格的验证,确保准确性和稳定性。
在性能方面,系统通过负载测试和压力测试,评估了响应时间和并发处理能力,确保在高并发访问下的稳定性和高效性。安全性方面,通过严格的身份认证和数据加密技术,确保了数据传输的安全,防止数据泄露和非法访问。此外,系统进行了兼容性测试,确保在不同设备和浏览器上的一致性体验。
通过不断优化用户界面和操作流程,能够为用户提供一个用户友好、操作简单数据安全的登山俱乐部推荐系统,可以更好地满足不同用户的需求提,简化登山俱乐部流程,支持多类型附件,采用模块化设计,具有良好的可扩展性,可以根据需要灵活添加新功能模块。
[1]Zhao Z ,Zhang N ,Yu B , et al.Generating Java code pairing with ChatGPT[J].Theoretical Computer Science,2024,1021114879-114879.
[2]韩瑞,王利强.基于Java的在线考试系统设计与实现[J].工业控制计算机,2024,37(09):146-147.
[3]陈晓红,任晓鸽.智能制造下智能教学系统Hadoop处理NetCDF数据的设备优化探讨[J].模具制造,2024,24(09):186-188.DOI:10.13596/j.cnki.44-1542/th.2024.09.061.
[4]Ouhakki H ,Elmoufidi A .An implementation of GPU accelerated mapreduce: using hadoop with openCL for breast cancer detection and compute-intensive jobs[J].International Journal of Information Technology,2024,(prepublish):1-8.
[5]叶冬芬,黄钢,范伟.课程思政引导的Java语言程序设计课程教改设计[J].电脑知识与技术,2024,20(24):162-164.DOI:10.14004/j.cnki.ckt.2024.1274.
[6]龙美梁,杨秀凡,吴玛佳,等.基于Java技术的种植咨询平台设计与实现[J].智慧农业导刊,2024,4(17):10-13.DOI:10.20028/j.zhnydk.2024.17.003.
[7]Zhang J .Teaching Reform of Java Program Design Based on Vocational Education Cloud Platform[J].Journal of Higher Education Teaching,2024,1(5):
[8]龚骏.基于动态代理的Java声明式HTTP网络请求框架的实现[J].互联网周刊,2024,(16):39-41.
[9]张咏冰.基于Java交互式页面的汽车变速箱设计系统研究[J].数字通信世界,2024,(08):64-66.
[10]孔德慧.基于Java语言的中职计算机教学辅助系统设计与实现[J].电脑编程技巧与维护,2024,(08):25-27.DOI:10.16184/j.cnki.comprg.2024.08.014.
[11]向育程,段元梅.基于Java的网上商城系统[J].电脑编程技巧与维护,2024,(08):32-34.DOI:10.16184/j.cnki.comprg.2024.08.013.
[12]翁春荣.基于JAVA的软件故障自动识别检测系统设计[J].中国自动识别技术,2024,(04):62-65.
[13]赖俊业,时晓旭,谢江,等.基于Java的数据交换中间件研究与实现[J].长江信息通信,2024,37(08):97-99+130.DOI:10.20153/j.issn.2096-9759.2024.08.029.
[14]曹阳.基于Hadoop分布式架构的云存储系统设计[J].电脑知识与技术,2024,20(23):46-48.DOI:10.14004/j.cnki.ckt.2024.1139.
[15]王跃.基于Java技术的机器人嵌入式软件多任务自动分配模型研究[J].自动化技术与应用,2024,43(08):64-67+82.DOI:10.20033/j.1003-7241.(2024)08-0064-05.
[16]张艳姣,任晓阳.基于Hadoop和MPP数据库混合架构的大数据集成平台[J].信息工程大学学报,2024,25(04):435-440.
[17]范志昊.基于Java平台的数字离校系统研究与设计[J].信息记录材料,2024,25(08):209-212.DOI:10.16009/j.cnki.cn13-1295/tq.2024.08.039.
[18]余小高,余骥超.Hadoop平台下大学生学习预警模型研究[J].长江信息通信,2024,37(07):147-150.DOI:10.20153/j.issn.2096-9759.2024.07.045.
[19]金晓波,王科杰.Hadoop大数据平台自动化运维工具Ambari部署研究[J].长江信息通信,2024,37(07):223-225.DOI:10.20153/j.issn.2096-9759.2024.07.066.
[20]周亮.计算机软件开发中Java编程语言的应用研究[J].科技资讯,2024,22(13):39-41.DOI:10.16661/j.cnki.1672-3791.2403-5042-6019.
在完成这个关于登山俱乐部推荐系统的探讨过程中,我想要向所有支持和帮助过我的人致以诚挚的感谢。首先,感谢我的家人,是你们默默的付出和支持,让我有了安心学习的环境和坚定追求梦想的勇气。其次,感谢我的同学和朋友,在我学习和工作中给予我无尽的支持和理解,他们的陪伴和鼓励是我不断前行的动力源泉, 是他们在学习过程中对我的帮助和鼓励,让我感受到集体的力量和友情的温暖,让我不再感到迷茫和孤单。其次,感谢我的导师,是您在学术和职业道路上给予我宝贵的指导和建议,让我不断成长和进步,使我更加懂得谦逊和坚韧。没有指导老师耐心指导,悉心教诲,就不会有我在学术研究上的进步。您们的支持和鼓励是我前行的动力和勇气,让我在追求梦想的路上永不停步。无论遇到怎样的困难和挑战,我都会倍加珍惜这份支持和鼓励,更加努力学习,不负众望,不负时光。再次衷心感谢您们!
请关注点赞+私信博主,免费领取项目源码
更多推荐


所有评论(0)