微信记账小程序的设计与实现|Spring Boot + MySQL 收支、预算与统计-----附源码77633

发布时间:2026/10/10 15:24:40

微信记账小程序的设计与实现|Spring Boot + MySQL 收支、预算与统计-----附源码77633 “微信记账小程序的设计与实现”以一笔 38 元支出作为联调实验并增加小程序端和后台管理界面。文章定位实验教程推荐标签微信小程序、Spring Boot、MySQL摘要通过一笔 38 元支出逐步验证交易事务、预算计算、提醒幂等、图表聚合和数据隐私适合作为联调教程。项目题目微信记账小程序的设计与实现实验目标在小程序中记录一笔“餐饮支出 38.00 元”并验证四个结果账单列表出现记录、账户余额减少、餐饮预算进度增加、当月分类统计图同步更新。项目资料中的功能包括账户信息、账单分类、账单信息、预算设置、支出记录、收入记录和提醒通知正好可以构成这条数据链。Step 1先定义一笔账而不是先画页面图 1 微信记账小程序注册与登录界面图 2 分类设置与支出记录界面本次实验输入账户为“微信余额”方向为支出分类为“餐饮”金额 38.00 元发生时间为 2026-08-03 12:15备注为“午餐”。金额应使用 DECIMAL而不是 float 或 double发生时间与创建时间需要分开。字段示例值作用user_id10001隔离不同用户的数据account_id3 / 微信余额确定余额变动账户directionEXPENSE区分收入与支出category_id12 / 餐饮用于预算和统计聚合amount38.00使用定点小数occurred_at2026-08-03 12:15决定账单归属月份remark午餐可选说明SQLSTART TRANSACTION;INSERT INTO transaction_record(user_id, account_id, direction, category_id, amount, occurred_at, remark)VALUES (10001, 3, EXPENSE, 12, 38.00, 2026-08-03 12:15:00, 午餐);UPDATE account_informationSET account_balance account_balance - 38.00WHERE account_information_id 3 AND account_user 10001;COMMIT;一致性检查账单写入和账户余额更新必须处于同一事务。任何一步失败都要整体回滚否则会出现“账单存在但余额没变”或“余额变了但找不到账单”。Step 2预算是“月份 分类 金额”的规则图 3 收入记录与预算设置界面项目资料中的预算设置包含用户、账户、设定月份和预算金额。假设 2026 年 8 月餐饮预算为 1200 元记录午餐前已使用 742 元那么本次记账后已使用 780 元预算使用率为 65%。TEXT预算使用率 当月该分类支出合计 ÷ 预算金额 780.00 ÷ 1200.00 65.00%时间查询建议采用左闭右开区间大于等于当月第一天 00:00小于下月第一天 00:00。这样不用处理“本月最后一天 23:59:59.999”的边界。SQLSELECT COALESCE(SUM(amount), 0)FROM transaction_recordWHERE user_id :userIdAND direction EXPENSEAND category_id :categoryIdAND occurred_at :monthStartAND occurred_at :nextMonthStart;Step 3提醒通知要做幂等图 4 提醒通知与收支统计图界面资料中单独设计了提醒通知表并测试了预算超支、账单到期、已读、无通知和过期通知。预算提醒可设置 70%、90% 和 100% 三个阈值但同一预算同一阈值只能发送一次。当前使用率处理方式0%—69.99%不发送预算提醒70%—89.99%发送一次“已使用 70%”提醒90%—99.99%发送一次“接近预算上限”提醒≥100%发送一次“预算已超出”提醒SQLCREATE UNIQUE INDEX uk_budget_noticeON reminder_notification(budget_setting_id, threshold_code);-- 插入重复时由唯一键阻止重复提醒INSERT INTO reminder_notification(..., threshold_code)VALUES (..., PERCENT_90);Step 4统计图先聚合再展示图 5 管理员后台首页的数据统计看板小程序端不需要拉取整月所有明细再求和。后端按日期或分类聚合后返回前端只负责绘图。饼图回答“钱花在什么地方”折线图回答“每天花多少”柱状图回答“哪个月支出更高”。图表后端返回的数据形态常见误区分类占比饼图category_name total_amount把收入和支出混在一起日支出折线图date expense_total缺失日期未补 0折线断裂月度收支柱图month income_total expense_total月份时区不一致预算进度条budget used rate直接使用前端累加结果Step 5用一组小数据验证统计口径日期分类方向金额08-01工资收入6000.0008-01餐饮支出26.0008-02交通支出12.0008-03餐饮支出38.0008-03购物支出199.00这组数据的月收入为 6000 元月支出为 275 元餐饮支出为 64 元。若图表显示的结果不同应优先检查方向字段、时间范围和重复数据而不是先调整前端图表。Step 6账户数据需要更严格的隐私边界图 6 后台用户管理与提醒通知管理界面图 7 在线反馈审核与公告资讯发布界面项目支持微信授权或账号密码登录。无论采用哪种方式后端都必须以登录用户身份过滤账户、账单、预算和提醒数据不能信任前端传入的 user_id。日志中不记录完整账户号码和备注原文导出账单时需要二次确认。接口查询条件必须包含当前登录用户不允许通过修改参数查看他人账单。账户号码展示时只保留尾号敏感备注不进入普通运行日志。删除账单前确认是否同步回滚余额或采用“冲正记录”保留审计轨迹。统计接口限制时间范围避免一次查询多年明细拖慢数据库。实验验收清单操作预期结果录入 38 元餐饮支出账单新增金额大于 0分类有效检查账户余额余额准确减少 38 元查看 8 月预算餐饮已用金额增加 38 元查看提醒达到阈值时只生成一条通知查看统计图当日支出与餐饮占比同步变化重复点击提交只生成一笔账接口具备幂等保护免费领取源码需要本项目完整源码、数据库脚本和部署说明的同学点赞收藏后在评论区留言【源码】可免费领取学习资料。资料仅用于学习交流请勿用于商业用途。
延伸阅读

