摘  要

随着高校校园活动和社团的日益发展,如何高效地管理社团资源、活动、财务及成员等事务成为了一个重要的课题。传统的人工管理方式不仅效率低下,而且容易出错,亟需一种信息化、自动化的管理方式来提升社团管理的效率与质量。本论文设计并实现了一种基于Spring Boot框架的校园社团管理系统,旨在为高校社团提供一个综合性的管理平台。

该系统主要包括三类用户角色:管理员、社长和学生用户。管理员负责全局的系统管理、用户权限控制及社团资源的监管;社长用户负责具体社团内部事务的管理,包括成员管理、活动组织、物资借用、财务支出等;学生用户则可以参与社团活动、申请加入社团、借用物资、参加活动并进行反馈。系统提供了包括社团信息管理、活动管理、财务管理、物资管理等多项功能,能够全面支持校园社团的日常运作。

本系统采用Spring Boot框架进行开发,前端使用了Vue.js,后端实现了与数据库的有效交互,确保数据的实时更新与处理。系统的设计遵循简洁、易用的原则,界面友好,操作便捷,能够满足不同用户的需求。

通过该系统的实现,能够大大提高校园社团管理的效率,降低人工管理的复杂度,同时为学生提供更加便捷的社团参与体验。该系统不仅为高校社团的管理提供了一种现代化的解决方案,也为其他类似校园管理系统的开发提供了参考和借鉴。

关键词Spring Boot;校园社团管理;系统设计;活动管理;财务管理;物资管理

Springboot Campus Club Management System

ABSTRACT

With the increasing development of campus activities and clubs in universities, how to efficiently manage club resources, activities, finances, and member affairs has become an important issue. The traditional manual management method is not only inefficient, but also prone to errors. There is an urgent need for an information-based and automated management approach to improve the efficiency and quality of community management. This paper designs and implements a campus club management system based on the Spring Boot framework, aiming to provide a comprehensive management platform for university clubs.

The system mainly includes three types of user roles: administrator, president, and student user. Administrators are responsible for global system management, user permission control, and supervision of community resources; The president is responsible for managing specific internal affairs of the club, including member management, event organization, material borrowing, financial expenditures, etc; Student users can participate in club activities, apply to join clubs, borrow materials, participate in activities, and provide feedback. The system provides multiple functions including club information management, activity management, financial management, material management, etc., which can fully support the daily operation of campus clubs.

This system is developed using the Spring Boot framework, with Vue.js used in the front-end and effective interaction with the database implemented in the back-end to ensure real-time data updates and processing. The design of the system follows the principles of simplicity and ease of use, with a user-friendly interface and convenient operation that can meet the needs of different users.

Through the implementation of this system, the efficiency of campus club management can be greatly improved, the complexity of manual management can be reduced, and a more convenient club participation experience can be provided for students. This system not only provides a modern solution for the management of university clubs, but also serves as a reference and inspiration for the development of other similar campus management systems.

Keywords: Spring Boot; Campus club management; System design; Event management; Financial management; material management

目 录

1项目开发背景

1.1课题研究背景及意义

1.2国内外发展现状分析

2相关技术简介

2.1  Springboot 框架简介

2.2  B/S结构

2.3  VUE框架简介

2.4  MySQL数据库简介

3系统需求分析

3.1系统功能需求分析

3.1.1.学生用户主要功能

3.1.2.社长用户主要功能

3.1.3.管理员主要功能

3.2系统非功能性分析

3.3系统可行性分析

3.3.1技术可行性

3.3.2经济可行性

3.3.3操作可行性

3.4系统用例分析

3.4.1学生用户用例分析

3.4.2社长用户用例分析

3.4.3管理员用例分析

4系统设计

4.1系统总体设计思路

4.2系统结构设计

4.3系统流程设计

4.3.1用户登录流程

4.3.2信息添加流程

4.3.3信息删除流程

4.4系统核心代码设计

4.4.1用户注册

4.4.2用户登录

4.4.3修改密码

4.4.4修改数据

4.4.5删除数据

4.4.6获取列表

4.4.7图片上传

4.5数据库设计

4.5.1数据库设计原则

4.5.2数据库实体

4.5.3数据库表设计

5系统实现

5.1学生用户功能实现

5.1.1用户注册

5.1.2用户登录

5.1.3我的账户

5.1.4新闻资讯

5.1.5社团信息

5.1.6物资信息

5.2管理员功能实现

5.2.1系统用户

5.2.2社团类型管理

5.2.3社团成员管理

5.2.4系统管理

5.2.5通知公告管理

5.3社长用户功能实现

5.3.1社团申请管理

5.3.2支出申请管理

5.3.3活动信息管理

6系统测试

6.1系统测试目标

6.2系统功能测试

6.3测试结果总结

结 论

参考文献

致 谢

1项目开发背景

1.1课题研究背景及意义

随着高校校园社团活动的多样化与蓬勃发展,社团管理的复杂性日益增加。传统的社团管理方式通常依赖于人工操作,容易出现信息遗漏、数据不准确以及管理效率低下等问题[1]。这种传统方式不仅消耗了大量的人力资源,还限制了社团管理的灵活性和效率。在现代信息化社会中,信息技术已经渗透到各行各业,校园管理也逐渐向数字化、自动化方向发展。因此,开发一款适应校园社团管理需求的智能化系统,成为了高校管理者和社团负责人亟待解决的难题。

校园社团作为学生课外活动的重要组成部分,承担着丰富学生课外生活、促进学生综合素质发展的重要任务[2]。社团管理涉及到社团成员的管理、活动的组织、物资的借用、财务的支出与收支等多个方面。传统管理模式不仅难以应对日益增长的社团活动数量,还容易出现信息传递不畅、活动安排冲突、财务支出不透明等问题[3]。这不仅影响社团的正常运作,也制约了学生在社团活动中的参与体验与满意度。

在这种背景下,设计了校园社团管理系统。采用现代化的技术手段,特别是Spring Boot框架,能够有效解决传统管理方式的弊端。通过信息化平台,管理人员可以实时掌握社团的活动情况、成员动态、物资借用与财务状况等,实现各项事务的高效管理与精准调度[4]。对于学生用户而言,信息化管理系统提供了更加便捷的社团活动参与途径,使他们能够更加轻松地申请加入社团、参加活动、借用物资等,提升了学生的社团参与度和校园生活质量。

开发校园社团管理系统不仅能够提高社团管理的效率,减少管理成本,还能为社团成员提供更加顺畅的服务体验,促进社团活动的顺利开展。这种系统的实施,具有重要的现实意义和深远的社会影响,它为高校社团管理提供了一种全新的解决方案,也为其他校园管理系统的数字化转型提供了借鉴与启示[5]。

1.2国内外发展现状分析

随着信息技术的不断发展,国内外对于校园社团管理系统的研究与实践也逐渐取得了显著进展。在国内,许多高校逐渐意识到传统的社团管理方式存在诸多问题,尤其是在管理效率、信息流通和资源调配方面的局限性。因此,越来越多的高校开始探索如何借助信息化手段提升社团管理水平。国内的研究重点主要集中在系统的功能设计与平台开发上,例如通过Web应用、移动端APP等形式,提供社团活动的管理、成员信息的更新、活动报名与资金管理等服务[6]。这些系统大多注重用户体验与操作便捷性,旨在简化管理流程,降低管理成本,提高社团活动的组织效率。

