AI-accounting-soft/BACKEND_FILES_CHECKLIST.md
2025-12-12 16:37:27 +08:00

120 lines
4.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 后端文件清单
## 已创建和补全的文件
### 核心配置类
-`AccountingApplication.java` - Spring Boot应用入口
-`config/JwtConfig.java` - JWT配置和工具类
-`config/JwtAuthenticationFilter.java` - JWT认证过滤器
-`config/SecurityConfig.java` - Spring Security配置
-`config/UserDetailsServiceImpl.java` - 用户详情服务实现
-`config/AliyunOcrConfig.java` - 阿里云OCR配置
### 实体类Entity
-`entity/User.java` - 用户实体
-`entity/Category.java` - 分类实体
-`entity/Bill.java` - 账单实体
-`entity/OcrRecord.java` - OCR记录实体
### 数据访问层Mapper
-`mapper/UserMapper.java` - 用户Mapper接口
-`mapper/CategoryMapper.java` - 分类Mapper接口
-`mapper/BillMapper.java` - 账单Mapper接口
-`mapper/OcrRecordMapper.java` - OCR记录Mapper接口
### 业务逻辑层Service
-`service/AuthService.java` - 认证服务(注册、登录)
-`service/BillService.java` - 账单服务CRUD操作
-`service/CategoryService.java` - 分类服务CRUD操作
-`service/StatisticsService.java` - 统计服务(按日/周/月统计)
-`service/OcrService.java` - OCR识别服务
### 控制器层Controller
-`controller/AuthController.java` - 认证控制器(注册、登录接口)
-`controller/BillController.java` - 账单控制器账单CRUD接口
-`controller/CategoryController.java` - 分类控制器分类CRUD接口
-`controller/StatisticsController.java` - 统计控制器(统计查询接口)
-`controller/OcrController.java` - OCR控制器OCR识别接口
### 数据传输对象DTO
-`dto/LoginRequest.java` - 登录请求DTO
-`dto/RegisterRequest.java` - 注册请求DTO
-`dto/AuthResponse.java` - 认证响应DTO
-`dto/BillRequest.java` - 账单请求DTO
-`dto/BillResponse.java` - 账单响应DTO
-`dto/CategoryRequest.java` - 分类请求DTO
-`dto/CategoryResponse.java` - 分类响应DTO
-`dto/StatisticsResponse.java` - 统计响应DTO
-`dto/OcrResponse.java` - OCR响应DTO
### 工具类Util
-`util/FileUtil.java` - 文件上传工具类
-`util/OcrAmountParser.java` - OCR金额解析工具类
### 配置文件
-`pom.xml` - Maven依赖配置
-`src/main/resources/application.yml` - 应用配置文件
-`src/main/resources/db/schema.sql` - 数据库表结构SQL脚本
## 已修复的问题
1.**AuthService** - 清理了测试代码,移除了不必要的导入
2.**JwtConfig** - 修复了JWT解析器API调用使用parserBuilder
3.**OcrService** - 修复了Base64编码问题使用Base64字符串而不是InputStream
4.**BillService** - 补全了完整的账单服务实现
5.**BillController** - 补全了完整的账单控制器实现
6.**CategoryController** - 补全了完整的分类控制器实现
7.**StatisticsController** - 补全了完整的统计控制器实现
## 功能模块
### 1. 认证模块
- 用户注册(密码加密存储)
- 用户登录JWT token生成
- JWT token验证和过滤
### 2. 账单管理模块
- 创建账单
- 更新账单
- 删除账单
- 查询账单列表(支持日期范围)
- 查询账单详情
### 3. 分类管理模块
- 获取分类列表(系统预设+用户自定义)
- 创建自定义分类
- 更新分类
- 删除分类(系统分类不可删除)
### 4. 统计模块
- 按日期范围统计
- 按周统计
- 按月统计
- 分类统计
- 收入/支出统计
### 5. OCR识别模块
- 图片上传
- 阿里云OCR识别
- 金额、商户、日期解析
- OCR记录保存
## 注意事项
1. **数据库配置**:需要在`application.yml`中配置MySQL连接信息
2. **阿里云OCR配置**需要配置AccessKey和SecretKey建议使用环境变量
3. **文件上传路径**:确保`file.upload.path`配置的目录存在且有写权限
4. **JWT密钥**:生产环境请修改`jwt.secret`配置
5. **数据库初始化**:执行`schema.sql`创建数据库表和预设分类
## 下一步
1. 执行数据库脚本创建表结构
2. 配置application.yml中的数据库和OCR信息
3. 启动Spring Boot应用
4. 访问API文档http://localhost:8080/doc.html