本文设计实现了一个基于SpringBoot框架的家庭理财管理系统,该系统采用Java编程语言,MySQL数据库,并结合协同过滤算法实现数据分析功能。系统的主要功能模块包括:数据分析、角色管理(管理员与理财用户)、家庭预算管理、财务收入管理、收入类型管理、财务支出管理、支出类型管理、理财信息管理、家庭信息管理、财务日志管理、分析报告管理、系统管理、网站公告管理和新闻管理等。
通过该系统的开发,用户可以方便地管理家庭的财务数据,进行预算分配、收入支出记录、财务分析等操作。管理员可以对不同角色进行管理,生成各类分析报告,帮助家庭成员更清晰地了解自身的财务状况,实现理财目标。系统的设计与实现能够有效地提升家庭财务管理的效率,提供全方位的财务管理服务,使得家庭理财更加科学和系统化。
关键词: 家庭理财管理、Spring Boot、数据分析
Abstract
This article designs and implements a family financial management system based on the SpringBoot framework. The system uses Java programming language, MySQL database, and combines collaborative filtering algorithms to achieve data analysis functions. The main functional modules of the system include: data analysis, role management (administrators and financial users), family budget management, financial income management, income type management, financial expenditure management, expenditure type management, financial information management, family information management, financial log management, analysis report management, system management, website announcement management, and news management.
Through the development of this system, users can easily manage their family's financial data, perform operations such as budget allocation, income and expenditure recording, and financial analysis. Administrators can manage different roles and generate various analysis reports to help family members have a clearer understanding of their financial situation and achieve financial goals. The design and implementation of the system can effectively improve the efficiency of family financial management, provide comprehensive financial management services, and make family finance more scientific and systematic.
Keywords: family financial management Spring Boot、 data analysis
1 前 言
1.1 选题背景及意义
1.2 国内外研究现状
1.2.1 国内研究现状
1.2.2 国外研究现状
1.3 系统的特点
1.4 论文结构与章节安排
2 关键技术
2.1 Java
2.2 MySQL
2.3 Spring Boot框架
2.4 B/S模式
3 系统分析
3.1 可行性分析
3.1.1 技术可行性
3.1.2 经济可行性
3.1.3 操作可行性
3.1.4 社会可行性
3.2 功能需求分析
3.3 系统性能分析
3.4 系统流程分析
3.4.1 程序操作流程
3.4.2 登录流程
3.4.3 注册流程
4 系统设计
4.1 总体设计
4.1.1 框架设计
4.1.2 功能模块设计
4.2 数据库设计
4.2.1 E-R图
4.2.2 数据库表结构设计
5 系统实现
5.1 系统前台模块
5.1.1 用户登录界面
5.1.2 用户注册界面
5.1.3 用户首页界面
5.1.5 理财用户财务收入界面
5.1.6 理财用户财务支出界面
5.1.7 理财用户理财信息界面
5.1.8 理财用户家庭信息界面
5.1.9 理财用户财务日志界面
5.2 后台管理模块
6 系统测试
6.1 测试目的与意义
6.2 测试用例
6.3 测试分析
7 结束语
参考文献
致 谢
随着社会经济的发展和人们收入水平的提高,家庭财务管理的重要性日益凸显。家庭理财不仅涉及到日常的收入与支出管理,更关系到家庭成员的财务健康与未来规划。然而,许多家庭依然采用传统的手动记录方式来管理财务,存在效率低、容易出错、难以分析的局限性[1]。随着信息技术的发展,越来越多的企业和个人开始寻求更高效、智能的财务管理工具。基于此,设计一个现代化的家庭理财管理系统显得尤为重要,能够为家庭提供科学的财务管理方案,帮助家庭成员更好地规划和管理财务,避免因管理不善而导致的不必要损失[2]。
通过设计与实现一个基于Spring Boot框架的家庭理财管理系统,解决传统家庭理财管理中的问题。通过该系统,家庭成员能够实现预算管理、财务收入与支出跟踪、理财目标设定等多项功能,提升财务管理的系统性和科学性[3]。系统采用数据分析和协同过滤算法,有助于家庭成员根据历史数据作出合理的财务决策,优化资源配置,避免资金浪费。此外,管理员角色的引入,也能实现对系统用户的权限控制和管理,进一步增强系统的安全性与可靠性。通过这一系统的推广与应用,能够有效提高家庭理财的效率和准确性,帮助家庭实现财务自由和经济独立,具有重要的社会和经济意义[4]。
1.2国内外研究现状
1.2.1国内研究现状
在中国,随着经济的不断发展和居民收入水平的提高,家庭理财管理逐渐成为了公众关注的重点。尽管如此,传统的家庭财务管理方式主要依赖手工记账和简单的预算安排,这种方式不仅效率低下,而且容易出现错误。因此,越来越多的家庭开始依赖数字化工具来进行财务管理[5]。近年来,许多研究者致力于开发基于互联网技术的家庭财务管理系统,期望通过技术手段提升财务管理的精准度和便捷性。
国内的家庭理财管理系统大多数已经实现了收入支出记录、预算设置、账单跟踪等基本功能[6]。这些系统通常能够提供预算管理、财务报表生成、账户同步等服务,帮助家庭成员实时掌握财务状况。以支付宝、腾讯财付通等国内大型互联网平台为例,它们也推出了简单的家庭理财功能,如自动分类记账、财务报表生成等,极大地提高了财务管理的便捷性。除此之外,还有一些专注于家庭理财的应用软件,例如家庭账本和记账宝,这些软件侧重于财务数据的分类和记录,能够帮助用户快速了解日常支出和预算执行情况。
然而,尽管国内的家庭理财管理系统在功能上取得了一定进展,但仍面临一些问题。首先,现有的系统在数据分析和财务规划方面功能较为简单,缺乏智能化的财务建议和分析报告,不能很好地支持用户进行长期财务规划。其次,系统的个性化功能和用户体验设计仍然存在一定的不足,大部分系统无法根据用户的收入、支出等情况提供量身定制的财务管理建议。最后,虽然国内用户对家庭财务管理的需求日益增加,但在跨平台和多维度的财务管理功能上,现有系统的支持仍有待加强。
1.2.2国外研究现状
国外在家庭理财管理的研究和应用方面起步较早,并且随着互联网的普及和信息技术的不断进步,相关的技术手段和产品也日趋成熟。尤其是在欧美等发达国家,家庭理财已经从单纯的收入支出记录扩展到全面的财务规划和资产管理。国外的家庭理财管理软件功能多样,能够帮助家庭成员管理各类收入、支出、投资、债务等财务事项。
例如,Mint是国外最受欢迎的家庭财务管理工具之一,它通过集成银行账户、信用卡、贷款等信息,帮助用户实时了解财务状况,并提供预算管理、账单提醒、财务报表等功能。Mint不仅支持用户对账户进行分类管理,还能够根据历史数据生成财务分析报告,帮助用户优化财务决策[7]。YNAB(You Need A Budget)是一款专注于预算管理的家庭理财软件,它帮助用户设定预算目标,并通过细化支出类别、跟踪支出进度等功能,帮助用户更好地控制支出和节省资金。
此外,国外的家庭理财管理系统还通过借助第三方支付平台和银行服务,实现了跨平台的数据同步和资金管理。这些系统不仅具有基础的财务记录和预算功能,还通过深度的数据分析为用户提供智能化的财务建议和投资指导。许多系统能够根据用户的财务状况提供个性化的建议,帮助用户优化支出结构、减少不必要的费用、提高储蓄和投资回报。
然而,国外的家庭理财管理系统同样面临一些挑战。例如,尽管国外的理财应用已经有了较强的功能,但它们在使用上可能较为复杂,不适合所有用户,特别是财务管理经验较少的家庭成员。此外,许多国外的家庭理财系统主要服务于发达国家的用户,在本地化方面存在一定的差距,难以满足不同国家或地区用户的特定需求。比如,一些系统并未很好地考虑到不同国家的税务政策、金融产品、货币单位等因素,可能导致在不同地区的使用效果差异较大[8]。
总的来说,国内外的家庭理财管理系统都在不断发展与创新,随着家庭财务管理需求的不断增加和技术手段的提升,未来的家庭理财管理系统将趋向于更加智能化、个性化、全面化的方向。随着技术的不断进步和市场的需求变化,家庭理财管理系统不仅要满足基本的财务管理功能,还需要提供更多的数据分析、预算规划、财务风险管理等增值服务,以帮助用户实现更加科学、精细的财务管理。
1. 前端技术: 系统前端采用现代前端开发技术,确保在不同设备上提供良好的用户体验。界面简洁、易于操作,方便用户快速上手和管理家庭财务。
2. 后端框架: 后端采用 SpringBoot 框架,简化了传统Java开发过程中的复杂配置,提升开发效率,确保系统具有高扩展性和稳定性,能够适应未来不断变化的需求。
3. 数据库: 系统使用 MySQL 数据库,提供高效的查询和数据存储能力,确保财务数据的安全性和完整性,支持高并发和复杂查询,满足家庭财务管理的高效需求。
4. 系统架构: 系统采用分层架构和模块化设计,便于后期维护和扩展。未来可以灵活地加入新的功能模块或进行性能优化,确保系统始终能够满足用户需求。
5. 安全性: 使用 Spring Security 框架进行权限管理,确保用户数据的隐私和安全,防止未经授权的访问,保护用户的家庭财务信息不受威胁。
1.4论文结构与章节安排
本文共分为七章,章节内容安排如下:
第一章:引言,主要介绍家庭财务管理系统领域研究的背景和意义,概述国内外研究的现状和系统特点。
第二章:关键技术,主要探讨和说明实现家庭财务管理系统的关键技术。
第三章:系统分析,主要从家庭财务管理系统的可行性、功能、性能等方面进行分析,为后续系统设计提供理论支持。
第四章:系统设计,主要对家庭财务管理系统功能模块、数据库进行功能设计。
第五章:系统实现,主要介绍了家庭财务管理系统各个顾客用户的功能、系统界面的实现。
第六章:系统测试,主要对家庭财务管理系统进行测试,验证功能完整性、稳定性和安全性,评估系统在实际运行中的性能表现。
第七章:结束语。总结全文研究内容,提出对共建平台领域未来发展的展望和建议,指出研究的不足和可优化之处,为相关领域的进一步探索提供参考。
Java是一种跨平台的编程语言,广泛用于开发各种类型的应用程序,包括Web应用、移动应用和大型软件系统。在家庭财务管理系统中,Java通常用于后端开发,提供强大的处理能力和稳定性。同时Java是一种面向对象的编程语言,支持封装、继承和多态等特性,使代码更易于维护和重用。还拥有丰富的标准库和第三方框架,如Spring、Hibernate等,可以大大提高开发效率。
MySQL是一种流行的开源关系型数据库管理系统,用于存储和管理数据。在家庭财务管理系统中,MySQL可以用于数据存储、数据查询和数据管理等方面,用户可以免费使用和修改源代码,为平台提供可靠和高性能的数据库支持。MySQL支持多种存储引擎,如InnoDB和MyISAM,可以根据不同的应用场景选择合适的存储引擎,以提高性能;提供了多种数据安全机制,如用户权限管理、数据加密和备份恢复等,确保数据的安全性。
Spring Boot是一个用于构建微服务的Java框架,简化了Spring应用程序的开发和部署过程。Spring Boot通过自动配置和约定优于配置的理念,简化了Spring应用程序的开发过程,使开发者可以更快地构建和部署应用程序;拥有丰富的生态系统,如Spring Cloud、Spring Security等,可以满足各种企业级应用的需求。在家庭财务管理系统中,Spring Boot可以帮助开发团队快速搭建后端服务,并实现各种功能模块的集成和管理。
B/S模式(Browser/Server模式)是一种网络应用架构,其中浏览器(Browser)作为客户端与服务器(Server)进行通信。这种模式使用户可以通过普通的Web浏览器访问应用程序,而无需安装额外的客户端软件。用户通过浏览器发送请求,服务器接收并处理这些请求,然后将结果返回给浏览器显示给用户。在家庭财务管理系统中,结合B/S模式B/S模式的优势包括跨平台的兼容性,用户可以在不同操作系统和设备上访问应用程序。此外,维护和部署也更为简便,并且能够实现较高的安全性,因为服务器端控制了应用程序和数据的访问权限。
3.1可行性分析
3.1.1技术可行性
从技术角度来看,Spring Boot作为一种轻量级、快速构建的Java框架,能够提高开发效率,降低系统的复杂程度,易于维护和升级。同时,MySQL作为关系型数据库,能够支持平台数据的存储与管理,保障系统的稳定性和高效性。因此,本系统具有技术可行性。
家庭财务管理系统在开发与运营上具有较高的经济可行性。基于 Spring Boot 和 MySQL 等开源技术,降低了软件许可费用,减少了开发成本。系统架构的模块化设计便于未来的扩展与维护,减少了长期运营中的费用投入。此外,随着用户量的增加,系统的可扩展性能够有效支持业务的增长,不会导致额外的高昂费用支出,确保长期的经济效益。
家庭财务管理系统的操作界面简洁直观,用户无需专业的财务知识即可上手。前端采用现代化的设计技术,确保在多种设备上都能顺畅使用,提升用户体验。系统采用 Spring Boot 后端框架,支持高并发访问和数据处理,确保稳定性和高效性。基于权限管理的安全机制,也使得不同用户能够灵活操作,满足家庭成员的不同需求。整体操作流程简单易懂,确保用户的操作便捷与高效。
家庭财务管理系统符合当前社会对财务管理智能化和便捷化的需求。随着家庭经济水平的提高,越来越多的家庭关注财务规划和支出控制,系统能帮助家庭成员更好地管理财务,优化资金使用,提升财务透明度。系统操作简单、界面友好,适合不同年龄段的用户使用,能够普及家庭理财知识,增强家庭财务意识,促进社会整体理财水平的提高,符合现代社会的发展趋势和居民的财务需求。
本系统可以分为:理财用户、管理员角色。
前台用户端:登录系统后首先进入首页界面/网站公告、财经资讯等。可查看我的账户、个人中心、退出等功能。
后台管理端:管理员可登录系统后台进行管理,拥有数据分析、角色管理、家庭预算管理、财务收入管理、收入类型管理、财务支出管理、支出类型管理、理财信息管理、家庭信息管理、财务日志管理、分析报告管理、系统管理、网站公告管理、新闻管理、等用户信息等功能。
理财用户角色用例如下图所示。