更多相关文章

2026/10/8 3:33:30

企业级RAG性能优化与质量治理(8):在线反馈、失败样本回流与持续优化闭环

文章摘要 前七篇已经完成文档解析、混合召回、索引版本治理、质量评测、查询增强、可信证据和缓存一致性。系统已经具备较完整的离线工程能力,但只依赖上线前数据集仍然不够。真实用户会带来开发团队从未考虑的口语表达、长文档、权限组合、动态数据、多轮指代、缓存…

2026/10/8 3:37:48

小红书作品怎么下载?免费开源工具三步搞定无水印批量下载

小红书作品怎么下载?免费开源工具三步搞定无水印批量下载 【免费下载链接】XHS-Downloader 小红书(XiaoHongShu、RedNote)链接提取/作品采集工具:提取账号发布、收藏、点赞、专辑作品链接;提取搜索结果作品、用户链接&…

2026/10/10 6:00:45

动态刚体为什么必须用凸包?技术细节揭秘

🎬 开场:一个"我就想知道底层到底卡在哪"的追问 小王不满足于"凹的慢、不稳定"这种笼统说法: “老鸟,我要具体的技术细节! 动态刚体每帧到底在算什么? 凹网格具体卡在哪一步? 是碰撞检测算不出来?还是碰撞后弹开算错了? 给我讲引擎内部实际的计算…

2026/10/10 15:23:12

程序员真实工作流:从写代码到让系统持续运转

1. 这不是职业说明书,而是一份“程序员生存实录”“程序员是做什么的”——这个问题我被问过至少两百次。问的人里,有刚高考完填志愿的高中生,有想转行的35岁销售主管,有给孩子挑兴趣班的家长,甚至还有某高校教务处老师…

2026/10/10 15:23:12

WinCC用户归档实战:从建表到SQL查询的完整指南

简介:WinCC用户归档案例是一份面向工业自动化工程师的SCADA数据管理实践资源,聚焦西门子WinCC中用户归档功能与动作、标准模块的协同应用。资源通过具体项目演示如何配置归档触发条件,利用动作响应变量变化或按钮事件来启动归档,同…

2026/10/10 15:23:12

个人知识管理进阶:从笔记库存到可调用资产的版本迭代实践

“1.27的学习笔记”这个标题,如果你以为是某个人在某年1月27号随手记的流水账,那恐怕要失望了。对我来说,“1.27”是我个人知识管理系统的版本号——从我开始正经搭这套学习笔记体系起,已经迭代到第1.27个小版本了。这篇笔记不打算…

2026/10/10 15:23:12

SAP BTP ABAP环境证书配置实战:从信任链到TLS排障的完整指南

从一次半夜的“证书报错”说起。我负责的一个ABAP环境(SAP BTP ABAP environment)集成项目里,某天凌晨出站接口突然大面积失败,日志里只有一句话:证书校验失败。当时大家第一反应都是“证书不是云平台自动管的吗&#…

2026/10/10 15:23:12

SOAP/OData/Event错误日志业务目录:角色分配与权限治理实战

我先把这个标题拆开聊两句。很多人一看到“SOAP / OData / Event 错误日志业务目录”这种说法,第一反应是“这不就是给接口配几个错误码嘛”,结果真正上手才发现,事情远没有那么简单——数据接口报错不是只有一个日志文件,而是散落…

2026/10/10 15:18:11

编译原理实验:手写DFA词法分析器与递归下降语法分析器实践

简介:一份面向计算机专业学生与编译器初学者的C实现资源,围绕编译原理课程中的核心实验展开,完整演示了词法分析器与语法分析器的设计与编码过程。压缩包共9个文件,包括两个cpp源程序、两个可直接运行的exe程序,以及文…

2026/10/10 7:31:36

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/9 20:15:56

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/8 6:05:44

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 0:04:53

从逻辑门到计算机:数字电路核心原理与全加器搭建实战

如果你拆过一台旧电脑的主板,盯着那些黑乎乎的小芯片看上一会儿,可能会冒出同一个疑问:这堆引脚密集的元件,到底是怎么“变”出那么复杂的应用的?答案并不在某个神秘的部件里,而是在所有芯片内部都在反复使…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