import request from './request' /** * 统计相关 API * 注:统计接口定义在 TransactionRecordController 中 */ /** * 获取月度统计数据 * @param {Object} params - 查询参数 * @param {number} params.year - 年份 * @param {number} params.month - 月份 * @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 getMonthlyStatistics = (params) => { return request({ url: '/TransactionStatistics/GetMonthlyStatistics', method: 'get', params }) } /** * 获取分类统计数据 * @param {Object} params - 查询参数 * @param {number} params.year - 年份 * @param {number} params.month - 月份 * @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 getCategoryStatistics = (params) => { return request({ url: '/TransactionStatistics/GetCategoryStatistics', 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 getCategoryStatisticsByDateRange = (params) => { return request({ url: '/TransactionStatistics/GetCategoryStatisticsByDateRange', 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 }) } /** * 获取指定月份每天的消费统计 * @param {Object} params - 查询参数 * @param {number} params.year - 年份 * @param {number} params.month - 月份 * @returns {Promise<{success: boolean, data: Array}>} * @returns {Array} data - 每日统计列表 * @returns {string} data[].date - 日期 * @returns {number} data[].count - 交易笔数 * @returns {number} data[].amount - 交易金额 */ export const getDailyStatistics = (params) => { return request({ url: '/TransactionStatistics/GetDailyStatistics', method: 'get', params }) } /** * 获取累积余额统计数据(用于余额卡片) * @param {Object} params - 查询参数 * @param {number} params.year - 年份 * @param {number} params.month - 月份 * @returns {Promise<{success: boolean, data: Array}>} * @returns {Array} data - 每日累积余额列表 * @returns {string} data[].date - 日期 * @returns {number} data[].cumulativeBalance - 累积余额 */ export const getBalanceStatistics = (params) => { return request({ url: '/TransactionStatistics/GetBalanceStatistics', 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: Array}>} * @returns {Array} data - 每日统计列表 * @returns {string} data[].date - 日期 * @returns {number} data[].count - 交易笔数 * @returns {number} data[].amount - 交易金额 */ export const getWeeklyStatistics = (params) => { return request({ url: '/TransactionStatistics/GetWeeklyStatistics', 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 getRangeStatistics = (params) => { return request({ url: '/TransactionStatistics/GetRangeStatistics', method: 'get', params }) }