springboot非物质文化遗产展示系统-毕业设计源码77046

目  录

摘要

1 绪论

1.1 研究背景与意义

1.2 国内外研究现状

1.3论文结构与章节安排

2 非物质文化遗产展示系统系统分析

2.1 可行性分析

2.2 系统流程分析

2.2.1 数据增加流程

2.2.2 数据修改流程

2.2.3 数据删除流程

2.3 系统功能分析

2.3.1 功能性分析

2.3.2 非功能性分析

2.4 系统用例分析

2.5本章小结

3 非物质文化遗产展示系统总体设计

3.1 系统架构设计

3.2 系统功能模块设计

3.2.1整体功能模块设计

3.2.2用户模块设计

3.2.3 评论管理模块设计

3.2.4非遗产品管理模块设计

3.3 数据库设计

3.3.1 数据库概念结构设计

3.3.2 数据库逻辑结构设计

3.4本章小结

4 非物质文化遗产展示系统详细设计与实现

4.1用户功能模块

4.1.1 前台首页界面

4.1.2 用户注册界面

4.1.3 用户登录界面

4.1.4非遗论坛界面

4.1.5 非遗资讯界面

4.1.6传承人详情界面

4.1.7非遗产品详情界面

4.1.7我的账户界面

4.2管理员功能模块

4.2.1用户管理界面

4.2.2非遗文学管理界面

4.2.3产品购买管理界面

4.2.4系统管理界面

4.2.5 资源管理界面

5系统测试

5.1 系统测试用例

5.2 系统测试结果

结论

参考文献

致  谢

摘要

本文介绍了基于SpringBoot框架开发的非物质文化遗产展示系统,旨在为用户提供一个全方位的非遗文化展示与管理平台。系统包括多个功能模块,如非遗论坛、公告消息、非遗资讯、留言板、非遗文学、非遗项目、传承人预约学习和非遗产品在线购买等,以满足用户对非物质文化遗产的多样化需求。管理员则具备管理非遗文学、项目类型、非遗项目、传承人信息、预约信息、非遗产品、产品购买、系统设置、留言、公告消息、资源和用户交流等权限。

通过SpringBoot框架的应用,系统具有高效的开发和部署能力,保障系统的稳定性和可靠性。用户可以通过系统获取最新的非遗资讯、参与非遗论坛讨论、阅读非遗文学作品、了解非遗项目信息、预约学习体验、以及在线购买非遗产品等。这些功能的整合使用户能够全面了解、体验和参与非物质文化遗产的传承与发展。

管理员则可以通过系统管理各项内容,包括非遗文学作品的编辑与展示、项目类型的分类管理、传承人信息的更新与管理、预约信息的监督与安排、非遗产品的库存管理和销售、系统设置的调整与优化、留言的审核与回复、公告消息的发布与管理、资源的上传与分享,以及用户之间的交流和互动。这些管理功能有助于维护系统的运行和用户体验,保障系统的正常运行和信息的准确性。

通过该系统的开发与运行,可以促进非物质文化遗产的保护、传承和传播,激发公众对非遗文化的兴趣与参与,加强文化交流与互动,推动非物质文化遗产事业的发展。同时,系统也为非遗领域的研究与探索提供了便捷的平台,为传统文化的传承与创新注入新的活力与动力。

关键词:非物质文化遗产、展示系统、SpringBoot框架 

Abstract

This article introduces an intangible cultural heritage display system developed based on the SpringBoot framework, aiming to provide users with a comprehensive platform for the display and management of intangible cultural heritage. The system includes multiple functional modules, such as intangible cultural heritage forums, announcement messages, intangible cultural heritage information, message boards, intangible cultural heritage literature, intangible cultural heritage projects, appointment learning for inheritors, and online purchase of intangible cultural heritage products, to meet the diverse needs of users for intangible cultural heritage. Administrators have the authority to manage intangible cultural heritage literature, project types, intangible cultural heritage projects, inheritor information, appointment information, intangible cultural heritage products, product purchases, system settings, messages, announcement messages, resources, and user communication.

Through the application of the SpringBoot framework, the system has efficient development and deployment capabilities, ensuring the stability and reliability of the system. Users can obtain the latest intangible cultural heritage information, participate in intangible cultural heritage forum discussions, read intangible cultural heritage literary works, learn about intangible cultural heritage project information, schedule learning experiences, and purchase intangible cultural heritage products online through the system. The integration of these functions enables users to fully understand, experience, and participate in the inheritance and development of intangible cultural heritage.

Administrators can manage various contents through the system, including the editing and display of intangible cultural heritage literary works, classification management of project types, updating and management of inheritor information, supervision and arrangement of appointment information, inventory management and sales of intangible cultural heritage products, adjustment and optimization of system settings, review and reply to messages, release and management of announcement messages, uploading and sharing of resources, as well as communication and interaction between users. These management functions help maintain the operation and user experience of the system, ensuring the normal operation of the system and the accuracy of information.

The development and operation of this system can promote the protection, inheritance, and dissemination of intangible cultural heritage, stimulate public interest and participation in intangible cultural heritage, strengthen cultural exchange and interaction, and promote the development of intangible cultural heritage. At the same time, the system also provides a convenient platform for research and exploration in the field of intangible cultural heritage, injecting new vitality and momentum into the inheritance and innovation of traditional culture..

Keywords: Intangible cultural heritage, display system, SpringBoot framework

1 绪论

1.1 研究背景与意义

随着现代社会的发展和人们生活节奏的加快,非物质文化遗产的传承与保护面临着前所未有的挑战。这些珍贵的文化遗产,作为人类文明的瑰宝,承载着丰富的历史信息和深厚的文化底蕴,对于促进文化多样性、维护文化生态平衡具有不可替代的重要作用。然而,传统的非物质文化遗产展示方式往往受到时空限制,难以吸引年轻人的关注,导致传承的断层和文化的流失。

基于SpringBoot框架的非物质文化遗产展示系统应运而生,旨在以更加生动、有趣的方式呈现非物质文化遗产的魅力。该系统利用互联网和移动设备的普及性,打破传统展示方式的时间和空间限制,让公众能够随时随地欣赏和了解这些独特的文化遗产。通过精美的图片、生动的视频和富有感染力的音频,用户能够身临其境地感受非物质文化遗产的韵味,从而增强对传统文化的认同感和兴趣。

