120 lines
4.2 KiB
Markdown
120 lines
4.2 KiB
Markdown
# 后端文件清单
|
||
|
||
## 已创建和补全的文件
|
||
|
||
### 核心配置类
|
||
- ✅ `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
|
||
|
||
|
||
|
||
|