- 账单导入:新增支付宝账单解析/导入接口,按 external_no 去重;前端拖拽上传 + 预览确认弹窗 - 分类可选:category_id 允许为空,支持「未分类」筛选,新增按类型一键批量设置分类 - 备注隐藏:新增 remark_hidden 与切换接口,列表默认显示 ****** 并可单格查看/取消隐藏,导出同步隐藏 - 统计扩展:新增 /statistics/summary、/statistics/group,支持日/周/月/季/年/支付方式/分类/类型维度与时间范围过滤 - 收支记录:金额区间过滤、金额/交易时间列排序、分页快速跳转、本页收支结余汇总、交易时间列前置并合并创建时间提示 - 用户偏好:统计面板与列表的筛选条件持久化到 localStorage,进入自动还原 - 其他:新增默认分类种子脚本(含美容美发)、commons-csv 依赖、上传大小限制 10MB、Vite 监听 0.0.0.0
37 lines
1.1 KiB
Java
37 lines
1.1 KiB
Java
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);
|
|
}
|