此外,该系统还注重互动性和参与性,鼓励用户积极参与非物质文化遗产的传承与保护。通过在线互动、分享和评论等功能,用户可以与其他文化爱好者交流心得,共同推动非物质文化遗产的传承和发展。同时,该系统还提供了丰富的教育资源,帮助公众深入了解非物质文化遗产的历史背景和文化内涵,提升文化素养和审美能力。

因此,基于SpringBoot框架的非物质文化遗产展示系统的研究与开发,不仅有助于推动非物质文化遗产的数字化保护与创新传承,还能够增强公众对传统文化的认识和兴趣,促进文化多样性和文化生态平衡的发展,具有重要的社会价值和文化意义。

1.2 国内外研究现状

在非物质文化遗产展示系统的研究与应用方面,国内外均展现出浓厚的兴趣与积极的探索。国内方面,随着数字技术的快速发展,尤其是SpringBoot等成熟框架的广泛应用,非物质文化遗产的数字化保护和展示取得了显著成果。许多机构利用SpringBoot构建高效稳定的后端服务,结合前端技术和大数据分析,为非遗文化的传承与传播提供了有力支持。同时,国内学者也在深入研究如何利用现代技术更好地呈现非遗的魅力和价值,如虚拟现实、增强现实等技术在非遗展示中的应用逐渐成为研究热点。

在国际上,对于非物质文化遗产的保护和展示同样受到广泛关注。不少国家和地区都在积极探索非物质文化遗产的数字化保存与展示方式,SpringBoot等开源框架因其高效、易用的特点,在国际上也得到了广泛应用。国际间的交流与合作也在不断加强,共同推动非遗文化的全球传播与保护。

综上所述,无论是国内还是国外,对于非物质文化遗产展示系统的研究与应用都呈现出蓬勃发展的态势,而SpringBoot等技术的应用则为这一领域的发展注入了新的活力。

1.3论文结构与章节安排

论文将分层次经行编排,除去论文摘要致谢文献参考部分,正文部分还会对网站需求做出分析,以及阐述大体的设计和实现的功能,最后罗列部分调测记录,论文主要架构如下:

第一章:引言。第一章主要介绍了课题研究的背景,系统开发的意义和本文的研究内容与主要工作。

第二章:系统需求分析。第二章主要从系统的用户、功能等方面进行需求分析。

第三章:系统设计。第三章主要对系统框架、系统功能模块、数据库进行功能设计。

第四章:系统实现。第四章主要介绍了系统框架搭建、系统界面的实现。

第五章:系统测试。第五章主要对系统的部分界面进行测试并对主要功能进行测试

第六章:总结。

2 非物质文化遗产展示系统系统分析

系统分析是开发一个项目的先决条件,通过系统分析可以很好的了解系统的主体用户的基本需求情况,同时这也是项目的开发的原因。进而对系统开发进行可行性分析,通常包括技术可行性、经济可行性等,可行性分析同时也是从项目整体角度进行的分析。然后就是对项目的具体需求进行分析,分析的手段一般都是通过用户的用例图来实现。下面是详细的介绍。

2.1 可行性分析

(1)经济可行性:

开发非物质文化遗产展示系统并不需要投入太多,开发工具、服务器、数据库等,都可以通过网络搜索、下载、安装,只需要一台普通的计算机就可以完成操作,而且在系统功能规划上通过走访调查目前用户对校友社交网站的需求,了解它们对系统具体实现的功能需求,然后进行设计开发,不存在任何开销,因此系统的开发在经济方面是可行的。

所以经济可行性没有问题。

(2)操作可行性:

此次项目设计参考了几个该模式下网站的开发案例,对他们的操作界面分析,将众多案例结合在一起,突出以人为本简化操作,所以具有基本计算机知识的人都会操作本项目。

因此操作可行性也没有问题。

(3)技术可行性:

非物质文化遗产展示系统是一个基于Web的交易、管理平台,我们在实现这个系统所采用的技术方案是基于SpringBoot框架,MYSQL数据库。在大学学习中,已经掌握了SpringBoot框架的相关知识,也在课程设计和作业中使用过该技术进行项目开发。同时,对于MYSQL数据库的应用也有一定经验,能够熟练进行数据库设计和管理。基于这些技术背景和经验,我们相信在使用SpringBoot和MYSQL的组合下实现非物质文化遗产展示系统是可行的。综上所述,技术可行性不成问题,我们有信心能够顺利开发和实现这一系统。

(4)法律可行性:

从开发者角度来看,springboot框架是网上开源且免费的,在知识产权方面不会产生任何法律纠纷。

从用户使用角度来看,只要不再系统上贩卖违禁品,对系统做出条约协议,杜绝非法支付即可。

综上所述法律可行性也没有问题。

2.2 系统流程分析

业务流程是用一些特定的符合和线条来进行演示用户在使用系统时的过程,在进行系统分析的时候,业务流程可以帮助开发人员更好的理解业务,发现错误,完善系统。

2.2.1 数据增加流程

用户成功登入系统后能够实现增加数据的操作,增加数据的编号是特定的,系统生成,用户不能随意填写,除了编号以外,其他增加信息用户自己填写,填写后的信息经过系统验证,验证合法通过就显示增加数据成功了,相反的话,就没有增加成功,图2-1显示的就是在增加数据时的流程。

图2-1  数据增加流程图

2.2.2 数据修改流程

数据修改时的流程和上面介绍的数据增加时的流程差不多,如图2-2所示。

图2-2  数据修改流程图

2.2.3 数据删除流程

如果系统里面存在一些没有用的数据的话相关的管理人员还可以对这些数据进行删除,图2-3就是数据删除时的流程图。

图2-3  数据删除流程图

2.3 系统功能分析

2.3.1 功能性分析

按照非物质文化遗产展示系统的角色,我划分为了普通用户模块和管理员模块这两大部分。

普通用户管理模块:

(1)用户注册登录:游客可以随时进入到系统中,对系统中的信息浏览,但是想要实现发帖交流、信息的收藏评论等,就必须有这个系统的账号,如果没有账号的话,可以注册成会员用户进行相关的操作,同时用户还可以对个人信息以及操作的信息进行管控。

(2)查看非物质文化遗产展示系统的首页信息:非物质文化遗产展示系统的首页信息包含了首页、非遗论坛、公告消息、非遗资讯、留言板、非遗文学、非遗项目、传承人、非遗产品、我的账户。

(3)非遗论坛:普通用户在非遗论坛前台可以浏览论坛内容,了解其他用户对于非遗话题的讨论和见解。同时,用户也可以自己发布内容,分享对非遗的理解和感悟,参与论坛的互动。