图3.1理财用户用例图
系统前台理财用户具体功能说明如下所示。
- 注册登录:用户可以通过注册功能创建一个个人账户,注册时需要提供必要的个人信息,如邮箱、手机号码、用户名和密码等。登录功能允许用户输入已注册的用户名和密码来访问其个人账户。
- 首页:首页是用户进入系统后看到的第一个页面,通常会展示网站的最新动态、热门理财产品、重要通知以及快速入口等。首页设计简洁直观,方便用户快速了解平台提供的服务和最新信息。
- 网站公告:用户可以在这里查看到所有官方通知,确保不会错过任何重要信息。公告通常会按照时间顺序排列,最新的公告显示在最前面。
- 财经资讯:财经资讯板块提供最新的财经新闻、市场分析、投资建议等内容。用户可以在这里获取到丰富的金融知识和市场动态,帮助他们做出更明智的投资决策。资讯内容会定期更新,用户可以根据自己的兴趣订阅相关主题。
- 个人中心:个人中心是用户管理个人信息和账户设置的地方。用户可以在这里查看和编辑个人资料、设置账户安全选项、管理绑定的银行卡等。个人中心还提供各种功能的快捷入口,方便用户快速访问。

图3.2管理员用例图
系统后台管理端管理员具体功能说明如下所示。
- 登录:管理员账号密码由系统生成,可使用账号密码可进行登录系统后台,使用系统功能进行管理,并可对自己的个人信息和密码进行管控。
- 数据分析: 提供系统的访问数据、用户统计、收入支出等信息,帮助管理员通过图表形式查看财务状况,进行决策支持。
- 角色管理: 管理员可设置不同角色(管理员、理财用户),并分配不同权限,确保系统的安全与有序运行。
- 家庭预算管理: 管理员可查看并管理理财用户的家庭预算,帮助家庭设定合理预算并监控实际支出,确保财务健康。
- 财务收入管理: 管理员可查看和管理理财用户的收入情况,包括工资、奖金等,帮助全面了解家庭财务来源。
- 收入类型管理: 管理员可管理并分类不同收入类型,便于清晰统计和分析各类收入的来源。
- 财务支出管理: 管理员可查看并管理理财用户的各类支出,帮助合理规划家庭财务,避免过度支出。
- 支出类型管理: 管理员可对家庭支出进行分类管理,确保财务透明,便于优化预算分配和控制不必要的支出。
- 理财信息管理: 管理员可查看理财产品与投资项目,帮助理财用户获取合适的理财信息,优化资产配置。
- 家庭信息管理: 管理员可查看并管理家庭成员的基本信息,确保财务管理涵盖所有家庭成员的需求。
- 财务日志管理: 管理员可查看和分析财务操作日志,确保数据的安全性与可追溯性。
- 分析报告管理: 管理员可生成财务分析报告,提供数据支持,帮助家庭成员进行财务决策和优化规划。
- 系统管理: 管理员可添加、修改和管理首页的轮播图内容,用于展示重要通知、活动信息或广告。
- 网站公告管理: 管理员可发布网站公告,传达系统更新、活动信息等,确保与用户的有效沟通。
- 新闻管理: 管理员可发布财经资讯,分类管理新闻内容,帮助用户获取最新的理财与市场动态。
对于Spring Boot家庭财务管理系统的设计与实现,下面是系统性能分析表:
表3.1性能需求表
|
项目 |
内容 |
|
响应时间 |
系统对用户请求的响应时间需在500ms以内 |
|
并发用户数 |
系统需要支持1000个并发用户同时访问 |
|
吞吐量 |
系统每秒需要处理1000个请求 |
|
可用性 |
系统需要保证每月99.9%的可用性 |
|
数据安全 |
用户敏感数据需要加密存储,并支持数据库备份和恢复 |
|
数据一致性 |
系统中的数据操作需保证ACID特性,确保数据一致性 |
|
扩展性 |
系统需要支持水平扩展,能够方便地增加服务器节点以应对高请求量 |
|
可维护性 |
系统代码需要清晰易懂、结构良好,方便团队成员维护和修改 |
|
日志记录 |
系统需要记录用户操作日志、异常日志以及系统运行日志 |
|
监控报警 |
系统需要实时监控运行状态,当系统异常时能够及时发送警报通知相关人员 |
|
缓存设置 |
针对频繁使用的数据,系统需要进行合适的缓 |
用户访问平台网站,可以选择进行注册或登录操作。注册成功后,用户可以使用注册的账号登录平台。登录后的用户可以进入系统功能界面,使用自己权限内的功能操作。程序操作流程图如下图所示。