目前国内许多高校已经开始尝试通过基于Java语言开发的系统,结合数据库技术实现管理信息的自动化。Spring Boot、Vue.js等技术被广泛应用于系统开发中,以提高系统的稳定性与扩展性。此外,国内的研究也开始关注系统的安全性和数据隐私保护,尤其是在处理大量个人信息和社团财务数据时,这一问题变得愈加重要。国内一些学者还在研究如何通过数据分析对社团活动进行有效的优化,利用历史数据预测社团活动的参与情况与资源需求,从而提高活动的组织效率和参与体验[7]。

在国外,尤其是在欧美和一些发达国家,校园社团管理系统的研究起步较早,相关技术也相对成熟。这些国家的大学普遍拥有完善的数字化管理体系,并且对社团的管理已进行了系统化、信息化的布局。国外的研究较为注重系统的多功能性与高度定制化,许多系统不仅具备社团成员管理和活动组织功能,还涵盖了更为复杂的社团财务管理、资源调配、以及跨部门协作等功能。此外,国外一些学者还研究了如何利用平台进行多维度的数据分析,帮助社团管理人员更好地了解社团的运作状况和成员需求,从而制定更为合理的管理决策。

尽管国内外的研究都取得了一定的成果,但也存在一些问题。国内大多数系统往往在功能上较为简单,缺乏针对不同类型社团和活动的灵活支持。很多平台的运维与安全性尚需进一步加强。国外的系统虽然功能较为全面,但在本土化设计上存在一定差距,难以适应不同文化背景下的管理需求。因此,如何设计一种既能满足各类社团管理需求,又能适应不同校园文化的社团管理系统,成为了当前研究的一个重要方向[8]。

从整体来看,校园社团管理系统的发展仍处于不断创新与完善的阶段。随着技术的不断进步,未来的校园社团管理系统有望在功能、操作体验、数据安全等方面更加完善,更好地服务于高校的社团管理需求。

2相关技术简介

2.1  Springboot 框架简介

Spring Boot,作为Spring生态系统中一颗璀璨的明星,以其“约定优于配置”的核心理念,极大地简化了Java应用的开发、部署与管理流程。它并非是对Spring框架的颠覆,而是在其基础上进行了深度封装与优化,旨在快速搭建独立的、生产级别的Spring应用。Spring Boot通过自动配置功能,减少了大量繁琐的配置工作,让开发者能够更加专注于业务逻辑的实现。同时,它集成了众多常用库,如数据库连接池、缓存、消息队列等,为开发者提供了一站式的解决方案。此外,Spring Boot还支持多种部署方式,无论是传统的WAR包部署,还是现代的容器化部署,都能轻松应对。因此,选择Spring Boot作为校园社团管理系统的开发框架,不仅能够提升开发效率,还能确保系统的稳定性和可维护性。

2.2  B/S结构

B/S模式,即浏览器/服务器模式,是一种常见的网络应用架构模式。在B/S模式中,用户通过浏览器作为客户端与服务器进行交互。在浏览器/服务器(browser / Server Architecture)系统中,用户只需通过浏览器,就能够轻松地向分布在网络各处的众多服务器发送海量的请求。B/S系统大大地简化了客户端的工作,让用户体验更加便捷。

2.3  VUE框架简介

Vue框架,作为一款风靡前端的JavaScript框架,以其渐进式、组件化的设计理念,为开发者构建高效、灵活的Web界面提供了强大支持。Vue不仅轻量且易于上手,其核心库专注于视图层,使得开发者能够轻松地将Vue集成到现有项目中,实现前后端分离的现代Web应用开发。其响应式的数据绑定和组件系统,让开发者能够高效地管理界面状态和用户交互,同时Vue丰富的生态系统也提供了众多插件和工具,进一步提升了开发效率和应用的性能。在校园社团管理系统中引入Vue作为前端框架,不仅可以优化用户界面的渲染和交互体验,还能通过前后端分离的架构提升系统的可维护性和可扩展性,是构建现代、高效校园社团管理系统的理想选择。

2.4  MySQL数据库简介

MySQL数据库,作为开源关系型数据库管理系统的佼佼者,以其高性能、可靠性、易用性和灵活性,在全球范围内被广泛应用于各类企业级应用中。MySQL采用SQL(结构化查询语言)作为数据操作的标准语言,支持复杂的查询、数据更新、索引优化等功能,确保数据的高效存取和完整性。其强大的事务处理能力,为业务逻辑的原子性、一致性、隔离性和持久性提供了坚实保障。此外,MySQL还具备高度的可配置性和可扩展性,通过优化存储引擎、调整配置参数等手段,可以轻松应对高并发、大数据量的应用场景。在校园社团管理系统中,MySQL作为后端数据存储的核心,不仅为系统提供了稳定可靠的数据支持,还通过其丰富的数据操作功能,助力系统实现复杂的业务逻辑和高效的数据管理。

3系统需求分析

3.1系统功能需求分析

校园社团管理系统包含学生用户、管理员和社长用户三种角色,主要功能如下:

3.1.1.学生用户主要功能

1. 首页:学生用户的首页展示个人重要信息,提供快速访问到各类功能入口,如通知公告、新闻资讯、社团信息等。

2. 通知公告:学生可以查看校园社团或系统发布的各类通知与公告,获取最新的社团活动信息或管理层的通知。

3. 新闻资讯:学生可以查看平台发布的新闻和资讯,了解校园社团的动态、活动、政策等信息。

4. 社团信息:学生可以浏览各社团的信息,包括社团简介、成员、活动等,帮助学生了解不同社团的内容和情况。

5. 物资信息:学生可以查看各社团或活动所需的物资信息,包括物资的种类、用途及借用情况等。

6. 活动信息:学生可以查看和浏览社团及学校组织的各类活动的详细信息,如活动时间、地点、内容、报名情况等。

7. 场地信息:学生可以查看学校提供的活动场地信息,包括场地的可用状态、容量、使用规则等。

8. 我的账户:学生可以查看和管理自己的账户信息,修改个人资料,查看账号的相关状态。

9. 个人中心

个人首页:查看个人的基本信息、活动参与情况、社团信息等。

社团退出:如果学生决定退出某个社团,可以通过此功能申请退出。

社团申请:学生可以申请加入感兴趣的社团,填写相关信息并提交申请。

支出申请:学生可以为自己或社团申请必要的资金支出,并等待管理员审核。

社团成员:查看自己在社团中的成员信息,了解自己在社团的身份和职责。

社团公告:查看自己加入的社团发布的公告或通知,了解社团最新动态。

借用记录:查看自己申请借用物资的记录,了解物资的借用情况和归还要求。

活动报名:学生可以报名参加社团或学校组织的各类活动,并查看活动的报名状态。

归还记录:查看自己借用的物资归还情况,确保物资按时归还。

活动评价:学生在活动结束后可以对活动进行评价,提出反馈意见和建议。

收藏:学生可以收藏自己感兴趣的社团、活动或资讯,以便快速查看和访问。

3.1.2.社长用户主要功能

1. 后台首页:社长用户的后台首页提供了系统的概览,包括社团相关的关键数据、活动状态、财务信息等,帮助社长迅速了解社团的运作和管理情况。