(4)公告消息:在前台,普通用户可以查看网站发布的公告信息,了解非遗项目的最新动态、活动通知或其他重要信息。

(5)非遗资讯:用户可以在此模块浏览各类非遗资讯,了解非遗文化的各个方面。对于感兴趣的资讯,用户可以点赞、收藏,并发表自己的评论,与其他用户交流心得。

(6)留言板:普通用户在留言板模块可以输入标题和内容,发表自己的留言。这是一个开放的平台,用户可以在此分享自己的故事、心得或建议。

(7)非遗文学:在此模块,用户可以查看非遗文学的详细信息,包括文学作品的内容、背景等。对于学术文件,用户可以选择下载。同时,用户也可以对喜欢的文学作品进行点赞、收藏,并发表评论。

(8)非遗项目:用户可以在此查看非遗项目的列表详情,包括项目名称、项目类型、所属地区等。用户还可以通过项目名称、项目类型、所属地区进行搜索,快速找到感兴趣的项目。对于喜欢的项目,用户可以进行点赞和发表评论。

(9)传承人:在此模块,用户可以查看非遗传承人的列表详情,包括人物姓名、传承项目等。用户可以通过人物姓名、传承项目进行搜索,找到心仪的传承人。对于喜欢的传承人项目,用户可以进行收藏和预约,并发表评论。

(10)非遗产品:普通用户可以在此模块查看非遗产品的列表,包括产品名称、产品类型、产品地区等信息。用户还可以通过产品名称、产品类型和产品地区进行搜索,找到心仪的产品。对于喜欢的非遗产品,用户可以点赞、收藏,甚至在线购买,并发表评论分享自己的使用感受。

(11)个人中心:用户可以在此模块管理自己的个人信息,如修改密码、查看订单等。

(12)预约信息:在此,用户可以查看自己预约的传承人信息,包括姓名、传承项目等。用户还可以重置或取消预约,并通过不同条件搜索预约信息。

(13)产品购买:用户可以在此查看自己的购买记录,包括产品名称、支付状态等。用户还可以重置或查看购买详情,并通过不同条件搜索购买记录。

(14)收藏:此模块展示了用户收藏的非遗项目、传承人和产品,方便用户随时查看和回顾。

管理员管理模块:

  1. 登录:管理员在后台可以输入用户名+密码进行登录,管理员的用户名和密码是在数据库中直接设定好的。

(2)系统用户:管理员点击“系统用户”菜单可以对系统中存在的用户进行管理,包含了管理员用户和普通用户。

    (3)非遗文学管理:管理员在非遗文学管理中具备全面的功能,可以清晰地列出所有非遗文学作品,包括标题、作者和简介。当需要添加新作品时,管理员可以轻松添加并填写详细信息。同时,查看作品详情和评论也是其职责之一,确保内容准确无误。通过关键词查询,管理员可以迅速找到特定作品。对于不再需要的作品,管理员有权进行删除操作。此外,管理员还支持通过学术标题和学术类型进行高级搜索,以满足特定的查询需求。对于关联学术文件的作品,用户还可以点击下载。

(4)项目类型管理:在项目类型管理中,管理员可以展示项目类型的完整列表,包括名称和描述。当有新的项目类型需要添加时,管理员会负责录入相关信息。查看项目类型的详情也是其职责之一。通过关键词查询功能,管理员可以快速定位到特定的项目类型。同时,对于不再适用的项目类型,管理员可以进行删除操作。此外,管理员还支持根据项目类型进行搜索,以快速找到相关非遗项目。

(5)非遗项目管理:非遗项目管理中,管理员可以列出所有非遗项目的详细信息,包括项目名称、类型、所属地区等。新增项目时,管理员负责录入完整信息。查看项目详情和评论也是其职责之一,以确保内容准确可靠。通过关键词查询,管理员可以快速找到特定的非遗项目。对于不再需要的项目,管理员有权进行删除操作。此外,管理员还支持通过项目名称、项目类型和所属地区进行搜索,以满足特定的查询需求。

(6)传承人管理:在传承人管理中,管理员可以列出所有传承人的信息,包括姓名、传承项目等。当新的传承人加入时,管理员会负责录入相关信息。查看传承人的详情和评论也是其职责之一。通过关键词查询功能,管理员可以快速找到特定的传承人。对于不再需要的传承人信息,管理员可以进行删除操作。同时,管理员还支持通过人物姓名和传承项目进行搜索,以快速定位到相关传承人。

(7)预约信息管理:在预约信息管理中,管理员可以查看所有预约信息的列表,包括预约人、预约项目等。查看预约详情也是其职责之一。当需要删除预约信息时,管理员可以进行相应的操作。此外,管理员还支持通过人物姓名、传承项目和用户姓名进行搜索,以满足特定的查询需求。

(8)非遗产品管理:非遗产品管理中,管理员可以列出所有非遗产品的信息,包括产品名称、类型、地区等。新增产品时,管理员负责录入完整信息。查看产品详情和用户评论也是其职责之一。通过关键词查询功能,管理员可以快速找到特定的非遗产品。对于不再需要的产品信息,管理员可以进行删除操作。同时,管理员还支持通过产品名称、产品类型、产品地区进行搜索,以满足特定的查询需求。

(9)产品购买管理:在产品购买管理中,管理员可以查看所有产品购买记录的列表,包括购买用户、产品信息等。查看购买详情和用户支付订单详情也是其职责之一。当需要删除购买记录时,管理员可以进行相应的操作。此外,管理员还支持通过产品名称、产品类型、产品地区、用户姓名、支付状态进行搜索,以满足特定的查询需求。

(10)系统管理:在系统管理中,管理员负责轮播图的管理。他们可以查询轮播图信息、删除不再需要的轮播图、添加新的轮播图,并查看轮播图的详情。同时,管理员还支持通过标题进行搜索,以快速找到特定的轮播图。

(11)留言管理:在留言管理中,管理员可以查看留言板的列表,包括留言内容和用户信息。查看留言详情也是其职责之一。当需要回复用户留言时,管理员会进行相应的操作。同时,对于不再需要的留言信息,管理员可以进行删除。

(12)公告消息管理:公告消息管理中,管理员可以查看所有公告消息的列表,包括消息内容和发布时间。查看公告详情也是其职责之一。当需要删除公告消息时,管理员可以进行相应的操作。同时,管理员还支持添加新的公告消息,以确保用户及时获取重要信息。