图3.3程序操作流程图
用户访问平台的网站,进入登录页面页面,入其用户名和密码,后端服务接收登录请求,验证用户提供的用户名和密码是否匹配数据库中存储的信息,验证通过即可登录成功。登录流程图如下图所示。

图3.4登录流程图
未有账号的用户可进入注册界面进行注册操作,填写注册表格,包括用户名、密码、电子邮件等必要信息。后台系统验证并保存用户提交的信息。分配唯一用户标识符。注册成功后,用户可以使用账号密码进行登录。用户注册流程图如下图所示。

图3.5注册流程图
B/S架构,即浏览器/服务器架构,是一种基于Web的分布式计算范式。在此架构中,应用程序的逻辑被巧妙地区分为客户端和服务器两部分。具体而言,客户端借助广泛使用的浏览器界面,进行应用访问与操作;而服务器端则肩负起业务逻辑处理、数据存储及管理的核心职责。值得一提的是,客户端无需安装特定的软件,用户仅需通过浏览器输入相应的URL地址,即可轻松访问应用程序,这一特性极大地提升了用户的使用便捷性和系统的维护效率。服务器端通常采用高性能的计算机和数据库系统,能够处理大量并发请求和复杂的业务逻辑。B/S架构的优势在于其跨平台性和易于维护性,开发者可以通过更新服务器端的代码来实现整个系统的升级和维护,而无需逐一更新客户端。

