# test **Repository Path**: qaqaqa21a/test ## Basic Information - **Project Name**: test - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-08 - **Last Updated**: 2026-01-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 账本管理系统后端 ## 项目概述 这是一个基于Spring Boot 3的账本管理系统后端,提供对账单分类、币种、账本和账单的完整CRUD操作。 ## 技术栈 - Java 17 - Spring Boot 3.2.0 - MySQL 8+ - MyBatis Plus 3.5.5 - Maven ## 数据库配置 ``` IP: 121.89.81.29 端口: 3306 数据库: train_20260105 用户名: train_20260105001 密码: 123456 ``` ## 功能模块 ### 1. 账单分类管理 - 新增分类 - 编辑分类 - 分页查询(支持按名称模糊查询和类型精确查询) - 详情查询 - 删除分类(已被使用的分类不能删除) ### 2. 币种管理 - 新增币种 - 编辑币种 - 分页查询(支持按名称模糊查询) - 详情查询 - 删除币种(已被使用的币种不能删除) ### 3. 账本管理 - 新增账本 - 编辑账本(不允许修改币种) - 分页查询(支持按名称模糊查询) - 账本列表查询 - 详情查询 - 删除账本(同时删除所有关联账单) ### 4. 账单管理 - 添加账单 - 编辑账单(不允许修改账本) - 删除账单 - 详情查询 - 分页查询(携带账本名称和币种信息) ## API接口说明 ### 统一响应格式 ```json { "code": 200, "message": "操作成功", "data": {...} } ``` ### 基础路径 所有API接口的基础路径为:`/api` ### 分类管理接口 - POST `/api/category/page` - 分页查询分类 - POST `/api/category` - 新增分类 - PUT `/api/category` - 编辑分类 - GET `/api/category/{id}` - 获取分类详情 - DELETE `/api/category/{id}` - 删除分类 ### 币种管理接口 - POST `/api/currency/page` - 分页查询币种 - POST `/api/currency` - 新增币种 - PUT `/api/currency` - 编辑币种 - GET `/api/currency/{id}` - 获取币种详情 - DELETE `/api/currency/{id}` - 删除币种 ### 账本管理接口 - POST `/api/ledger/page` - 分页查询账本 - GET `/api/ledger/list` - 获取账本列表 - POST `/api/ledger` - 新增账本 - PUT `/api/ledger` - 编辑账本 - GET `/api/ledger/{id}` - 获取账本详情 - DELETE `/api/ledger/{id}` - 删除账本 ### 账单管理接口 - POST `/api/ledger/{ledgerId}/bill/page` - 分页查询账单 - POST `/api/ledger/{ledgerId}/bill` - 添加账单 - PUT `/api/ledger/{ledgerId}/bill/{billId}` - 编辑账单 - GET `/api/ledger/{ledgerId}/bill/{billId}` - 获取账单详情 - DELETE `/api/ledger/{ledgerId}/bill/{billId}` - 删除账单 ## 运行项目 ### 1. 克隆项目 ```bash git clone <项目地址> cd ledger-backend ``` ### 2. 配置数据库 修改 `src/main/resources/application.yml` 中的数据库连接信息 ### 3. 编译和运行 ```bash # 使用Maven编译 mvn clean compile # 运行项目 mvn spring-boot:run ``` ### 4. 访问接口 项目启动后,可以通过Postman或其他工具访问API接口,端口为8080。 ## 注意事项 1. 所有SQL查询都包含条件 `created_by = '徐雯蕾'` 2. 新增和编辑操作会进行名称唯一性校验 3. 删除操作会检查是否被使用 4. 账单操作会自动更新账本的统计信息(收入、支出、笔数) 5. 所有金额字段使用BigDecimal类型,避免精度问题 ## 项目结构 ``` src/main/java/com/ledger/ ├── entity/ # 实体类 ├── mapper/ # 数据访问层 ├── service/ # 业务逻辑层 ├── controller/ # 控制器层 ├── common/ # 公共类 ├── dto/ # 数据传输对象 └── config/ # 配置类 ```