(13)资源管理:在资源管理中,管理员负责非遗资讯和资讯分类的管理。他们可以查询资讯信息、删除不再需要的资讯、添加新的资讯,并查看资讯的详情和用户评论。同时,管理员还支持通过标题、标签、分类进行搜索,以快速找到特定的非遗资讯。对于资讯分类,管理员可以进行查询、删除、添加和查看详情,以满足特定的管理需求。

(14)交流管理:在交流管理中,管理员可以查看非遗论坛的列表,包括帖子内容和用户信息。查询论坛信息也是其职责之一。当需要删除帖子时,管理员可以进行相应的操作。同时,管理员还支持添加新的帖子,以促进用户之间的交流和讨论。通过标题和分类进行搜索功能,管理员可以快速找到特定的帖子或论坛。

2.3.2 非功能性分析

非物质文化遗产展示系统的非功能性需求比如非物质文化遗产展示系统的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等。具体可以表示在如下3-1表格中:

2-1非物质文化遗产展示系统非功能需求表

安全性

主要指非物质文化遗产展示系统数据库的安装,数据库的使用和密码的设定必须合乎规范。

可靠性

可靠性是指非物质文化遗产展示系统能够安装用户的指示进行操作,经过测试,可靠性90%以上。

性能

性能是影响非物质文化遗产展示系统占据市场的必要条件,所以性能最好要佳才好。

可扩展性

比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。

易用性

用户只要跟着非物质文化遗产展示系统的页面展示内容进行操作,就可以了。

可维护性

非物质文化遗产展示系统开发的可维护性是非常重要的,经过测试,可维护性没有问题

2.4 系统用例分析

通过2.3功能的分析,得出了本非物质文化遗产展示系统的用例图:

图2-4就是普通用户角色的用例展示。

图2-4 非物质文化遗产展示系统普通用户角色用例图

图2-5就是管理员角色的用例展示。

图2-5 非物质文化遗产展示系统管理员角色用例图

2.5本章小结

本章主要通过对非物质文化遗产展示系统的可行性分析、流程分析、功能需求分析、系统用例分析,确定整个非物质文化遗产展示系统要实现的功能。同时也为非物质文化遗产展示系统的代码实现和测试提供了标准。

3 非物质文化遗产展示系统总体设计

本章主要讨论的内容包括非物质文化遗产展示系统的功能模块设计、数据库系统设计。

3.1 系统架构设计

本非物质文化遗产展示系统从架构上分为三层:表现层(UI)、业务逻辑层(BLL)以及数据层(DL)。

图3-1非物质文化遗产展示系统系统架构设计图

表现层(UI):又称UI层,主要完成本非物质文化遗产展示系统的UI交互功能,一个良好的UI可以打打提高用户的用户体验,增强用户使用本非物质文化遗产展示系统时的舒适度。UI的界面设计也要适应不同版本的非物质文化遗产展示系统以及不同尺寸的分辨率,以做到良好的兼容性。UI交互功能要求合理,用户进行交互操作时必须要得到与之相符的交互结果,这就要求表现层要与业务逻辑层进行良好的对接。

业务逻辑层(BLL):主要完成本非物质文化遗产展示系统的数据处理功能。用户从表现层传输过来的数据经过业务逻辑层进行处理交付给数据层,系统从数据层读取的数据经过业务逻辑层进行处理交付给表现层。

数据层(DL):由于本非物质文化遗产展示系统的数据是放在服务端的mysql数据库中,因此本属于服务层的部分可以直接整合在业务逻辑层中,所以数据层中只有数据库,其主要完成本非物质文化遗产展示系统的数据存储和管理功能。

3.2 系统功能模块设计

3.2.1整体功能模块设计

在上一章节中主要对系统的功能性需求和非功能性需求进行分析,并且根据需求分析了本非物质文化遗产展示系统中的用例。那么接下来就要开始对本非物质文化遗产展示系统的架构、主要功能和数据库开始进行设计。非物质文化遗产展示系统根据前面章节的需求分析得出,其总体设计模块图如图3-2所示。

图3-2 非物质文化遗产展示系统功能模块图

3.2.2用户模块设计

本系统的用户包括管理员、管理员和用户。三种用户模块的功能基本是相同的,会员比管理员、管理员多了一个注册功能,所以以用户模块的结构图为例进行分析,用户模块结构图为例进行分析,如下图:

图3-3用户模块结构图

3.2.3 评论管理模块设计

非物质文化遗产展示系统是一个交流性质的公开平台,会员用户和用户可以对平台上信息进行评论,增加用户之间的互动性。但是同时也为了更好的规范评论的内容,给予管理员删除不合适的言论的功能,所以需要专门设计一个评论管理模块,具体的结构图如下:

图3-4评论模块结构图

3.2.4非遗产品管理模块设计

非物质文化遗产展示系统中是需要存储不少产品信息,其模块功能结构,具体的结构图如下:

图3-5非遗产品模块结构图

3.3 数据库设计

数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有概念模型和逻辑结构设计两部分。

3.3.1 数据库概念结构设计

非物质文化遗产展示系统的E-R图主要是根据注册用户以及管理员的实际需求设计的,用户注册以后可以查看用户留言,只有注册登录以后才可以进行非遗文学、收藏、评论等;管理员对整个系统的非遗文学、普通用户、非遗项目、传承人、非遗产品、预约信息等进行综合管理。非物质文化遗产展示系统采用的是MYSQL的数据库进行存储的,数据库里面储存了很多的表信息,在此罗列出来一些主要的数据库E-R模型图。

图3-6 普通用户信息E-R关系图

图3-7 产品购买信息E-R关系图

图3-8 预约信息E-R关系图

图3-9 传承人信息E-R关系图

下面是整个非物质文化遗产展示系统中主要的数据库表总E-R实体关系图。

图3-6 非物质文化遗产展示系统总E-R关系图

3.3.2 数据库逻辑结构设计

通过上一小节中非物质文化遗产展示系统中总E-R关系图上得出一共需要创建很多个数据表。在此我主要罗列几个主要的数据库表结构设计。

表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

用户编号:

表appointment_information (预约信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

appointment_information_id

int

10

0

N

Y

预约信息ID

2

character_name

varchar

64

0

Y

N

人物姓名

3

address_of_the_character

varchar

64

0

Y

N

人物住址

4

inheritance_project

varchar

64

0

Y

N

传承项目

5

regular_users

int

10

0

Y

N

0

普通用户

6

user_name

varchar

64

0

Y

N

用户姓名

7

appointment_time

datetime

19

0

Y

N

预约时间

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表article (文章:用于内容管理系统的文章)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

文章描述

表article_type (文章分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间:

表auth (用户权限管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间:

表collect (收藏)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间:

表comment (评论)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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:

表forum (论坛)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

forum_id

mediumint

8

0

N

Y

论坛id

2

display

smallint

5

0

N

N

100

排序

3

user_id

mediumint

8

0

N

N

0

用户ID

4

nickname

varchar

16

0

Y

N

昵称:[0,16]

5

praise_len

int

10

0

Y

N

0

点赞数

6

hits

int

10

0

N

N

0

访问数

7

title

varchar

125

0

N

N

标题

8

keywords

varchar

125

0

Y

N

关键词

9

description

varchar

255

0

Y

N

描述

10

url

varchar

255

0

Y

N

来源地址

11

tag

varchar

255

0

Y

N

标签

12

img

text

65535

0

Y

N

封面图

13

content

longtext

2147483647

0

Y

N

正文

14

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

16

avatar

varchar

255

0

Y

N

发帖人头像:

17

type

varchar

64

0

N

N

0

论坛分类:[0,1000]用来搜索指定类型的论坛帖

表forum_type (论坛分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

type_id

smallint

5

0

N

Y

分类ID:[0,10000]

2

name

varchar

16

0

N

N

分类名称:[2,16]

3

description

varchar

255

0

Y

N

描述:[0,255]描述该分类的作用

4

url

varchar

255

0

Y

N

外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置

5

father_id

smallint

5

0

N

N

0

上级分类ID:[0,32767]

6

icon

varchar

255

0

Y

N

分类图标:

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表hits (用户点击)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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:

表inheritor (传承人)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

inheritor_id

int

10

0

N

Y

传承人ID

2

character_name

varchar

64

0

Y

N

人物姓名

3

address_of_the_character

varchar

64

0

Y

N

人物住址

4

birth_address

varchar

64

0

Y

N

出生地址

5

inheritance_project

varchar

64

0

Y

N

传承项目

6

character_images

varchar

255

0

Y

N

人物图片

7

character_introduction

longtext

2147483647

0

Y

N

人物简介

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表intangible_cultural_heritage_literature (非遗文学)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

intangible_cultural_heritage_literature_id

int

10

0

N

Y

非遗文学ID

2

academic_title

varchar

64

0

Y

N

学术标题

3

academic_type

varchar

64

0

Y

N

学术类型

4

academic_documents

varchar

255

0

Y

N

学术文件

5

academic_labels

varchar

64

0

Y

N

学术标签

6

academic_description

text

65535

0

Y

N

学术描述

7

cover_photo

varchar

255

0

Y

N

封面图片

8

academic_introduction

longtext

2147483647

0

Y

N

学术简介

9

praise_len

int

10

0

N

N

0

点赞数

10

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

11

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表intangible_cultural_heritage_products (非遗产品)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

intangible_cultural_heritage_products_id

int

10

0

N

Y

非遗产品ID

2

product_name

varchar

64

0

Y

N

产品名称

3

product_type

varchar

64

0

Y

N

产品类型

4

product_region

varchar

64

0

Y

N

产品地区

5

product_price

int

10

0

Y

N

0

产品价格

6

product_description

varchar

64

0

Y

N

产品描述

7

product_images

varchar

255

0

Y

N

产品图片

8

product_introduction

longtext

2147483647

0

Y

N

产品简介

9

praise_len

int

10

0

N

N

0

点赞数

10

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

11

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表intangible_cultural_heritage_projects (非遗项目)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

intangible_cultural_heritage_projects_id

int

10

0

N

Y

非遗项目ID

2

entry_name

varchar

64

0

Y

N

项目名称

3

project_type

varchar

64

0

Y

N

项目类型

4

project_description

varchar

64

0

Y

N

项目描述

5

heritage_type

varchar

64

0

Y

N

遗产类型

6

region

varchar

64

0

Y

N

所属地区

7

listing_time

date

10

0

Y

N

入列时间

8

cover_photo

varchar

255

0

Y

N

封面图片

9

project_introduction

text

65535

0

Y

N

项目简介

10

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

11

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表message (留言板)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

message_id

int

10

0

N

Y

留言板ID:

2

user_id

int

10

0

N

N

0

用户ID:

3

title

varchar

64

0

Y

N

标题:

4

content

longtext

2147483647

0

N

N

内容:

5

nickname

varchar

32

0

N

N

昵称:

6

avatar

varchar

255

0

Y

N

头像:

7

email

varchar

125

0

Y

N

留言者邮箱

8

phone

varchar

11

0

Y

N

留言者手机号码

9

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

11

reply

longtext

2147483647

0

Y

N

回复

12

reply_state

tinyint

4

0

Y

N

0

回复状态

表notice (公告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间:

表praise (点赞)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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已取消

表product_purchase (产品购买)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

product_purchase_id

int

10

0

N

Y

产品购买ID

2

product_name

varchar

64

0

Y

N

产品名称

3

product_type

varchar

64

0

Y

N

产品类型

4

product_region

varchar

64

0

Y

N

产品地区

5

product_price

int

10

0

Y

N

0

产品价格

6

regular_users

int

10

0

Y

N

0

普通用户

7

user_name

varchar

64

0

Y

N

用户姓名

8

user_phone_number

varchar

64

0

Y

N

用户电话

9

purchase_quantity

int

10

0

Y

N

0

购买数量

10

purchase_amount

varchar

64

0

Y

N

购买金额

11

purchase_time

datetime

19

0

Y

N

购买时间

12

purchase_notes

varchar

64

0

Y

N

购买备注

13

pay_state

varchar

16

0

N

N

未支付

支付状态

14

pay_type

varchar

16

0

Y

N

支付类型: 微信、支付宝、网银

15

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

16

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表project_type (项目类型)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

project_type_id

int

10

0

N

Y

项目类型ID

2

project_type

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

更新时间

表regular_users (普通用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

regular_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

user_age

varchar

64

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

更新时间

表slides (轮播图)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间:

表upload (文件上传)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

文件类型

表user (用户账户:用于保存用户登录信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

email

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

创建时间:

15

vip_level

varchar

255

0

Y

N

会员等级

16

vip_discount

double

11

2

Y

N

0.00

会员折扣

表user_group (用户组:用于用户前端身份和鉴权)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间:

3.4本章小结

整个非物质文化遗产展示系统的需求分析主要对系统总体架构以及功能模块的设计,通过建立E-R模型和数据库逻辑系统设计完成了数据库系统设计。

4 非物质文化遗产展示系统详细设计与实现

非物质文化遗产展示系统的详细设计与实现主要是根据前面的非物质文化遗产展示系统的需求分析和非物质文化遗产展示系统的总体设计来设计页面并实现业务逻辑。主要从非物质文化遗产展示系统界面实现、业务逻辑实现这两部分进行介绍。

4.1用户功能模块

4.1.1 前台首页界面

当进入非物质文化遗产展示系统的时候,系统以上中下的布局进行展示,首先映入眼帘的是系统的导航栏,下面是轮播图,再往下是各种各样的系统信息,其主界面展示如下图4-1所示。

图4-1 前台首页界面图

4.1.2 用户注册界面

不是非物质文化遗产展示系统中正式会员的是可以在线进行注册的,当用户右上角“注册”按钮的时候,当填写上自己的账号+密码+确认密码+昵称+邮箱+手机号等信息后再点击“注册”按钮后将会先验证输入的有没有空数据,再次验证密码和确认密码是否是一样的,最后验证输入的账户名和数据库表中已经注册的账户名是否重复,只有都验证没问题后即可会员注册成功。其用用户注册界面展示如下图4-2所示。

图4-2 用户注册界面图

注册关键代码如下:

 /**

     * 注册

     * @param user

     * @return

     */

    @PostMapping("register")

    public Map<String, Object> signUp(@RequestBody User user) {

        // 查询用户

        Map<String, String> query = new HashMap<>();

        query.put("username",user.getUsername());

        List list = service.select(query, new HashMap<>()).getResultList();

        if (list.size()>0){

            return error(30000, "用户已存在");

        }

        user.setUserId(null);

        user.setPassword(service.encryption(user.getPassword()));

        service.save(user);

        return success(1);

}

/**

     * 用户ID:[0,8388607]用户获取其他与用户相关的数据

     */

    @Id

    @GeneratedValue(strategy = GenerationType.IDENTITY)

    @Column(name = "user_id")

    private Integer userId;

    /**

     * 账户状态:[0,10](1可用|2异常|3已冻结|4已注销)

     */

    @Basic

    @Column(name = "state")

    private Integer state;

    /**

     * 所在用户组:[0,32767]决定用户身份和权限

     */

    @Basic

    @Column(name = "user_group")

    private String userGroup;

    /**

     * 上次登录时间:

     */

    @Basic

    @Column(name = "login_time")

    private Timestamp loginTime;

    /**

     * 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时

     */

    @Basic

    @Column(name = "phone")

    private String phone;

    /**

     * 手机认证:[0,1](0未认证|1审核中|2已认证)

     */

    @Basic

    @Column(name = "phone_state")

    private Integer phoneState;

    /**

     * 用户名:[0,16]用户登录时所用的账户名称

     */

    @Basic

    @Column(name = "username")

    private String username;

    /**

     * 昵称:[0,16]

     */

    @Basic

    @Column(name = "nickname")

    private String nickname;

    /**

     * 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成

     */

    @Basic

    @Column(name = "password")

    private String password;

    /**

     * 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时

     */

    @Basic

    @Column(name = "email")

    private String email;

    /**

     * 邮箱认证:[0,1](0未认证|1审核中|2已认证)

     */

    @Basic

    @Column(name = "email_state")

    private Integer emailState;

    /**

     * 头像地址:[0,255]

     */

    @Basic

    @Column(name = "avatar")

    private String avatar;

    /**

     * 创建时间:

     */

    @Basic

    @Column(name = "create_time")

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")

    private Timestamp createTime;

    @Basic

    @Transient

    private String code;

}

4.1.3 用户登录界面

非物质文化遗产展示系统中的前台上注册后的用户是可以通过自己的账户名和密码进行登录的,当会员输入完整的自己的账户名和密码信息并点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的账户名+密码和数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到非物质文化遗产展示系统的首页中;否则将会提示相应错误信息,用户登录界面如下图4-3所示。

图4-3用户登录界面图

登录关键代码如下:

 /**

     * 登录

     * @param data

     * @param httpServletRequest

     * @return

     */

    @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.select(map, new HashMap<>()).getResultList();

        }

        else if(email != null && "".equals(email) == false){

            map.put("email", email);

            resultList = service.select(map, new HashMap<>()).getResultList();

        }

        else if(phone != null && "".equals(phone) == false){

            map.put("phone", phone);

            resultList = service.select(map, new HashMap<>()).getResultList();

        }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.select(groupMap, new HashMap<>()).getResultList();

        if (groupList.size()<1){

            return error(30000,"用户组不存在");

        }

        UserGroup userGroup = (UserGroup) groupList.get(0);

        //查询用户审核状态

        if (!StringUtils.isEmpty(userGroup.getSourceTable())){

            String sql = "select examine_state from "+ userGroup.getSourceTable() +" WHERE user_id = " + byUsername.getUserId();

            String res = String.valueOf(service.runCountSql(sql).getSingleResult());

            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());

            tokenService.save(accessToken);

            // 返回用户信息

            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, "账号或密码不正确");

        }

}

4.1.4非遗论坛界面

用户点击“非遗论坛”菜单显示所有的非遗论坛信息,可以按照分类查看帖子信息,或者输入关键词进行局部搜索,点击可以进入帖子的详细展示界面,在此界面用户可以点赞、收藏、评论,也可以点击“发布内容”输入帖子信息进行发帖。界面如下图4-4所示。

图4-4非遗论坛界面图

4.1.5 非遗资讯界面

当访客点击非物质文化遗产展示系统中导航栏上的“非遗资讯”后将会进入到该“非遗资讯”列表的界面,然后选择想要看的非遗资讯,点击进入到详细界面,在详细界面可以收藏+赞+评论等操作,非遗资讯界面如下图4-5所示。

图4-5非遗资讯界面图

4.1.6传承人详情界面

当访客点击“传承人”后就可以看到所有的传承人信息,选择你想要了解的传承人后将会进入该传承人的详情界面,可以了解到人物姓名、人物住址、出生地址、传承项目、传承人照片等,同时可以对点击下方的“预约”、“收藏”和进行评论,传承人详情展示页面如图4-6所示。

图4-6 传承人详情界面图

4.1.7非遗产品详情界面

  当访客点击“非遗产品”后就可以看到所有的非遗产品信息,选择你想要了解的非遗产品后将会进入该产品的详情界面,可以了解到产品名称、产品类型、产品地区、产品价格、产品描述、产品照片等,同时可以对点击下方的“购买”、“点赞”、“收藏”和进行评论,非遗产品展示页面如图4-7所示。

图4-7 非遗产品界面图

4.1.7我的账户界面

当用户点击右上角“用户”这个按钮,会出现子菜单,点击“我的账户”可以对个人的资料、登录系统的密码以及自己收藏的信息进行设置管理,我的账户界面如下图4-8所示。

图4-8我的账户界面图

4.2管理员功能模块

4.2.1用户管理界面

非物质文化遗产展示系统中的管理人员在“系统用户”这一菜单是中可以对注册的用户以及管理员进行管控,这里以用户管理为例。界面如下图4-9所示。

图4-9系统用户界面图

用户管理关键代码如下:

@SpringBootApplication

@EnableJpaRepositories

public class Application {

    public static void main(String[] args) {

        SpringApplication.run(Application.class,args);

    }

}

4.2.2非遗文学管理界面

管理员点击“非遗文学列表”这一按钮可以查看到系统当中所有的非遗文学信息,支持通过学术标题或者学术类型等信息查询非遗文学,如果想要添加新的信息,可以点击“非遗文学添加”进行添加,也可以选择要删除的信息直接点击“删除按钮”进行删除。界面如下图4-10所示。

图4-10非遗文学管理界面图

非遗文学管理关键代码如下:

public class FindConfig {

    public static String PAGE = "page";

    public static String SIZE = "size";

    public static String LIKE = "like";

    public static String ORDER_BY = "orderby";

    public static String FIELD = "field";

    public static String GROUP_BY = "groupby";

    public static String MIN_ = "_min";

    public static String MAX_ = "_max";

}

4.2.3产品购买管理界面

管理员点击“产品购买”会显示出所有的产品购买信息,支持通过产品类型或者产品名称、产品地区、用户姓名、支付状态对产品购买信息进行查询,如果想要添加新的产品购买信息,点击“添加”按钮,输入相关信息,点击“提交”按钮就可以添加了,同时可以选择某一条产品购买信息,点击“删除”进行删除,用户可管理查看用户购买产品的支付状态等操作。界面如下图4-11所示。

图4-11产品购买管理界面图

产品购买管理关键代码如下:

@RestController

@RequestMapping("auth")

public class AuthController extends BaseController<Auth, AuthService> {

    /**

     * 服务对象

     */

    @Autowired

    public AuthController(AuthService service) {

        setService(service);

    }

}

4.2.4系统管理界面

管理员点击“系统管理”菜单可以查看到系统中的所有轮播图信息,对已经存在的轮播图,管理员可以修改,也可以添加新的轮播图或者删除轮播图。界面如下图4-12所示。

图4-12系统管理界面图

4.2.5 资源管理界面

管理员点击“资源管理”菜单能够对其下子菜单非遗资讯和资讯的分类进行查询、删除和添加。界面如下图4-13所示。

图4-13资源管理界面图

资源管理关键代码如下:

@RequestMapping("/get_obj")

    public Map<String, Object> obj(HttpServletRequest request) {

        Query select = service.select(service.readQuery(request), service.readConfig(request));

        List resultList = select.getResultList();

        if (resultList.size() > 0) {

            JSONObject jsonObject = new JSONObject();

            jsonObject.put("obj",resultList.get(0));

            return success(jsonObject);

        } else {

            return success(null);

        }

}

 public Query select(Map<String,String> query,Map<String,String> config){

        StringBuffer sql = new StringBuffer("select ");

        sql.append(config.get(FindConfig.FIELD) == null || "".equals(config.get(FindConfig.FIELD)) ? "*" : config.get(FindConfig.FIELD)).append(" ");

        sql.append("from ").append("`").append(table).append("`").append(toWhereSql(query, "0".equals(config.get(FindConfig.LIKE))));

        if (config.get(FindConfig.GROUP_BY) != null && !"".equals(config.get(FindConfig.GROUP_BY))){

            sql.append("group by ").append(config.get(FindConfig.GROUP_BY)).append(" ");

        }

        if (config.get(FindConfig.ORDER_BY) != null && !"".equals(config.get(FindConfig.ORDER_BY))){

            sql.append("order by ").append(config.get(FindConfig.ORDER_BY)).append(" ");

        }

        if (config.get(FindConfig.PAGE) != null && !"".equals(config.get(FindConfig.PAGE))){

            int page = config.get(FindConfig.PAGE) != null && !"".equals(config.get(FindConfig.PAGE)) ? Integer.parseInt(config.get(FindConfig.PAGE)) : 1;

            int limit = config.get(FindConfig.SIZE) != null && !"".equals(config.get(FindConfig.SIZE)) ? Integer.parseInt(config.get(FindConfig.SIZE)) : 10;

            sql.append(" limit ").append( (page-1)*limit ).append(" , ").append(limit);

        }

        log.info("[{}] - 查询操作,sql: {}",table,sql);

        return runEntitySql(sql.toString());

    }

5系统测试

5.1 系统测试用例

系统测试包括:用户登录功能测试、非遗文学展示功能测试、非遗项目添加、密码修改功能测试,如表5-1、5-2、5-3、5-4所示:

用户登录功能测试:

表5-1 用户登录功能测试表

用例名称

用户登录系统

目的

测试用户通过正确的用户名和密码可否登录功能

前提

未登录的情况下

测试流程

1) 进入登录页面

2) 输入正确的用户名和密码