图4.1系统架构图
功能模块设计是系统开发过程中的重要阶段,它旨在将系统划分为不同的模块,每个模块负责完成特定的功能或任务。家庭财务管理系统由多个功能模块组成,每个模块下又包含具体的功能操作。功能模块图如下图所示。

图4.2系统架构图
4.2.1E-R图
E-R图有助于理清系统中的数据结构和关系,为后续的数据库表结构设计提供指导。在进行数据库设计之前,首先需要先绘制实体-关系(E-R)图。E-R图将帮助我们理清业务中的实体(Entity)及它们之间的关系(Relationship),从而为后续的数据库表设计提供基础。根据前文可以得出本服务家庭理财管理系统拥有多个实体,在此列举主要实体,各个实体之间联系总E-R图如下图所示。

图4.3总E-R图
在E-R图确定后,接下来可以根据实体和关系的属性设计数据库表结构。在E-R图明确了实体和它们之间的关系后,接下来可以开始设计数据库表结构。每个实体对应一个数据库表,每个属性对应表中的字段。如下列表格所示,在此列举主要数据表。
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
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 |
用户编号: |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
analysis_report_id |
int |
10 |
0 |
N |
Y |
分析报告ID | |
|
2 |
record_users |
int |
10 |
0 |
Y |
N |
0 |
记录用户 |
|
3 |
user_name |
varchar |
64 |
0 |
Y |
N |
用户姓名 | |
|
4 |
analysis_date |
date |
10 |
0 |
Y |
N |
分析日期 | |
|
5 |
report_content |
text |
65535 |
0 |
Y |
N |
报告内容 | |
|
6 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
7 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
|
8 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表 | |
|
9 |
source_id |
int |
10 |
0 |
Y |
N |
来源ID | |
|
10 |
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 |
更新时间: |
表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: |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
family_budget_id |
int |
10 |
0 |
N |
Y |
家庭预算ID | |
|
2 |
record_users |
int |
10 |
0 |
Y |
N |
0 |
记录用户 |
|
3 |
user_name |
varchar |
64 |
0 |
Y |
N |
用户姓名 | |
|
4 |
monthly_budget |
double |
9 |
2 |
Y |
N |
0.00 |
每月预算 |
|
5 |
annual_budget |
double |
9 |
2 |
Y |
N |
0.00 |
每年预算 |
|
6 |
monthly_planning |
text |
65535 |
0 |
Y |
N |
月度规划 | |
|
7 |
annual_plan |
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 |
更新时间 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
family_information_id |
int |
10 |
0 |
N |
Y |
家庭信息ID | |
|
2 |
member_names |
varchar |
64 |
0 |
Y |
N |
成员姓名 | |
|
3 |
age_of_members |
double |
9 |
2 |
Y |
N |
0.00 |
成员年龄 |
|
4 |
gender_of_members |
varchar |
64 |
0 |
Y |
N |
成员性别 | |
|
5 |
record_users |
int |
10 |
0 |
Y |
N |
0 |
记录用户 |
|
6 |
user_name |
varchar |
64 |
0 |
Y |
N |
用户姓名 | |
|
7 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
8 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
financial_expenses_id |
int |
10 |
0 |
N |
Y |
财务支出ID | |
|
2 |
expenditure_items |
varchar |
64 |
0 |
Y |
N |
支出项目 | |
|
3 |
type_of_expenditure |
varchar |
64 |
0 |
Y |
N |
支出类型 | |
|
4 |
expenditure_amount |
double |
9 |
2 |
Y |
N |
0.00 |
支出金额 |
|
5 |
record_date |
date |
10 |
0 |
Y |
N |
记录日期 | |
|
6 |
record_users |
int |
10 |
0 |
Y |
N |
0 |
记录用户 |
|
7 |
user_name |
varchar |
64 |
0 |
Y |
N |
用户姓名 | |
|
8 |
expenditure_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 |
更新时间 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
financial_income_id |
int |
10 |
0 |
N |
Y |
财务收入ID | |
|
2 |
income_items |
varchar |
64 |
0 |
Y |
N |
收入项目 | |
|
3 |
type_of_income |
varchar |
64 |
0 |
Y |
N |
收入类型 | |
|
4 |
income_amount |
double |
9 |
2 |
Y |
N |
0.00 |
收入金额 |
|
5 |
record_date |
date |
10 |
0 |
Y |
N |
记录日期 | |
|
6 |
record_users |
int |
10 |
0 |
Y |
N |
0 |
记录用户 |
|
7 |
user_name |
varchar |
64 |
0 |
Y |
N |
用户姓名 | |
|
8 |
source_of_income |
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 |
更新时间 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
financial_information_id |
int |
10 |
0 |
N |
Y |
理财信息ID | |
|
2 |
record_users |
int |
10 |
0 |
Y |
N |
0 |
记录用户 |
|
3 |
user_name |
varchar |
64 |
0 |
Y |
N |
用户姓名 | |
|
4 |
investment_projects |
varchar |
64 |
0 |
Y |
N |
投资项目 | |
|
5 |
investment_amount |
double |
9 |
2 |
Y |
N |
0.00 |
投入金额 |
|
6 |
financial_income |
double |
9 |
2 |
Y |
N |
0.00 |
理财收益 |
|
7 |
account_balance |
double |
9 |
2 |
Y |
N |
0.00 |
账上余额 |
|
8 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
9 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
financial_log_id |
int |
10 |
0 |
N |
Y |
财务日志ID | |
|
2 |
monthly_income |
double |
9 |
2 |
Y |
N |
0.00 |
每月收入 |
|
3 |
monthly_expenses |
double |
9 |
2 |
Y |
N |
0.00 |
每月支出 |
|
4 |
record_users |
int |
10 |
0 |
Y |
N |
0 |
记录用户 |
|
5 |
user_name |
varchar |
64 |
0 |
Y |
N |
用户姓名 | |
|
6 |
registration_date |
date |
10 |
0 |
Y |
N |
登记日期 | |
|
7 |
income_and_expenditure_details |
text |
65535 |
0 |
Y |
N |
收支明细 | |
|
8 |
analysis_report_limit_times |
int |
10 |
0 |
N |
N |
1 |
分析限制次数 |
|
9 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
10 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
financial_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 |
users_mobile_phone |
varchar |
16 |
0 |
N |
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 |
更新时间 |
表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: |
表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已取消 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
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 |
更新时间 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
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: |
表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 |
更新时间: |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
type_of_expenditure_id |
int |
10 |
0 |
N |
Y |
支出类型ID | |
|
2 |
type_of_expenditure |
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 |
type_of_income_id |
int |
10 |
0 |
N |
Y |
收入类型ID | |
|
2 |
type_of_income |
varchar |
64 |
0 |
Y |
N |
收入类型 | |
|
3 |
collect_len |
int |
10 |
0 |
N |
N |
0 |
收藏数 |
|
4 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
5 |
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 |
|
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 |
更新时间: |
5 系统实现
用户输入用户名和密码后,系统首先对这些输入进行基本的格式验证,确保用户名和密码符合系统设定的格式要求(如长度、特殊字符要求等)。系统接收到用户输入后,会根据用户名查找系统中存储的用户信息数据库或者其他持久化存储方式。系统需要验证密码的正确性,验证成功即可成功登录。

