feat: 账单导入、统计维度扩展与收支记录增强
- 账单导入:新增支付宝账单解析/导入接口,按 external_no 去重;前端拖拽上传 + 预览确认弹窗 - 分类可选:category_id 允许为空,支持「未分类」筛选,新增按类型一键批量设置分类 - 备注隐藏:新增 remark_hidden 与切换接口,列表默认显示 ****** 并可单格查看/取消隐藏,导出同步隐藏 - 统计扩展:新增 /statistics/summary、/statistics/group,支持日/周/月/季/年/支付方式/分类/类型维度与时间范围过滤 - 收支记录:金额区间过滤、金额/交易时间列排序、分页快速跳转、本页收支结余汇总、交易时间列前置并合并创建时间提示 - 用户偏好:统计面板与列表的筛选条件持久化到 localStorage,进入自动还原 - 其他:新增默认分类种子脚本(含美容美发)、commons-csv 依赖、上传大小限制 10MB、Vite 监听 0.0.0.0
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
package com.example.finance.service;
|
||||
|
||||
import com.example.finance.dto.BillImportRequest;
|
||||
import com.example.finance.enums.BillType;
|
||||
import com.example.finance.vo.BillImportResultVO;
|
||||
import com.example.finance.vo.BillParseResultVO;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
/**
|
||||
* 账单导入服务,负责「先解析、后导入」两阶段的业务逻辑。
|
||||
*
|
||||
* @date 2026-09-17 09:50:10
|
||||
*/
|
||||
public interface BillImportService {
|
||||
|
||||
/**
|
||||
* 解析账单文件,返回预览数据(不落库),并标记与系统已有记录重复的行。
|
||||
*
|
||||
* @param userId 当前用户ID
|
||||
* @param billType 账单类型
|
||||
* @param content 账单文件字节内容
|
||||
* @return 解析结果
|
||||
* @throws IOException 文件解析失败
|
||||
*/
|
||||
BillParseResultVO parse(Long userId, BillType billType, byte[] content) throws IOException;
|
||||
|
||||
/**
|
||||
* 导入用户勾选的账单行,按外部交易号去重并写入交易记录。
|
||||
*
|
||||
* @param userId 当前用户ID
|
||||
* @param request 导入请求
|
||||
* @return 导入结果统计
|
||||
*/
|
||||
BillImportResultVO confirm(Long userId, BillImportRequest request);
|
||||
}
|
||||
Reference in New Issue
Block a user