2. 社团信息管理:管理社团的基本信息,包括社团名称、简介、联系方式、社团目标等。社长可以更新社团的资料,确保信息的准确性。

3. 社团申请管理:管理新成员或其他社团的加入申请,审批或拒绝申请。社长可以根据社团需要调整社团成员的组成。

4. 社团成员管理:管理社团成员的信息,包括成员的加入、退出、角色分配(如社团干事、成员等)。社长可以添加、删除成员,并对成员进行管理和安排。

5. 物资信息管理:管理社团的物资信息,确保社团的物资使用得到合理安排。社长可以查看、更新和添加社团物资的相关数据,如设备、文具等。

6. 借用记录管理:管理社团物资的借用记录,确保物资的借用流程清晰,避免借用物品丢失或损坏。

7. 归还记录管理:管理物资归还的情况,社长可以查看物资归还的记录,确保物资按时归还。

8. 社团退出管理:管理社团成员或社团的退出流程。社长可以审核社团成员的退出申请或进行社团解散的相关操作。

9. 支出申请管理:审核社团的支出申请,管理社团的财务支出。社长可以决定哪些支出申请符合社团预算并进行批准。

10. 社团公告管理:发布和管理社团的公告和通知,向社团成员传达重要信息、活动安排、社团动态等。

11. 活动信息管理:管理和发布社团活动的相关信息,包括活动名称、时间、地点、内容、人员等。社长负责确保活动信息的准确性和及时性。

12. 活动报名管理:管理社团活动的报名情况,包括查看报名人数、参与者信息等。社长可以控制活动的报名通道,确保活动的顺利进行。

13. 活动评价管理:管理活动后的评价和反馈,查看成员对活动的评价。社长可以收集活动意见,进行总结改进,提升活动质量。

14. 活动经费管理:管理社团活动的经费支出,包括活动预算、费用申请、活动期间的支出审核等,确保活动经费的合理利用。

15. 场地信息管理:管理和查看社团活动所需场地的信息,确保活动场地的合理申请和分配。

16. 经费收入管理:管理社团的经费收入,包括社团的资金来源、捐款、活动收入等,确保社团财务状况清晰透明。

3.1.3.管理员主要功能

1. 后台首页:提供系统的概览,展示重要数据和通知,便于管理员快速了解系统状态和重要事项。

2. 系统用户:管理平台用户账户,包括管理员和普通用户。管理员可以添加、删除或修改用户权限。

3. 社团类型管理:管理社团的类别,例如文艺类、体育类等,帮助系统分类和归类社团。

4. 社团信息管理:管理和修改社团的基本信息,如社团名称、简介、联系方式等。

5. 社团申请管理:审核和管理社团创建申请,批准或拒绝社团的创建请求。

6. 社团成员管理:管理社团成员信息,添加或移除社团成员,维护社团成员的完整性。

7. 物资信息管理:记录和管理社团物资的相关信息,确保物资的使用和分配有序。

8. 借用记录管理:管理物资的借用记录,确保借用流程清晰和追踪。

9. 归还记录管理:管理物资的归还记录,确保借用物资能够按时归还。

10. 社团退出管理:管理社团退出的申请和流程,处理社团解散或退出的事宜。

11. 支出申请管理:审核和管理社团的支出申请,确保资金的合理使用。

12. 社团公告管理:发布和管理社团的公告通知,向成员传达重要信息。

13. 活动信息管理:管理社团举办的各类活动信息,记录活动的时间、地点、内容等。

14. 活动报名管理:管理社团活动的报名情况,查看报名人数、筛选报名人员等。

15. 活动评价管理:审核和管理活动后的评价和反馈,便于评估活动效果。

16. 活动经费管理:管理和审查活动所需的经费,确保活动经费的合理规划与使用。

17. 场地信息管理:管理活动场地的信息,记录场地的可用状态及相关数据。

18. 场地申请管理:审核社团对场地的申请,确保场地使用合理、避免冲突。

19. 经费收入管理:管理社团的收入,记录社团活动的资金来源及收入状况。

20. 系统管理(轮播图):管理系统的首页轮播图,更新平台的展示内容和图片。

21. 通知公告管理:发布系统的通知公告,便于向所有用户传达重要信息或变动。

22. 资源管理(新闻资讯、资讯分类):管理新闻资讯内容,更新社团新闻、活动报道等信息,同时维护资讯分类。

23. 权限管理:管理不同用户角色的权限,控制不同用户能访问和操作的内容与功能。

3.2系统非功能性分析

校园社团管理系统,非功能性需求分析是一个重要的部分。非功能性需求主要关注的是系统如何运行,而不是它具体完成什么功能。这些需求包括性能、可用性、安全性、可维护性、可扩展性、易用性等方面。以下是一个关于校园社团管理系统非功能性需求分析的概要。

性能需求:系统需确保快速响应和高吞吐量,以支持大量用户同时访问,即使在高峰时段也能保持流畅的操作体验,避免因延迟或卡顿影响用户体验。

可用性:安系统必须具备高可用性,采用冗余部署、负载均衡等策略,确保即使部分组件故障也能迅速恢复服务,减少服务中断时间,保障用户业务的连续性。

安全性:鉴于系统处理用户敏感信息,必须实施严格的安全措施,包括数据加密、访问控制、防攻击机制等,以保护用户数据免受未授权访问或泄露。

可维护性:系统设计应注重可维护性,采用模块化、标准化的架构,提供详尽的开发文档和用户手册,确保系统易于理解和维护,降低长期运维成本。

可扩展性:随着业务的发展,系统可能需要扩展功能或提升性能。因此,系统需具备灵活的可扩展性,能够轻松添加新模块、优化性能,以应对未来增长的需求。

易用性:用户界面应直观易用,符合用户习惯,提供清晰的导航和友好的操作反馈,帮助用户快速上手并高效完成任务,提升整体用户满意度。


3.3系统可行性分析

通过校园社团管理系统的可行性分析,我们可以从技术可行性、经济可行性和操作可行性三个维度进行深入探讨,以确保系统的开发与应用具有坚实的可行性基础。

3.3.1技术可行性

Springboot作为目前流行的Java企业级应用开发框架,以其“约定优于配置”的原则,极大地简化了开发流程,降低了技术门槛。同时,结合MyBatis Plus这一强大的ORM框架,可以高效实现数据持久化操作。前端采用Vue框架,不仅提升了用户界面的交互体验,也实现了前后端分离的现代Web架构。MySQL数据库作为后端数据存储,以其高性能和稳定性为系统提供了可靠的数据支持。综上所述,从技术角度来看,该系统的开发具备高度可行性。

3.3.2经济可行性

考虑到Springboot、Vue、MyBatis Plus及MySQL等均为开源技术,无需支付高昂的许可费用,大大降低了系统的开发成本。同时,这些技术拥有广泛的用户群体和成熟的社区支持,便于获取技术支持和资源共享。此外,系统的实施将显著提升用户体验,从而带来潜在的经济效益。因此,从经济角度来看,该系统的开发同样具备可行性。

3.3.3操作可行性