预期结果

用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入

实际结果

实际结果与预期结果一致

非遗文学查看功能测试:

表5-2 非遗文学查看功能测试表

用例名称

非遗文学查看

目的

测试非遗文学查看功能

前提

用户登录

测试流程

点击非遗文学信息

预期结果

可以查看到所有非遗文学信息

实际结果

实际结果与预期结果一致

管理员添加非遗项目界面测试:

表5-3 管理员添加非遗项目界面测试表

用例名称

非遗项目添加测试用例

目的

测试非遗项目添加功能

前提

管理员用户正常登录情况下

测试流程

1)管理员点击非遗项目,然后点击添加后并填写信息。

2)点击进行提交。

预期结果

提交以后,页面首页会显示新的非遗项目信息 

实际结果

实际结果与预期结果一致

实际结果

实际结果与预期结果一致

密码修改搜索功能测试:

表5-4 密码修改功能测试表

用例名称

密码修改测试用例

目的

测试管理员密码修改功能

前提

管理员用户正常登录情况下

测试流程

1)管理员密码修改并完成填写。

2)点击进行提交。

预期结果

使用新的密码可以登录

实际结果

实际结果与预期结果一致

5.2 系统测试结果

通过编写非物质文化遗产展示系统的测试用例,已经检测完毕用户登录功能测试、非遗文学展示功能测试、非遗项目添加、密码修改功能测试,通过这4大模块为非物质文化遗产展示系统的后期推广运营提供了强力的技术支撑。