图5.1用户登录界面设计
登录关键代码如下:
/
* 登录
* @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.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, "账号或密码不正确");
}
}
用户注册时,系统要求用户提供必要的信息,例如用户名、密码、电子邮件地址等。这些信息通常由用户在注册表单中输入,并通过前端验证确保格式的正确性。注册过程完成后,系统会为新用户创建一个账户。这包括分配一个唯一的用户ID和设置初始的权限或者角色。

图5.2用户注册界面设计
注册关键代码如下:
/
* 注册
* @param user
* @return
*/
@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);
}
理财用户登录系统后首先进入首页界面,首页、网站公告、财经资讯等。可查看我的账户、个人中心、退出等功能导航栏。
例如,首页主界面图如下所示。

图5.3理财用户首页主界面设计
5.1.4理财用户家庭预算界面
理财用户可对家庭预算信息进行查询、重置、添加、删除等信息进行管控。家庭预算界面可添加用户月度预算及年度预算、可备注月度规划及年度规划等信息。
例如,理财用户添加家庭预算界面图如下所示。

图5.4理财用户添加家庭预算界面设计
理财用户可对财务收入进行、查询、重置、添加、删除等信息进行管控。财务收入界面可记录收入项目、收入金额、收入来源等,可区分收入类型等功能。
例如,理财用户添加财务收入界面图如下所示。