系统设计应遵循用户友好原则,确保用户能够轻松上手并高效使用。通过合理的界面布局、直观的操作流程以及详尽的帮助文档,可以大大降低用户的学习成本,提高系统的操作可行性。此外,系统还应具备完善的权限管理和数据安全机制,确保操作的安全性和合规性。

从技术、经济和操作三个维度来看,校园社团管理系统的开发均具备高度的可行性。

3.4系统用例分析

校园社团管理系统用例分析主要从学生用户,管理员和社长用户这些实体展开描述。

3.4.1学生用户用例分析

学生用户具备注册登录、首页、通知公告、新闻资讯、社团信息、物资信息、活动信息、场地信息、我的账户、个人中心(个人首页、社团退出、社团申请、支出申请、社团成员、社团公告、借用记录、活动报名、归还记录、活动评价、收藏)等用例信息。详细用例图如图3-1所示。

图3-1学生用户用例图

3.4.2社长用户用例分析

社长用户具备注册登录、后台首页、社团信息管理、社团申请管理、社团成员管理、物资信息管理、借用记录管理、归还记录管理、社团退出管理、支出申请管理、社团公告管理、活动信息管理、活动报名管理、活动评价管理、活动经费管理、地地信息管理、经费收入管理等用例信息。详细用例图如图3-2所示。

图3-2社长用户用例图

3.4.3管理员用例分析

管理员具备登录、后台首页、系统用户、社团类型管理、社团信息管理、社团申请管理、社团成员管理、物资信息管理、借用记录管理、归还记录管理、社团退出管理、支出申请管理、社团公告管理、活动信息管理、活动报名管理、活动评价管理、活动经费管理、场地信息管理、场地申请管理、经费收入管理、系统管理(轮播图)、通知公告管理、资源管理(新闻资讯、资讯分类)、权限管理。等需求用例。详细用例图如图3-3所示。

图3-3管理员用例图

4系统设计

4.1系统总体设计思路

基于SPRINGBOOT架构技术的校园社团管理系统采用Browser/Server结构,(浏览器/服务器)和基于Web服务前后台交互的模式,是一个适用于Windows体系环境下的模型结构。只要用户有符合程序运行的硬件系统,并连上互联网,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示:

图4-1系统工作原理图

其最终前后台交互原理如图4-2所示。

图4-2前后台交互原理

具体交互流程为:浏览器中执行具体操作,操作命令将生成一个do方法。该方法使得浏览器能够访问后台中的Controller层,Controller层由于业务上的需要执行进而访问Service层。Service层收到指令后将会去调用内部DAO层的接口。接口将会和MyBatis层下的一个SQL语句相对接。对接好之后进而访问MySql数据库。更新底层数据,然后将数据同步回MyBatis层,同步变化后的数据将通过DAO层接口,Service层和后台Controller层,直观反映到浏览器页面上。

4.2系统结构设计

校园社团管理系统的整体结构设计如图4-3所示。

图4-3整体功能结构设计图

4.3系统流程设计

4.3.1用户登录流程

对于系统的安全性的第一关,就是用户想要进入系统,必须通过登录窗口,输入自己的登录信息才可以进行登录,用户输入的信息准确无误后才可以进入到操作系统界面,进行功能模块的相对应操作,如果用户输入的信息不正确,则窗口出现提示框,用户登录失败,返回到第一步进行重新输入,如图4-4所示。

图4-4登录操作流程图

4.3.2信息添加流程

对于校园社团管理系统,需要随时添加所需要的数据信息,对于用户添加信息,需要根据添加界面,根据选框的内容进行填写所要添加的数据信息,信息输入完成后判断数据信息是否符合要求,符合要求则添加完成,用户所添加的信息不符合要求,则需要返回到第一步,重新输入数据信息,再进行判断操作,如图4-5所示。

图4-5信息添加流程图

4.3.3信息删除流程

不管是哪个用户角色进入到系统操作界面,都可以进行不同的信息内容的操作功能,对用系统数据信息的删除,用户一旦将信息删除,那么该删除的数据信息将无法恢复,所以用户在对数据删除时,一定判断删除的内容是否是确定要删除的,确定无误后选择确定删除操作,如图4-6所示。

图4-6信息删除流程图

4.4系统核心代码设计

校园社团管理系统的核心代码设计如下:

4.4.1用户注册

注册页UserController.java,传入user对象,并将"user_id"、 "state"、 "user_group"、"login_time"、"phone"、"phone_state"、 "username"、"nickname"、"password"、"email"、"email_state"、"avatar"、"create_time"输入,重点是 "username"、"nickname"、"password"必须输入,通过获取username,数据库查询是否有该用户,如果存在,则提示“用户已存在”,否则执行将UserId置为空(数据库表中该字段已设置自动递增),

4.4.2用户登录

登录页,首先传入"username"、"email"、"phone"、"password",用户可通过用户名、邮箱、手机号进行登陆,通过判断resultList来确定查询结果,然后执行查询用户组UserGroup,用户组里面不存在,依然报“用户不存在”,执行完以上代码,最后涉及到用户带有“审核”的,会查询examine_state(用户的审核状态),数据库表user_group中含有source_table和source_field进行查询,以上步骤完成,对输入的密码进行存储Token到数据库,匹对账号和密码,数据库中的AccessToken为令牌,用于身份认证,

4.4.3修改密码

修改密码,通过请求data,获取旧密码,并将新密码重新赋值,期间都是需要通过加密,

4.4.4修改数据

修改一个数据,原理与add基本一致,不同点在于通过readConfig()读取关键字,以及通过readQuery()获取URL后面?指定位置的标识,转成Map对象后,执行update操作,同样通过拼接的sql语句执行,执行过程读取query,toWhereSql()语句完成数据库操作,body为修改对象的值,

4.4.5删除数据

删除一条数据,通过readQuery(),获取URL后面的对象地址,删除FROM具体的table,query删除查询FindConfig语句,

4.4.6获取列表

通过请求的参数获取列表数据

4.4.7图片上传

通过请求的参数获取列表数据,

4.5数据库设计

4.5.1数据库设计原则

校园社团管理系统在进行数据库设计时,考虑到个人能力与数据库选择,选择了数据库Mysql。以下将使用E-R展示数据库中设计的实体及主要的字段和类型及数据库的描述。

4.5.2数据库实体

数据库实体E-R图如图4-14所示:

图4-14数据库E-R图

4.5.3数据库表设计

以下为本课题开发过程中所使用的数据表结构:

表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

用户编号:

表action_message (活动信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

action_message_id

int

10

0

N

Y

活动信息ID

2

president_user

int

10

0

Y

N

0

社长用户

3

presidents_name

varchar

64

0

Y

N

社长姓名

4

association_name

varchar

64

0

Y

N

社团名称

5

activity_name

varchar

64

0

Y

N

活动名称

6

event_address

varchar

64

0

Y

N

活动地址

7

activity_time

varchar

64

0

Y

N

活动时间

8

deadline

varchar

64

0

Y

N

截止时间

9

event_cover

varchar

255

0

Y

N

活动封面

10

activity_content

longtext

2147483647

0

Y

N

活动内容

11

praise_len

int

10

0

N

N

0

点赞数

12

collect_len

int

10

0

N

N

0

收藏数

13

comment_len

int

10

0

N

N

0

评论数

14

event_registration_limit_times

int

10

0

N

N

0

报名限制次数

15

finance_limit_times

int

10

0

N

N

0

申请经费限制次数

16

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

17

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

18

source_table

varchar

255

0

Y

N

来源表

19

source_id

int

10

0

Y

N

来源ID

20

source_user_id

int

10

0

Y

N

来源用户

表activity_evaluation (活动评价)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

activity_evaluation_id

int

10

0

N

Y

活动评价ID

2

president_user

int

10

0

Y

N

0

社长用户

3

association_name

varchar

64

0

Y

N

社团名称

4

activity_name

varchar

64

0

Y

N

活动名称

5

student_users

int

10

0

Y

N

0

学生用户

6

sname

varchar

64

0

Y

N

学生姓名

7

student_grading

double

9

2

Y

N

0.00

学生打分

8

comment_content

text

65535

0

Y

N

评语内容

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

11

source_table

varchar

255

0

Y

N

来源表

12

source_id

int

10

0

Y

N

来源ID

13

source_user_id

int

10

0

Y

N

来源用户

表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

parent

varchar

64

0

Y

N

父级菜单

8

parent_sort

int

10

0

N

N

0

父级菜单排序

9

position

varchar

32

0

Y

N

位置:

10

mode

varchar

32

0

N

N

_blank

跳转方式:

11

add

tinyint

3

0

N

N

1

是否可增加:

12

del

tinyint

3

0

N

N

1

是否可删除:

13

set

tinyint

3

0

N

N

1

是否可修改:

14

get

tinyint

3

0

N

N

1

是否可查看:

15

field_add

text

65535

0

Y

N

添加字段:

16

field_set

text

65535

0

Y

N

修改字段:

17

field_get

text

65535

0

Y

N

查询字段:

18

table_nav_name

varchar

500

0

Y

N

跨表导航名称:

19

table_nav

varchar

500

0

Y

N

跨表导航:

20

option

text

65535

0

Y

N

配置:

21

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

22

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表borrowing_records (借用记录)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

borrowing_records_id

int

10

0

N

Y

借用记录ID

2

president_user

int

10

0

Y

N

0

社长用户

3

presidents_name

varchar

64

0

Y

N

社长姓名

4

association_name

varchar

64

0

Y

N

社团名称

5

material_name

varchar

64

0

Y

N

物资名称

6

student_users

int

10

0

Y

N

0

学生用户

7

sname

varchar

64

0

Y

N

学生姓名

8

borrowing_remarks

text

65535

0

Y

N

借用备注

9

examine_state

varchar

16

0

N

N

未审核

审核状态

10

return_record_limit_times

int

10

0

N

N

0

归还限制次数

11

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

12

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

13

source_table

varchar

255

0

Y

N

来源表

14

source_id

int

10

0

Y

N

来源ID

15

source_user_id

int

10

0

Y

N

来源用户

表club_announcement (社团公告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

club_announcement_id

int

10

0

N

Y

社团公告ID

2

president_user

int

10

0

Y

N

0

社长用户

3

presidents_name

varchar

64

0

Y

N

社长姓名

4

association_name

varchar

64

0

Y

N

社团名称

5

student_users

int

10

0

Y

N

0

学生用户

6

announcement_name

varchar

64

0

Y

N

公告名称

7

announcement_content

text

65535

0

Y

N

公告内容

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

10

source_table

varchar

255

0

Y

N

来源表

11

source_id

int

10

0

Y

N

来源ID

12

source_user_id

int

10

0

Y

N

来源用户

表club_application (社团申请)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

club_application_id

int

10

0

N

Y

社团申请ID

2

president_user

int

10

0

Y

N

0

社长用户

3

presidents_name

varchar

64

0

Y

N

社长姓名

4

association_name

varchar

64

0

Y

N

社团名称

5

type_of_club

varchar

64

0

Y

N

社团类型

6

student_users

int

10

0

Y

N

0

学生用户

7

student_id

varchar

64

0

Y

N

学生学号

8

sname

varchar

64

0

Y

N

学生姓名

9

student_major

varchar

64

0

Y

N

学生专业

10

student_grade

varchar

64

0

Y

N

学生年级

11

student_phone_number

varchar

64

0

Y

N

学生电话

12

application_date

date

10

0

Y

N

申请日期

13

application_remarks

text

65535

0

Y

N

申请备注

14

examine_state

varchar

16

0

N

N

未审核

审核状态

15

examine_reply

varchar

16

0

Y

N

审核回复

16

club_members_limit_times

int

10

0

N

N

1

成员限制次数

17

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

18

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

19

source_table

varchar

255

0

Y

N

来源表

20

source_id

int

10

0

Y

N

来源ID

21

source_user_id

int

10

0

Y

N

来源用户

表club_members (社团成员)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

club_members_id

int

10

0

N

Y

社团成员ID

2

president_user

int

10

0

Y

N

0

社长用户

3

presidents_name

varchar

64

0

Y

N

社长姓名

4

association_name

varchar

64

0

Y

N

社团名称

5

student_users

int

10

0

Y

N

0

学生用户

6

student_id

varchar

64

0

Y

N

学生学号

7

sname

varchar

64

0

Y

N

学生姓名

8

student_major

varchar

64

0

Y

N

学生专业

9

student_grade

varchar

64

0

Y

N

学生年级

10

student_phone_number

varchar

64

0

Y

N

学生电话

11

number_of_members

varchar

64

0

Y

N

成员数量

12

club_withdrawal_limit_times

int

10

0

N

N

0

申请退出限制次数

13

expenditure_request_limit_times

int

10

0

N

N

0

支出申请限制次数

14

club_announcement_limit_times

int

10

0

N

N

0

公告限制次数

15

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

16

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

17

source_table

varchar

255

0

Y

N

来源表

18

source_id

int

10

0

Y

N

来源ID

19

source_user_id

int

10

0

Y

N

来源用户

表club_withdrawal (社团退出)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

club_withdrawal_id

int

10

0

N

Y

社团退出ID

2

president_user

int

10

0

Y

N

0

社长用户

3

presidents_name

varchar

64

0

Y

N

社长姓名

4

association_name

varchar

64

0

Y

N

社团名称

5

student_users

int

10

0

Y

N

0

学生用户

6

student_id

varchar

64

0

Y

N

学生学号

7

sname

varchar

64

0

Y

N

学生姓名

8

exit_reason

text

65535

0

Y

N

退出原因

9

examine_state

varchar

16

0

N

N

未审核

审核状态

10

examine_reply

varchar

16

0

Y

N

审核回复

11

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

12

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

13

source_table

varchar

255

0

Y

N

来源表

14

source_id

int

10

0

Y

N

来源ID

15

source_user_id

int

10

0

Y

N

来源用户

表code_token

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间:

表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:

表community_information (社团信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

community_information_id

int

10

0

N

Y

社团信息ID

2

president_user

int

10

0

Y

N

0

社长用户

3

presidents_name

varchar

64

0

Y

N

社长姓名

4

presidents_phone_number

varchar

64

0

Y

N

社长电话

5

association_name

varchar

64

0

Y

N

社团名称

6

type_of_club

varchar

64

0

Y

N

社团类型

7

club_purpose

varchar

64

0

Y

N

社团宗旨

8

club_cover

varchar

255

0

Y

N

社团封面

9

club_introduction

longtext

2147483647

0

Y

N

社团简介

10

praise_len

int

10

0

N

N

0

点赞数

11

collect_len

int

10

0

N

N

0

收藏数

12

comment_len

int

10

0

N

N

0

评论数

13

club_application_limit_times

int

10

0

N

N

0

社团申请限制次数

14

action_message_limit_times

int

10

0

N

N

0

活动限制次数

15

material_information_limit_times

int

10

0

N

N

0

物资限制次数

16

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

17

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表event_registration (活动报名)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

event_registration_id

int

10

0

N

Y

活动报名ID

2

president_user

int

10

0

Y

N

0

社长用户

3

association_name

varchar

64

0

Y

N

社团名称

4

activity_name

varchar

64

0

Y

N

活动名称

5

event_address

varchar

64

0

Y

N

活动地址

6

activity_time

varchar

64

0

Y

N

活动时间

7

deadline

varchar

64

0

Y

N

截止时间

8

student_users

int

10

0

Y

N

0

学生用户

9

sname

varchar

64

0

Y

N

学生姓名

10

registration_date

date

10

0

Y

N

报名日期

11

number_of_registrations

varchar

64

0

Y

N

报名次数

12

registration_remarks

text

65535

0

Y

N

报名备注

13

examine_state

varchar

16

0

N

N

未审核

审核状态

14

examine_reply

varchar

16

0

Y

N

审核回复

15

activity_evaluation_limit_times

int

10

0

N

N

1

评价限制次数

16

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

17

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

18

source_table

varchar

255

0

Y

N

来源表

19

source_id

int

10

0

Y

N

来源ID

20

source_user_id

int

10

0

Y

N

来源用户

表expenditure_request (支出申请)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

expenditure_request_id

int

10

0

N

Y

支出申请ID

2

president_user

int

10

0

Y

N

0

社长用户

3

presidents_name

varchar

64

0

Y

N

社长姓名

4

association_name

varchar

64

0

Y

N

社团名称

5

student_users

int

10

0

Y

N

0

学生用户

6

sname

varchar

64

0

Y

N

学生姓名

7

expenditure_amount

double

9

2

Y

N

0.00

支出金额

8

application_remarks

text

65535

0

Y

N

申请备注

9

examine_state

varchar

16

0

N

N

未审核

审核状态

10

examine_reply

varchar

16

0

Y

N

审核回复

11

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

12

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

13

source_table

varchar

255

0

Y

N

来源表

14

source_id

int

10

0

Y

N

来源ID

15

source_user_id

int

10

0

Y

N

来源用户

表finance (活动经费)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

finance_id

int

10

0

N

Y

活动经费ID

2

president_user

int

10

0

Y

N

0

社长用户

3

presidents_name

varchar

64

0

Y

N

社长姓名

4

association_name

varchar

64

0

Y

N

社团名称

5

activity_name

varchar

64

0

Y

N

活动名称

6

event_address

varchar

64

0

Y

N

活动地址

7

activity_time

varchar

64

0

Y

N

活动时间

8

budget_amount

double

9

2

Y

N

0.00

预算金额

9

budget_details

text

65535

0

Y

N

预算明细

10

examine_state

varchar

16

0

N

N

未审核

审核状态

11

examine_reply

varchar

16

0

Y

N

审核回复

12

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

13

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

14

source_table

varchar

255

0

Y

N

来源表

15

source_id

int

10

0

Y

N

来源ID

16

source_user_id

int

10

0

Y

N

来源用户

表fund_income (经费收入)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

fund_income_id

int

10

0

N

Y

经费收入ID

2

president_user

int

10

0

Y

N

0

社长用户

3

presidents_name

varchar

64

0

Y

N

社长姓名

4

presidents_phone_number

varchar

64

0

Y

N

社长电话

5

association_name

varchar

64

0

Y

N

社团名称

6

source_of_income

varchar

64

0

Y

N

收入来源

7

income_amount

double

9

2

Y

N

0.00

收入金额

8

income_details

text

65535

0

Y

N

收入明细

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

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:

表material_information (物资信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

material_information_id

int

10

0

N

Y

物资信息ID

2

president_user

int

10

0

Y

N

0

社长用户

3

presidents_name

varchar

64

0

Y

N

社长姓名

4

association_name

varchar

64

0

Y

N

社团名称

5

material_name

varchar

64

0

Y

N

物资名称

6

material_type

varchar

64

0

Y

N

物资类型

7

material_pictures

varchar

255

0

Y

N

物资图片

8

material_introduction

text

65535

0

Y

N

物资介绍

9

praise_len

int

10

0

N

N

0

点赞数

10

collect_len

int

10

0

N

N

0

收藏数

11

comment_len

int

10

0

N

N

0

评论数

12

borrowing_records_limit_times

int

10

0

N

N

0

借用物资限制次数

13

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

14

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

15

source_table

varchar

255

0

Y

N

来源表

16

source_id

int

10

0

Y

N

来源ID

17

source_user_id

int

10

0

Y

N

来源用户

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

表president_user (社长用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

president_user_id

int

10

0

N

Y

社长用户ID

2

presidents_name

varchar

64

0

Y

N

社长姓名

3

presidents_phone_number

varchar

64

0

Y

N

社长电话

4

examine_state

varchar

16

0

N

N

已通过

审核状态

5

user_id

int

10

0

N

N

0

用户ID

6

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表return_record (归还记录)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

return_record_id

int

10

0

N

Y

归还记录ID

2

president_user

int

10

0

Y

N

0

社长用户

3

presidents_name

varchar

64

0

Y

N

社长姓名

4

association_name

varchar

64

0

Y

N

社团名称

5

material_name

varchar

64

0

Y

N

物资名称

6

student_users

int

10

0

Y

N

0

学生用户

7

sname

varchar

64

0

Y

N

学生姓名

8

return_remarks

text

65535

0

Y

N

归还备注

9

examine_state

varchar

16

0

N

N

未审核

审核状态

10

examine_reply

varchar

16

0

Y

N

审核回复

11

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

12

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

13

source_table

varchar

255

0

Y

N

来源表

14

source_id

int

10

0

Y

N

来源ID

15

source_user_id

int

10

0

Y

N

来源用户

表schedule (日程管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

schedule_id

smallint

5

0

N

Y

日程ID:[0,32767]

2

content

varchar

255

0

Y

N

日程内容

3

scheduled_time

datetime

19

0

Y

N

计划时间

4

user_id

int

10

0

N

N

用户id

5

create_time

datetime

19

0

Y

N

创建时间

6

update_time

datetime

19

0

Y

N

更新时间

表score (评分)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

score_id

int

10

0

N

Y

评分ID:

2

user_id

int

10

0

N

N

0

评分人:

3

nickname

varchar

64

0

Y

N

昵称:

4

score_num

double

5

2

N

N

0.00

评分:

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

source_table

varchar

255

0

Y

N

来源表:

8

source_field

varchar

255

0

Y

N

来源字段:

9

source_id

int

10

0

N

N

0

来源ID:

表site_information (场地信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

site_information_id

int

10

0

N

Y

场地信息ID

2

venue_name

varchar

64

0

Y

N

场地名称

3

site_type

varchar

64

0

Y

N

场地类型

4

venue_capacity

varchar

64

0

Y

N

场地容量

5

venue_cover

varchar

255

0

Y

N

场地封面

6

venue_equipment

text

65535

0

Y

N

场地设备

7

venue_details

longtext

2147483647

0

Y

N

场地详情

8

praise_len

int

10

0

N

N

0

点赞数

9

collect_len

int

10

0

N

N

0

收藏数

10

comment_len

int

10

0

N

N

0

评论数

11

venue_application_limit_times

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

更新时间

表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

更新时间:

表student_users (学生用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

student_users_id

int

10

0

N

Y

学生用户ID

2

student_id

varchar

64

0

N

N

学生学号

3

sname

varchar

64

0

Y

N

学生姓名

4

student_major

varchar

64

0

Y

N

学生专业

5

student_grade

varchar

64

0

Y

N

学生年级

6

student_phone_number

varchar

64

0

Y

N

学生电话

7

examine_state

varchar

16

0

N

N

已通过

审核状态

8

user_id

int

10

0

N

N

0

用户ID

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表type_of_club (社团类型)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

type_of_club_id

int

10

0

N

Y

社团类型ID

2

type_of_club

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

更新时间

表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

int

10

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

创建时间:

表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

更新时间:

表venue_application (场地申请)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

venue_application_id

int

10

0

N

Y

场地申请ID

2

venue_name

varchar

64

0

Y

N

场地名称

3

site_type

varchar

64

0

Y

N

场地类型

4

venue_capacity

varchar

64

0

Y

N

场地容量

5

president_user

int

10

0

Y

N

0

社长用户

6

presidents_name

varchar

64

0

Y

N

社长姓名

7

application_date

date

10

0

Y

N

申请日期

8

application_remarks

text

65535

0

Y

N

申请备注

9

examine_state

varchar

16

0

N

N

未审核

审核状态

10

examine_reply

varchar

16

0

Y

N

审核回复

11

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

12

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

13

source_table

varchar

255

0

Y

N

来源表

14

source_id

int

10

0

Y

N

来源ID

15

source_user_id

int

10

0

Y

N

来源用户

5系统实现

5.1学生用户功能实现

5.1.1用户注册

用户注册:输入账号、设置密码、确认密码、昵称、邮箱、选择用户身份、用户姓名、用户性别、联系电话等用户个人信息,点击注册按钮进行注册,用户注册界面如下图所示。

图5-1用户注册界面图

5.1.2用户登录

用户登录:输入用户名跟密码点击登录按钮,校验通过后即可登录,用户登录界面如下图所示。

图5-2用户登录界面图

5.1.3我的账户

我的账户:包含个人资料修改跟密码修改,个人资料可修改头像等。我的账户界面如下图所示。

图5-3我的账户界面图

5.1.4新闻资讯

学生可以查看平台发布的新闻和资讯,了解校园社团的动态、活动、政策等信息。在详情页可以点赞、收藏和评论。新闻资讯如下图所示。

图5-4新闻资讯界面

5.1.5社团信息

学生能够浏览各个社团的信息,包括社团名称、社团简介、主要活动、成员等内容。这有助于学生了解每个社团的特点,方便选择加入自己感兴趣的社团。社团信息界面如下图所示。

图5-5社团信息界面

5.1.6物资信息

该模块让学生查看各社团或活动所需的物资信息。学生可以了解到不同物资的种类、用途以及借用情况,帮助学生准备参加社团活动或了解物资的借用规则。物资信息界面如下图所示。

图5-6物资信息界面

5.2管理员功能实现

5.2.1系统用户

在“系统用户”模块下,管理员可以管理系统上的用户。管理员可以进行用户的增、删、改、查操作,包括设置权限、修改用户信息等。系统用户界面如下图所示。

图5-7系统用户界面

5.2.2社团类型管理

管理员可以对校园社团的类型进行管理,包括添加、删除或修改社团类型。社团类型的设置有助于系统更好地组织社团信息,方便社长和学生根据兴趣选择加入相应的社团。社团类型管理界面如下图所示。

图5-8社团类型管理界面

5.2.3社团成员管理

管理员负责监督社团成员的管理,查看社团成员的组成,审核新成员的加入以及成员的退出申请。管理员可以查看每个成员的角色与职务信息,并根据社团需求调整成员分配。社团成员管理界面如下图所示。

图5-9社团成员管理界面

5.2.4系统管理

系统管理:轮播图管理:可以查看轮播图详情,以及查询、重置、删除、添加等操作。系统管理界面如下图所示。

图5-10系统管理界面

5.2.5通知公告管理

管理员可以在公告信息管理模块发布最新公告、活动通知或重要声明。通知公告管理界面所示。

图5-11通知公告管理界面

5.3社长用户功能实现

5.3.1社团申请管理

社长负责处理社团加入申请。学生可以向社长提交加入社团的申请,社长有权决定是否接受新成员的加入。此功能帮助社长管理社团成员的构成,确保社团的成员结构合理,并能够根据实际需求招募新成员。社团申请管理界面如下图所示。

图5-12社团申请管理界面

5.3.2支出申请管理

社长可以审核社团的支出申请。支出申请经过管理员审核后,如果通过,社长即可使用资金进行相关活动安排或物资采购。社长需要确保资金的使用合理且透明。支出申请管理界面如下图所示。

图5-13支出申请管理界面

5.3.3活动信息管理

社长负责管理社团组织的各类活动信息,包括活动的名称、时间、地点、活动安排等。社长需要确保活动信息准确无误,并根据社团的实际情况规划申请经费。活动的相关信息应当及时更新,避免信息滞后或冲突。活动信息管理界面如下图所示。

图5-14活动信息管理界面

6系统测试

6.1系统测试目标

为了保证“校园社团管理系统”的质量,使其能够稳定的运行,并排除其可能存在的未知隐患。解除软件可能存在的故障,理清楚测试与纠错的关系,如图6-1所示。

图6-1测试与纠错信息流程

6.2系统功能测试

通过对系统中所含的主要实体对象及其功能操作进行测试用例设计。以下是详细的测试:

系统测试包括:用户登录功能测试、社团信息查看测试、发布通知公告、新闻资讯搜索、密码修改功能测试,如表6-1、6-2、6-3、6-4、6-5所示:

用户登录功能测试:

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

用例名称

用户登录系统

目的

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

前提

未登录的情况下

测试流程

1) 进入登录页面

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

预期结果

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

实际结果

实际结果与预期结果一致

社团信息查看功能测试:

表6-2 社团信息查看功能测试表

用例名称

社团信息查看

目的

测试社团信息查看功能

前提

用户登录

测试流程

点击社团信息列表

预期结果

可以查看到所有社团信息

实际结果

实际结果与预期结果一致

管理员发布通知公告界面测试:

表6-3 管理员发布通知公告界面测试表

用例名称

通知公告发布测试用例

目的

测试通知公告发布功能

前提

用户正常登录情况下

测试流程

1)点击公告管理,然后点击发布添加后并填写信息。

2)点击进行提交。

预期结果

提交以后,页面首页会显示新的通知公告 

实际结果

实际结果与预期结果一致

新闻资讯搜索功能测试:

表6-4新闻资讯搜索功能测试表

用例名称

新闻资讯搜索测试

目的

测试新闻资讯搜索功能

前提

测试流程

1)在搜索框填入搜索关键字。

2)点击搜索按钮。

预期结果

页面显示包含有搜索关键字的新闻资讯

实际结果

实际结果与预期结果一致

密码修改功能测试:

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

用例名称

密码修改测试用例

目的

测试管理员密码修改功能

前提

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

测试流程

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

2)点击进行提交。

预期结果

使用新的密码可以登录

实际结果

实际结果与预期结果一致

6.3测试结果总结

经过上述测试,并对测试数据结果综合分析。校园社团管理系统具备简便,数据透明等特性。完全符合校园社团管理系统的要求。

结 论


本文描述了校园社团管理系统的原理和开发过程,该系统是通过SpringBoot框

架来搭建后台,中间件使用的是Tomcat服务器,数据库管理平台采用开源的Mysql,前台使用的是JQuery框架,同时使用Validate校验框架,这样就可以减少前端代码的输入量,而且基于JQuery框架的Validat框架使用简单,是流行的前端使用框架,前端使用的主要是HTML页面展示技术。

在开发前做了许多的准备,在本系统的设计和开发过程中阅览和学习了许多文献资料,从开发这个校园社团管理系统的过程中我也收获了许许多多宝贵的方法以及设计思路,对系统的开发也起到了很重要的作用,系统的开发技术选用的都是自己比较熟悉的,比如Web、SpringBoot、MYSQL,这些技术都是在以前的学习中学到了,其中许多的设计思路和方法都是在以前不断地学习中摸索出来的经验,其实对于我们来说工作量还是比较大的,但是正是由于之前的积累与准备,才能顺利的完成这个项目,由此看来,积累经验跟做好准备是十分重要的事情。

当然在该系统的设计与实现的过程中也离不开老师以及同学们的帮助,正是因为他们的指导与帮助,我才能够成功的在预期内完成了这个系统。同时在这个过程当中我也收获了很多东西,此系统也有需要改进的地方,但是由于专业知识的浅薄,并不能做到十分完美,希望以后有机会可以让其真正的投入到使用之中。

参考文献

  1. 陈进强.某学院学生社团管理系统设计与实现[J].科学技术创新,2021,(24):108-110.
  2. 唐克.基于结构功能主义视角的大学生社团管理探究[J].安徽理工大学学报(社会科学版),2021,23(04):91-95.
  3. 李伟雄,李海燕.基于微信的高校社团管理系统设计与实现[J].信息技术与信息化,2021,(07):152-154.
  4. 曹莉,赵营颖,宋学坤,等.高校社团管理微信小程序的设计与实现[J].信息与电脑(理论版),2023,35(20):104-106.
  5. 王金恒,梁凤霖,尹菡,等.校园社团管理系统的设计与实现[J].电脑编程技巧与维护,2022,(06):85-88.DOI:10.16184/j.cnki.comprg.2022.06.013.
  6. 张迪.基于移动平台的大学生社团管理系统设计与研究[J].电脑知识与技术,2022,18(13):65-66.DOI:10.14004/j.cnki.ckt.2022.0897.
  7. 骆伟,殷宏涛,陶琛.基于协同过滤算法的高校社团推荐系统的设计与实现[J].软件工程,2022,25(02):42-45.DOI:10.19644/j.cnki.issn2096-1472.2022.002.010.
  8. 何惠.基于Django的高校社团智能推荐系统的设计与实现[D].首都经济贸易大学,2022.DOI:10.27338/d.cnki.gsjmu.2022.000622.
  9. 马冲,阿拉依·金恩斯.基于SQLite数据库的学生社团管理系统设计与实现[J].集成电路应用,2022,39(09):66-68.DOI:10.19339/j.issn.1674-2583.2022.09.024.
  10. 孙梦菲,周天源,王天澍.基于微信小程序的校园社团管理系统设计与实现[J].现代信息科技,2024,8(03):40-44.DOI:10.19850/j.cnki.2096-4706.2024.03.009.
  11. 张帆.基于智能算法构建的高校社团信息在线平台[D].天津大学,2021.DOI:10.27356/d.cnki.gtjdu.2021.001031.
  12. Wang Q ,Zheng L ,Hong R .Exploration on the Teaching Model of Java Programming and Practice for Students with No Programming Background[J].Advances in Educational Technology and Psychology,2024,8(6):
  13. Zhang J .Teaching Reform of Java Program Design Based on Vocational Education Cloud Platform[J].Journal of Higher Education Teaching,2024,1(5):
  14. Ullenboom C .Java Programming Exercises:Volume Two: Java Standard Library[M].CRC Press:2024-03-30.
  15. 吴成炎.高职院校“智慧+社团”平台建设研究[J].科技与创新,2021,(08):106-107.DOI:10.15913/j.cnki.kjycx.2021.08.040.
  16. 任鑫梅,刘小英.高校社团管理信息系统的设计与实现[J].电脑知识与技术,2021,17(11):31-32+35.DOI:10.14004/j.cnki.ckt.2021.0923.
  17. Jing Y ,Funabiki* N,Th S, et al.A Proposal of Hint Function for Java Programming Learning Assistant System[J].International Journal of Information and Education Technology,2023,13(11):
  18. 王迪.高校社团活动推荐系统的设计与实现[D].西南大学,2020.DOI:10.27684/d.cnki.gxndx.2020.000828.
  19. Davi V .Designing Hexagonal Architecture with Java:Build maintainable and long-lasting applications with Java and Quarkus[M].Packt Publishing Limited:2023-09-29.DOI:10.0000/9781837630714.
  20. 马妞妞,罗雅,王子含.基于Java Web的甘农社团管理系统的设计与实现[J].电脑知识与技术,2020,16(01):54-55.DOI:10.14004/j.cnki.ckt.2020.0025.

致 谢

在撰写这篇关于校园社团管理系统的毕业论文之际,我满怀感激之情,回顾整个设计过程,从最初的构想到最终的成果,每一步都凝聚了众多人的支持与帮助。

这个过程中,我经历了从无到有的创造,从理论学习到实践应用的跨越,不仅深化了我对Spring Boot框架的理解,也锻炼了我的系统设计与编程能力。

在此,我要特别感谢我的导师。是您的悉心指导与无私奉献,让我在迷茫时找到了方向,在困难前鼓起了勇气。您的严谨治学态度和深厚学术造诣,不仅让我在学术上受益匪浅,更在人生道路上树立了榜样。

我也要感谢我的同学们。我们一起熬夜讨论,一起解决难题,你们的陪伴与帮助,让我的大学生活更加丰富多彩。在团队合作中,我学会了沟通与协作,也更加珍惜这份难得的友谊。

我还要感谢我的家人。是你们的理解与支持,让我能够全身心地投入到学业中。在我遇到挫折时,是你们给予我温暖与鼓励,让我有勇气面对一切挑战。

展望未来,我将带着这份感激与收获,继续前行。我深知,技术的道路永无止境,我将不断学习新知识,掌握新技能,为未来的工作与研究打下坚实的基础。同时,我也希望能将所学应用到更广阔的领域,为社会的发展贡献自己的一份力量。

点赞+收藏+关注  →私信领取本源代码、数据库

关注博主下篇更精彩
一键三连!!!
一键三连!!!
一键三连!!!
感谢一键三连!!!

更多推荐