rosercode 49c70a732d feat: 接入 DeepSeek,新增 AI 分类建议、自然语言查询与智能记账
- 后端新增 AI 模块:DeepSeek 客户端、用户级配置表 t_ai_config、用量记录表 t_ai_usage
- 批量设置支持 AI 推荐分类与标签,并可一键应用
- 交易列表支持自然语言查询,解析为筛选条件确认后应用
- 支持自然语言记账,解析后预填新增表单
- 新增 AI 设置页:启用开关、API Key、接口地址、模型、连通性测试与用量统计
- 交易列表重排:AI 查询区、已激活筛选标签、备注与查询历史缓存
- 账单导入默认分类下拉补充分类图标
- 顶部用户入口改为下拉菜单(AI 设置 / 退出登录)
2026-09-17 18:26:03 +08:00
2026-08-30 14:36:22 +08:00
2026-08-30 14:36:22 +08:00

收支管理系统

个人收支管理系统,支持收入/支出记录管理、分类管理、月度统计与图表展示。

技术栈

层级 技术
后端 Spring Boot 3.3.6 + Java 21 + MyBatis-Plus + MySQL
前端 Vue 3 + TypeScript + Vite + Naive UI + ECharts
构建 Gradle 8.13 (后端) / npm (前端)
认证 JWT
API 文档 Knife4j (OpenAPI 3)
JDK 版本 21.0.12.1 (Temurin LTS)
Node.js 版本 v24.0.0

前置条件

  • JDK 21.0.12.1 Temurin LTS,安装在 D:\venv\jdk-21
  • Node.js v24.0.0

数据库初始化

首次运行前需建表,执行 src/main/resources/sql/init.sql,或运行 Python 脚本:

pip install pymysql bcrypt
python init_db.py
python generate_test_data.py

启动后端

cd my-app
set JAVA_HOME=D:\venv\jdk-21
gradlew.bat bootRun

启动前端

cd my-app/frontend
npm run dev

打包

将项目源代码打包为 tar.gz(不含构建产物和 node_modules):

gradlew.bat archive

输出文件:build/distributions/finance-app-0.0.1-SNAPSHOT-{时间戳}.tar.gz

项目结构

my-app/
├── build.gradle
├── src/main/java/cn/rosercode/finance/
│   ├── controller/        # 接口层
│   ├── service/           # 业务层
│   ├── mapper/            # 数据访问层
│   ├── entity/            # 实体类
│   ├── dto/               # 请求对象
│   ├── vo/                # 响应对象
│   ├── config/            # 配置类
│   ├── common/            # 公共类
│   ├── interceptor/       # 拦截器
│   └── util/              # 工具类
├── src/main/resources/
│   ├── application.yml
│   ├── mapper/
│   └── sql/init.sql
└── frontend/              # Vue 3 前端
    └── src/
        ├── api/           # API 请求封装
        ├── router/        # 路由配置
        ├── store/         # 状态管理
        └── views/         # 页面组件
S
Description
No description provided
Readme
1.3 MiB
Languages
Java 62%
Vue 26.2%
TypeScript 10.8%
Go Template 0.9%