图5.5理财用户添加财务收入界面设计
理财用户可对财务支出信息进行查询、重置、添加、删除等信息进行管控。财务支出界面可记录支出项目、支出金额、支出详情等,可区分支出类型等功能。
例如,理财用户添加财务支出界面图如下所示。

图5.6理财用户添加财务支出界面设计
理财用户可对理财信进行查询、重置、添加、删除等信息进行管控。理财信息界面可记录投资项目、投入金额、理财收益、账上余额等信息。
例如,理财用户添加理财信息界面图如下所示。

图5.7理财用户添加理财信息界面设计
理财用户可对家庭成员信息进行查询、重置、添加、删除等信息进行管控。家庭信息界面可增加多个成员,如员姓名、成员年龄、成员性别等信息。
例如,理财用户添加家庭信息界面图如下所示。

图5.8理财用户添加家庭信息界面设计
理财用户可对财务日志信进行查询、重置、添加、删除等信息进行管控。财务日志界面可进行记录每月收入、每月支出、收支明细、登记日期,分析次数等信息。
例如,理财用户添加财务日志界面图如下所示。

图5.9理财用户添加财务日志界面设计
5.2后台管理模块
5.2.1后台功能界面
管理员可对数据分析、角色管理、家庭预算管理、财务收入管理、收入类型管理、财务支出管理、支出类型管理、理财信息管理、家庭信息管理、财务日志管理、分析报告管理、系统管理、网站公告管理、新闻管理、等用户信息进行管控。

图5.10后台管理员功能界面设计
5.2.2系统用户角色管理界面
管理员可对用户信息进行管控,包括进行增删改查操作,可点击详情进行查阅。其界面如下图所示。

图5.11系统用户后台 >角色管理>理财用户列表界面设计
5.2.3财务日志管理界面
管理员可查看和分析财务操作日志,确保数据的安全性与可追溯性。

图5.12系统用户后台>财务日志管理>财务日志列表界面设计
6 系统测试
在软件开发生命周期中,系统测试占据着举足轻重的地位。通过进行全面而系统的测试,我们能够确保软件在实际使用环境中具备稳定运行的能力,从而满足用户的多样化需求,并显著提升软件的整体质量与可靠性。这一过程不仅有助于识别并修复潜在问题,还能为软件的持续优化提供有力支撑。
随着现代信息的快速发展,在社会各大领域中已经都开始应用网络信息技术,在应用网络技术的同时人们也开始把软件的质量问题作为了一个重要焦点来关注,因为一个软件的好与坏它决定着这个系统在市场上的生存,所以我们必须要把软件质量来做好,这样才有一定的生存能力。对于用户来说它们首先选用的都是保证这个系统软件的质量问题,因为一个系统的软件质量决定着用户在后期上成本经济的问题。图6-1就是纠错测试流程。