结论

在非物质文化遗产展示系统开发之前,必须深入剖析用户的需求。这涵盖了系统的可行性分析、功能需求分析以及其他相关需求。在可行性分析环节,我们从技术、经济和管理等角度对系统的实施进行了全面评估,最终确认了系统的实施可行性。

本文系统梳理了非物质文化遗产展示系统的开发背景与现状,详细阐述了系统的具体业务需求,并根据这些需求对系统结构和功能模块进行了精心设计。我们将整个系统划分为若干功能模块,确保了系统的逻辑性和操作便捷性。

在功能需求分析阶段,我们对系统的总体架构和各功能模块进行了深入剖析,并选择了合适的系统开发技术,完成了各模块的开发工作。系统开发完成后,我们进行了严格的部署和测试。测试结果表明,系统在功能和性能等方面均达到了预期要求,展现出较高的稳定性和可靠性。

总之,通过本次开发,我们成功打造了一个功能完善、性能稳定的非物质文化遗产展示系统,为相关领域的文化传承和发展提供了有力支持。

参考文献

[1]刘桢. 非物质文化遗产扬州评话在镇江的历史发展与传承 [J/OL]. 四川戏剧, 2024, (02): 102-106[2024-04-05].

[2]路一鸣,王坤茜,蒋子晗. 德弗勒互动过程模式下非物质文化遗产数字化技术研究 [J]. 黑龙江科学, 2024, 15 (06): 162-164.

