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:
@@ -1,8 +1,12 @@
|
||||
package com.example.finance.service;
|
||||
|
||||
import com.example.finance.dto.StatisticsQuery;
|
||||
import com.example.finance.dto.StatisticsRangeQuery;
|
||||
import com.example.finance.enums.StatisticsDimension;
|
||||
import com.example.finance.vo.CategoryStatisticsVO;
|
||||
import com.example.finance.vo.MonthlyStatisticsVO;
|
||||
import com.example.finance.vo.StatisticsGroupVO;
|
||||
import com.example.finance.vo.StatisticsSummaryVO;
|
||||
import com.example.finance.vo.TrendStatisticsVO;
|
||||
|
||||
import java.util.List;
|
||||
@@ -38,4 +42,23 @@ public interface StatisticsService {
|
||||
* @return 按日排列的趋势统计列表
|
||||
*/
|
||||
List<TrendStatisticsVO> getTrendStatistics(Long userId, StatisticsQuery query);
|
||||
|
||||
/**
|
||||
* 获取指定时间范围内的统计概览(收支汇总、日均、最大单笔、平均每笔)
|
||||
*
|
||||
* @param userId 用户ID
|
||||
* @param query 时间范围查询条件
|
||||
* @return 统计概览
|
||||
*/
|
||||
StatisticsSummaryVO getSummary(Long userId, StatisticsRangeQuery query);
|
||||
|
||||
/**
|
||||
* 按指定维度对时间范围内的交易进行分组统计
|
||||
*
|
||||
* @param userId 用户ID
|
||||
* @param query 时间范围查询条件
|
||||
* @param dimension 统计维度
|
||||
* @return 分组统计列表
|
||||
*/
|
||||
List<StatisticsGroupVO> getGroup(Long userId, StatisticsRangeQuery query, StatisticsDimension dimension);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user