init: 橘视厅酒店版会员系统前端
This commit is contained in:
73
src/api/manage/stats.ts
Normal file
73
src/api/manage/stats.ts
Normal file
@@ -0,0 +1,73 @@
|
||||
import http from '@/utils/httpRequest'
|
||||
import type { ManageResponse } from './types'
|
||||
|
||||
/**
|
||||
* 总览看板统计
|
||||
*/
|
||||
export interface OverviewStats {
|
||||
totalOrders: number
|
||||
todayOrders: number
|
||||
totalRevenue: number
|
||||
todayRevenue: number
|
||||
totalPool: number
|
||||
availablePool: number
|
||||
usedPool: number
|
||||
activateFailed: number
|
||||
}
|
||||
|
||||
/**
|
||||
* 订单趋势统计项
|
||||
*/
|
||||
export interface OrderTrendItem {
|
||||
date: string
|
||||
orderCount: number
|
||||
revenue: number
|
||||
}
|
||||
|
||||
/**
|
||||
* 库存统计
|
||||
* 实际返回:statusStats / activateStats 均为 Map<状态, 数量>
|
||||
*/
|
||||
export interface PoolStats {
|
||||
/** 按库存状态:{ UNUSED: 1, USED: 2 } */
|
||||
statusStats: Record<string, number>
|
||||
/** 按激活状态:{ PENDING: 2, FAILED: 1 } */
|
||||
activateStats: Record<string, number>
|
||||
}
|
||||
|
||||
/**
|
||||
* 渠道统计项
|
||||
*/
|
||||
export interface ChannelStatItem {
|
||||
channelOrgId: number
|
||||
orderCount: number
|
||||
revenue: number
|
||||
}
|
||||
|
||||
/**
|
||||
* 订单趋势统计查询参数
|
||||
*/
|
||||
export interface OrderStatsParams {
|
||||
startDate: string
|
||||
endDate: string
|
||||
}
|
||||
|
||||
/** 总览看板 */
|
||||
export function getOverviewStats(): Promise<ManageResponse<{ overview?: OverviewStats }>> {
|
||||
return http.get(http.adornUrl('/manage/stats/overview'), { params: http.adornParams() }).then(res => res.data)
|
||||
}
|
||||
|
||||
/** 订单趋势统计 */
|
||||
export function getOrderStats(params: OrderStatsParams): Promise<ManageResponse<{ orderStats?: { list: OrderTrendItem[] } }>> {
|
||||
return http.get(http.adornUrl('/manage/stats/orders'), { params: http.adornParams(params) }).then(res => res.data)
|
||||
}
|
||||
|
||||
/** 库存统计 */
|
||||
export function getPoolStats(): Promise<ManageResponse<{ poolStats?: PoolStats }>> {
|
||||
return http.get(http.adornUrl('/manage/stats/pool'), { params: http.adornParams() }).then(res => res.data)
|
||||
}
|
||||
|
||||
/** 渠道统计 */
|
||||
export function getChannelStats(): Promise<ManageResponse<{ channelStats?: { list: ChannelStatItem[] } }>> {
|
||||
return http.get(http.adornUrl('/manage/stats/channels'), { params: http.adornParams() }).then(res => res.data)
|
||||
}
|
||||
Reference in New Issue
Block a user