[3]Ullenboom C . Java Programming Exercises:Volume Two: Java Standard Library[M]. CRC Press: 2024-03-30.

[4]梁晶晶. 让非遗文化走进千家万户[N]. 包头日报, 2024-03-27 (008).

[5]何雨潇. 筑牢历史文化遗产的司法保护屏障[N]. 人民法院报, 2024-03-27 (005).

[6]江南,窦瀚洋. 青山绿水间 文化韵味浓[N]. 人民日报, 2024-03-27 (011).

[7]李倩. 试论中医药非物质文化遗产的传播 [J/OL]. 中国报业, 2024, (02): 254-256[2024-04-05].

[8]王石宝. 湘西体育非物质文化遗产数字化保护研究 [J]. 武术研究, 2024, 9 (03): 22-24.

[9]赵傲扬. 传播学视域下河南非物质文化遗产外宣翻译策略研究 [J]. 今古文创, 2024, (13): 106-108.

[10]杨玉凤. 非物质文化遗产促进天水乡村振兴的路径研究 [J]. 甘肃农业, 2024, (03): 18-22.

[11]朱宏轩,唐婉茹. 胶州非物质文化遗产“尉家秤”制作工具设计 [J]. 收藏与投资, 2024, 15 (03): 178-181.

[12]柏乐. 非物质文化遗产芜湖铁画振兴的路径探讨——以全国首批非物质文化遗产芜湖铁画为例 [J]. 收藏与投资, 2024, 15 (03): 188-190.

[13]康建,刘静. 民间非物质文化遗产的创新传承路径研究——以陕西面花为例 [J]. 参花, 2024, (09): 35-37.

[14]杨凤翔. 互联网+视域下非物质文化遗产的保护与传承研究 [J]. 参花, 2024, (09): 41-43.

[15]杜俊,李金忠,何新武,等. 基于Spring Cloud微服务架构的非物质文化遗产展示与学习系统的设计与实现 [J]. 广东轻工职业技术学院学报, 2024, 23 (01): 14-21.

[16]Ghoshal A . Oracle’s MySQL HeatWave gets Vector Store, generative AI features [J]. InfoWorld.com, 2023,

[17]陈蓓蕾,洪年松. 基于SpringBoot的数据库接口设计 [J]. 信息与电脑(理论版), 2023, 35 (16): 181-183.

[18]Yang Y . Design and Implementation of Student Information Management System Based on Springboot [J]. Advances in Computer, Signals and Systems, 2022, 6 (6):

[19]陈梅. 音乐类非遗数字化展示的应用探讨 [J]. 明日风尚, 2021, (23): 16-18.

[20]尹雄,陶丽萍,潘伟晨. “非遗”数字化保护与展示平台研究——以江汉平原皮影戏为例 [J]. 现代信息科技, 2021, 5 (15): 156-159.

致  谢

时光荏苒,白驹过隙。在恍若昨日的一瞬,大学生活已悄然接近尾声。面对别离与终结,人心中总难免涌现不舍与迷惘,我亦如此。犹记那年金秋,我怀揣着满腔热忱,提前一日踏足校园。面对庄严雄伟的校门,我内心充满了对未知生活的憧憬:此地,莫非我崭新篇章的启幕之所?当日,阳光洒满大地,学校的迎新仪式热烈而庄重。我遇见了一张张洋溢着友善微笑的面孔,他们如同阳光穿透心灵,温暖了我初来乍到的忐忑。在那日,我邂逅了志同道合的室友,我们携手并肩,共同编织了这段难忘的岁月。

如今,当我凝视这篇论文的致谢部分,不禁陷入深思:难道,真的到了告别的时刻?感慨涌上心头,难以言表。曾几何时,我初来乍到,担忧这所工科院校或许过于严谨,缺乏温情。然而,随着时间的推移,我逐渐发现了她的独特韵味与深沉内涵,慢慢爱上了这片育人的圣地。时光匆匆,我还未及细细品味她的美好,却已面临离别的时刻。然而,她留给我的宝贵回忆,将永远铭刻于心。或许,在告别的那天,我的眼中会泛起泪光,但那不是因为悲伤,而是因为我想将她的倩影永远镌刻在心灵深处。

在此,我要向敬爱的老师们表达衷心的感激。是您们传授了宝贵的知识,教会了我们为人处世的道理。同时,我也要感谢亲爱的室友们,是你们的陪伴让这段旅程充满了欢声笑语。最后,我要感谢每一位关心与支持我的人,是你们的鼓励让我不断前行。

青春年少,我们如同追风赶月的旅人,不应驻足停留。须知,荒原尽头便是春光灿烂的山川。让我们怀揣着感激与希望,继续前行,在人生的旅途中书写更加辉煌的篇章。

免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值