图6.1测试与纠错信息流程
在系统的功能验证阶段,我们将对全部的功能界面进行全面测试。具体而言,我们将模拟用户行为,输入各类数据并进行提交操作,随后仔细观察和分析每个页面的响应反馈。这一过程旨在验证系统的功能完整性,确保页面所呈现的功能与预期相符,并能够完全实现预设的交互逻辑。通过这种全面细致的测试方法,我们将确保系统在实际应用中能够稳定、准确地响应用户需求。
下表是系统登录功能测试用例,检测了用户名和密码的不同的输入情况,观察系统的响应情况。得出该功能达到了设计目标。
表6.1系统登录功能测试用例
|
功能描述 |
用于系统登录 | |
|
测试目的 |
检测登录时的合法性检查 | |
|
测试数据以及操作 |
预期结果 |
实际结果 |
|
输入的用户名和密码带有非法字符 |
提示用户名或者密码错误 |
与预期结果一致 |
|
输入的用户名或者密码为空 |
提示用户名或者密码错误 |
与预期结果一致 |
|
输入的用户名和密码不存在 |
提示用户名或者密码错误 |
与预期结果一致 |
|
输入正确的用户名和密码 |
登录成功 |
与预期结果一致 |
下表是注册功能测试用例,检测了各种数据的输入情况,观察系统的响应情况。得出该功能达到了设计目标。
表6.2注册功能测试用例
|
功能描述 |
用于用户注册 | |
|
测试目的 |
检测用户注册时的合法性检查 | |
|
测试数据以及操作 |
预期结果 |
实际结果 |
|
输入的手机号不合法 |
提示请输入正确的手机号码 |
与预期结果一致 |
|
输入的字段为空 |
提示必填项不能为空 |
与预期结果一致 |
|
输入的密码少于6位 |
提示密码必须为6-12位 |
与预期结果一致 |
|
输入的密码大于12位 |
提示密码必须为6-12位 |
与预期结果一致 |
下表是家庭预算管理功能的测试用例,检测了家庭预算中对家庭预算的增加,删除,修改,查询操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。
前置条件;理财用户登录系统。
表6.3家庭预算管理的测试用例
|
功能描述 |
用于家庭预算 | |
|
测试目的 |
检测家庭预算时的各种操作的运行情况 | |
|
测试数据以及操作 |
预期结果 |
实际结果 |
|
点击添加家庭预算,必填项合法输入,点击保存 |
提示添加成功 |
与预期结果一致 |
|
点击添加家庭预算,必填项输入不合法,点击保存 |
提示必填项不能为空 |
与预期结果一致 |
|
点击修改家庭预算,必填项修改为空,点击保存 |
提示必填项不能为空 |
与预期结果一致 |
|
点击修改家庭预算,必填项输入不合法,点击保存 |
提示必填项不能为空 |
与预期结果一致 |
|
点击删除家庭预算,选择家庭预算删除 |
提示删除成功 |
与预期结果一致 |
|
点击搜索家庭预算,输入存在的家庭预算名 |
查找出相应家庭预算信息 |
与预期结果一致 |
|
点击搜索家庭预算,输入不存在的家庭预算名 |
不显示家庭预算信息 |
与预期结果一致 |
下表是财务收入管理功能的测试用例,检测了财务收入中对财务收入的增加,删除,修改,查询操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。
前置条件;理财用户登录系统。
表6.4财务收入管理的测试用例
|
功能描述 |
用于财务收入 | |
|
测试目的 |
检测财务收入时的各种操作的运行情况 | |
|
测试数据以及操作 |
预期结果 |
实际结果 |
|
点击添加财务收入,必填项合法输入,点击保存 |
提示添加成功 |
与预期结果一致 |
|
点击添加财务收入,必填项输入不合法,点击保存 |
提示必填项不能为空 |
与预期结果一致 |
|
点击修改财务收入,必填项修改为空,点击保存 |
提示必填项不能为空 |
与预期结果一致 |
|
点击修改财务收入,必填项输入不合法,点击保存 |
提示必填项不能为空 |
与预期结果一致 |
|
点击删除财务收入,选择财务收入删除 |
提示删除成功 |
与预期结果一致 |
|
点击搜索财务收入,输入存在的财务收入名 |
查找出相应财务收入信息 |
与预期结果一致 |
|
点击搜索财务收入,输入不存在的财务收入名 |
不显示财务收入信息 |
与预期结果一致 |
下表是财务支出管理功能的测试用例,检测了财务支出中对财务支出的增加,删除,修改,查询操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。
前置条件;理财用户登录系统。
表6.5财务支出管理的测试用例
|
功能描述 |
用于财务支出 | |
|
测试目的 |
检测财务支出时的各种操作的运行情况 | |
|
测试数据以及操作 |
预期结果 |
实际结果 |
|
点击添加财务支出,必填项合法输入,点击保存 |
提示添加成功 |
与预期结果一致 |
|
点击添加财务支出,必填项输入不合法,点击保存 |
提示必填项不能为空 |
与预期结果一致 |
|
点击修改财务支出,必填项修改为空,点击保存 |
提示必填项不能为空 |
与预期结果一致 |
|
点击修改财务支出,必填项输入不合法,点击保存 |
提示必填项不能为空 |
与预期结果一致 |
|
点击删除财务支出,选择财务支出删除 |
提示删除成功 |
与预期结果一致 |
|
点击搜索财务支出,输入存在的财务支出名 |
查找出相应财务支出信息 |
与预期结果一致 |
|
点击搜索财务支出,输入不存在的财务支出名 |
不显示财务支出信息 |
与预期结果一致 |
下表是家庭信息管理功能的测试用例,检测了家庭信息中对家庭信息的增加,删除,修改,查询操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。
前置条件;理财用户登录系统。
表6.6家庭信息管理的测试用例
|
功能描述 |
用于家庭信息 | |
|
测试目的 |
检测家庭信息时的各种操作的运行情况 | |
|
测试数据以及操作 |
预期结果 |
实际结果 |
|
点击添加家庭信息,必填项合法输入,点击保存 |
提示添加成功 |
与预期结果一致 |
|
点击添加家庭信息,必填项输入不合法,点击保存 |
提示必填项不能为空 |
与预期结果一致 |
|
点击修改家庭信息,必填项修改为空,点击保存 |
提示必填项不能为空 |
与预期结果一致 |
|
点击修改家庭信息,必填项输入不合法,点击保存 |
提示必填项不能为空 |
与预期结果一致 |
|
点击删除家庭信息,选择家庭信息删除 |
提示删除成功 |
与预期结果一致 |
|
点击搜索家庭信息,输入存在的家庭信息名 |
查找出相应家庭信息信息 |
与预期结果一致 |
|
点击搜索家庭信息,输入不存在的家庭信息名 |
不显示家庭信息信息 |
与预期结果一致 |
本家庭财务管理系统开发与设计满足相关信息的管理需求,在设计时借鉴了国内外优秀网站的优点,从界面到系统设计都保证了管理员以及会员能够方便操作。系统的主要特点和优点归纳如下:
(1)本系统用的移置性和针对性都比较高,因为针对性高可以提供更好的服务而移置性可以在多个系统上运行,更给客户带来了极大的方便。
(2)该家庭财务管理系统开发与设计内容全面,管理方便可以及时的全面的处理各种错误,异常,这样避免了很多因客户的马虎操作而出现的失误,其操作方便,会员界面友好,能够上网的人都可以很好的进行操作。
经过对上述的测试结果分析,所有基本功能齐全,操作简单,系统运行性能良好,系统安全可靠,能促进家庭财务管理系统的发展,发展前景广阔。
通过开发家庭财务管理系统,我深刻体会到软件开发的完整流程。首先,在确定开发目标后,我进行了详细的需求分析,明确了系统所需的各项功能。接下来,我设计了系统的功能框架和数据库结构,包括实体和数据表的设计。随后,我实现了各个功能模块的详细界面,并进行了全面的功能测试。尽管在这个过程中遇到了各种挑战,但通过反复分析和深入思考,借助相关文献和解决方案,我成功地解决了这些问题,最终使家庭财务管理系统顺利运行。
虽然该系统在功能上基本满足了用户的需求,但仍有许多需要改进的地方。在接下来的开发阶段,我计划进行以下改进:
用户界面设计:目前的操作页面虽然满足了简易操作的要求,但在多样化设计方面还有提升空间。我将考虑引入更多丰富的设计元素,使界面更加美观和用户友好。
安全性能优化:针对系统安全性能的增强,需要进一步优化系统的整体防护能力。具体而言,将要对程序退出的安全性进行加强,确保在退出过程中不存在数据泄露或系统不稳定的风险。同时,对系统的并发处理能力进行升级,以确保在高并发场景下系统能够保持稳定的运行状态。这些改进措施将共同提升系统的安全性能,确保在各种使用场景下,系统都能为用户提供安全、可靠的服务。
性能优化:在性能优化方面,将着重于对程序的数据结构和代码逻辑进行精细化调整。通过优化,旨在确保系统能在高负载下保持稳定且高效的运行状态。优化后的系统应具备快速处理大量事务的能力,显著缩短事务处理时间,从而提高整体工作效率。同时,致力于降低服务器资源的占用率,以实现资源的高效利用和成本的有效控制。这些优化措施将共同提升系统的整体性能,为用户提供更加流畅、高效的服务体验。
通过这些改进,我希望能够进一步提升家庭财务管理系统的用户体验和性能,使其更加贴合实际需求。
参考文献
- Wang Q ,Liu M ,Xie K .Disappearing bank Branches: Evidence from China household finance survey[J].International Review of Economics and Finance,2025,98103873-103873.
- Chen Y ,Liu X ,Yao Z , et al.Chinese household finance impacted by climate change - Evidence from stock investment[J].International Review of Economics and Finance,2025,97103730-103730.
- 陈伟,张奥然,许信宇,等.一个基于SpringBoot和AngularJS的家庭理财系统设计与实现[J].电脑知识与技术,2024,20(12):46-49.DOI:10.14004/j.cnki.ckt.2024.0595.
- 荣芳.人力资本对家庭理财规划的影响[D].对外经济贸易大学,2023.DOI:10.27015/d.cnki.gdwju.2023.000305.
- 王志亮,纪松波.基于SpringBoot的Web前端与数据库的接口设计[J].工业控制计算机,2023,36(03):51-53.
- 李伟.国内家庭理财规划市场展望[J].服务外包,2022,(12):40-41.
- 张煜雪.家庭金融理财影响因素分析[J].合作经济与科技,2022,(23):49-51.DOI:10.13665/j.cnki.hzjjykj.2022.23.028.
- 刘勃劭.我国居民家庭投资理财存在的问题与对策[J].投资与合作,2022,(10):31-33.
- 仓业金.基于Java的软件保护技术研究[J].电脑知识与技术,2022,18(23):29-30+52.DOI:10.14004/j.cnki.ckt.2022.1597.
- 胡雪宁.试析互联网金融背景下的家庭理财规划策略[J].商讯,2022,(18):71-74.
- 宋旸.使用Java语言开发Web应用软件的知识探讨[J].中国设备工程,2022,(14):121-123.
- 王秀婷,张燕敏,李凯悦.互联网金融背景下我国家庭财富管理对策探讨[J].中国集体经济,2022,(12):67-68.
- 家庭理财的基本原则和心态[J].全国新书目,2022,(04):63-64.
- 什么是家庭理财[J].全国新书目,2022,(04):72-73.
- 张瑾.基于生命周期的家庭理财规划研究[D].上海财经大学,2021.DOI:10.27296/d.cnki.gshcu.2021.001599.
- 喻佳,吴丹新.基于SpringBoot的Web快速开发框架[J].电脑编程技巧与维护,2021,(09):31-33.DOI:10.16184/j.cnki.comprg.2021.09.013.
- 符青林.家庭理财工具分类及特征分析[J].工程技术研究,2021,6(17):145-147+225.DOI:10.19537/j.cnki.2096-2789.2021.17.061.
- 杨霄羽.内乡县农村家庭理财问题研究[D].河南工业大学,2021.DOI:10.27791/d.cnki.ghegy.2021.000150.
- 叶超琼,曾秀英,叶成香.一种家庭财务管理系统、方法、终端及介质[P].甘肃省:CN202011170426.3,2021-01-29.
- Chen J ,Jian C ,Hailan P .Design of Man Hour Management Information System on SpringBoot Framework[J].Journal of Physics: Conference Series,2020,1646(1):012136-.
这次毕业设计能够完成,最重要的就是来自指导老师的帮助,老师不厌其烦的对我的论文及毕业设计提出非常有建设性的建议,我的毕设施能够完成离不开老师的帮助。我对老师由衷的表示感谢,
其次要感谢大学四年里学院里所有的任课老师的教导,老师们在我整个大学四年里给予了我丰富的知识,让我能够在大学中不虚度光阴,踏踏实实的学习,没有这些老师不辞辛劳的教诲,我无法完成这四年的学业。
最后,我要感谢我的家人和同学们。感谢父母在物质与精神上给予我无限的支持和鼓励。感谢我的同学们,在论文写作期间,你们给予了我许多宝贵的建议和帮助,让我在学术研究的道路上不再孤单。
再次感谢所有在我大学生活中给予我帮助和支持的人们。您们的关怀和鼓励将永远铭刻在我的心中,成为我未来前行的动力。
由于自己的水平有限,毕设仍然存在着很大的缺陷,各位老师若提出意见,我会努力改正。
免费领取项目源码+数据库,请关注❥点赞收藏并私信博主

被折叠的 条评论
为什么被折叠?



