210 lines
6.8 KiB
JavaScript
210 lines
6.8 KiB
JavaScript
import request from './request'
|
||
|
||
/**
|
||
* 统计相关 API
|
||
* 注:统计接口定义在 TransactionStatisticsController 中
|
||
*/
|
||
|
||
// ===== 新统一接口(推荐使用) =====
|
||
|
||
/**
|
||
* 按日期范围获取每日统计(新统一接口)
|
||
* @param {Object} params - 查询参数
|
||
* @param {string} params.startDate - 开始日期(包含)格式: YYYY-MM-DD
|
||
* @param {string} params.endDate - 结束日期(不包含)格式: YYYY-MM-DD
|
||
* @param {string} [params.savingClassify] - 储蓄分类(可选,不传则使用系统配置)
|
||
* @returns {Promise<{success: boolean, data: Array}>}
|
||
* @returns {Array} data - 每日统计列表
|
||
* @returns {number} data[].day - 日期(天)
|
||
* @returns {number} data[].count - 交易笔数
|
||
* @returns {number} data[].expense - 支出金额
|
||
* @returns {number} data[].income - 收入金额
|
||
* @returns {number} data[].saving - 储蓄金额
|
||
*/
|
||
export const getDailyStatisticsByRange = (params) => {
|
||
return request({
|
||
url: '/TransactionStatistics/GetDailyStatisticsByRange',
|
||
method: 'get',
|
||
params
|
||
})
|
||
}
|
||
|
||
/**
|
||
* 按日期范围获取汇总统计(新统一接口)
|
||
* @param {Object} params - 查询参数
|
||
* @param {string} params.startDate - 开始日期(包含)格式: YYYY-MM-DD
|
||
* @param {string} params.endDate - 结束日期(不包含)格式: YYYY-MM-DD
|
||
* @returns {Promise<{success: boolean, data: Object}>}
|
||
* @returns {Object} data.totalExpense - 总支出
|
||
* @returns {Object} data.totalIncome - 总收入
|
||
* @returns {Object} data.balance - 结余
|
||
* @returns {Object} data.expenseCount - 支出笔数
|
||
* @returns {Object} data.incomeCount - 收入笔数
|
||
* @returns {Object} data.totalCount - 总笔数
|
||
*/
|
||
export const getSummaryByRange = (params) => {
|
||
return request({
|
||
url: '/TransactionStatistics/GetSummaryByRange',
|
||
method: 'get',
|
||
params
|
||
})
|
||
}
|
||
|
||
/**
|
||
* 按日期范围获取分类统计(新统一接口)
|
||
* @param {Object} params - 查询参数
|
||
* @param {string} params.startDate - 开始日期(包含)格式: YYYY-MM-DD
|
||
* @param {string} params.endDate - 结束日期(不包含)格式: YYYY-MM-DD
|
||
* @param {number} params.type - 交易类型 (0:支出, 1:收入, 2:不计入收支)
|
||
* @returns {Promise<{success: boolean, data: Array}>}
|
||
* @returns {Array} data - 分类统计列表
|
||
* @returns {string} data[].classify - 分类名称
|
||
* @returns {number} data[].amount - 金额
|
||
* @returns {number} data[].percent - 百分比
|
||
* @returns {number} data[].count - 交易笔数
|
||
*/
|
||
export const getCategoryStatisticsByRange = (params) => {
|
||
return request({
|
||
url: '/TransactionStatistics/GetCategoryStatisticsByRange',
|
||
method: 'get',
|
||
params
|
||
})
|
||
}
|
||
|
||
/**
|
||
* 获取趋势统计数据
|
||
* @param {Object} params - 查询参数
|
||
* @param {number} params.startYear - 开始年份
|
||
* @param {number} params.startMonth - 开始月份
|
||
* @param {number} [params.monthCount=6] - 月份数量,默认6个月
|
||
* @returns {Promise<{success: boolean, data: Array}>}
|
||
* @returns {Array} data - 趋势统计列表
|
||
* @returns {number} data[].year - 年份
|
||
* @returns {number} data[].month - 月份
|
||
* @returns {number} data[].expense - 支出金额
|
||
* @returns {number} data[].income - 收入金额
|
||
*/
|
||
export const getTrendStatistics = (params) => {
|
||
return request({
|
||
url: '/TransactionStatistics/GetTrendStatistics',
|
||
method: 'get',
|
||
params
|
||
})
|
||
}
|
||
|
||
// ===== 旧接口(保留用于向后兼容,建议迁移到新接口) =====
|
||
|
||
/**
|
||
* 获取月度统计数据
|
||
* @deprecated 请使用 getSummaryByRange
|
||
* @param {Object} params - 查询参数
|
||
* @param {number} params.year - 年份
|
||
* @param {number} params.month - 月份
|
||
* @returns {Promise<{success: boolean, data: Object}>}
|
||
*/
|
||
export const getMonthlyStatistics = (params) => {
|
||
return request({
|
||
url: '/TransactionStatistics/GetMonthlyStatistics',
|
||
method: 'get',
|
||
params
|
||
})
|
||
}
|
||
|
||
/**
|
||
* 获取分类统计数据
|
||
* @deprecated 请使用 getCategoryStatisticsByRange
|
||
* @param {Object} params - 查询参数
|
||
* @param {number} params.year - 年份
|
||
* @param {number} params.month - 月份
|
||
* @param {number} params.type - 交易类型 (0:支出, 1:收入, 2:不计入收支)
|
||
* @returns {Promise<{success: boolean, data: Array}>}
|
||
*/
|
||
export const getCategoryStatistics = (params) => {
|
||
return request({
|
||
url: '/TransactionStatistics/GetCategoryStatistics',
|
||
method: 'get',
|
||
params
|
||
})
|
||
}
|
||
|
||
/**
|
||
* 按日期范围获取分类统计数据
|
||
* @deprecated 请使用 getCategoryStatisticsByRange(DateTime 参数版本)
|
||
* @param {Object} params - 查询参数
|
||
* @param {string} params.startDate - 开始日期 (格式: YYYY-MM-DD)
|
||
* @param {string} params.endDate - 结束日期 (格式: YYYY-MM-DD)
|
||
* @param {number} params.type - 交易类型 (0:支出, 1:收入, 2:不计入收支)
|
||
* @returns {Promise<{success: boolean, data: Array}>}
|
||
*/
|
||
export const getCategoryStatisticsByDateRange = (params) => {
|
||
return request({
|
||
url: '/TransactionStatistics/GetCategoryStatisticsByDateRange',
|
||
method: 'get',
|
||
params
|
||
})
|
||
}
|
||
|
||
/**
|
||
* 获取指定月份每天的消费统计
|
||
* @deprecated 请使用 getDailyStatisticsByRange
|
||
* @param {Object} params - 查询参数
|
||
* @param {number} params.year - 年份
|
||
* @param {number} params.month - 月份
|
||
* @returns {Promise<{success: boolean, data: Array}>}
|
||
*/
|
||
export const getDailyStatistics = (params) => {
|
||
return request({
|
||
url: '/TransactionStatistics/GetDailyStatistics',
|
||
method: 'get',
|
||
params
|
||
})
|
||
}
|
||
|
||
/**
|
||
* 获取累积余额统计数据(用于余额卡片)
|
||
* @deprecated 请使用 getDailyStatisticsByRange 并在前端计算累积余额
|
||
* @param {Object} params - 查询参数
|
||
* @param {number} params.year - 年份
|
||
* @param {number} params.month - 月份
|
||
* @returns {Promise<{success: boolean, data: Array}>}
|
||
*/
|
||
export const getBalanceStatistics = (params) => {
|
||
return request({
|
||
url: '/TransactionStatistics/GetBalanceStatistics',
|
||
method: 'get',
|
||
params
|
||
})
|
||
}
|
||
|
||
/**
|
||
* 获取指定周范围的每天的消费统计
|
||
* @deprecated 请使用 getDailyStatisticsByRange
|
||
* @param {Object} params - 查询参数
|
||
* @param {string} params.startDate - 开始日期 (yyyy-MM-dd)
|
||
* @param {string} params.endDate - 结束日期 (yyyy-MM-dd)
|
||
* @returns {Promise<{success: boolean, data: Array}>}
|
||
*/
|
||
export const getWeeklyStatistics = (params) => {
|
||
return request({
|
||
url: '/TransactionStatistics/GetWeeklyStatistics',
|
||
method: 'get',
|
||
params
|
||
})
|
||
}
|
||
|
||
/**
|
||
* 获取指定日期范围的统计汇总数据
|
||
* @deprecated 请使用 getSummaryByRange
|
||
* @param {Object} params - 查询参数
|
||
* @param {string} params.startDate - 开始日期 (yyyy-MM-dd)
|
||
* @param {string} params.endDate - 结束日期 (yyyy-MM-dd)
|
||
* @returns {Promise<{success: boolean, data: Object}>}
|
||
*/
|
||
export const getRangeStatistics = (params) => {
|
||
return request({
|
||
url: '/TransactionStatistics/GetRangeStatistics',
|
||
method: 'get',
|
||
params
|
||
})
|
||
}
|