feat(usage):用量记录添加统计信息
This commit is contained in:
1 parent
330d02f19d
commit
54ccfb9b80
8 files changed
+330
-146
No files matched your search
@@ -83,6 +83,7 @@ type IAdminV1 interface {
|
||||
AdminDashboardRecentAlerts(ctx context.Context, req *v1.AdminDashboardRecentAlertsReq) (res *v1.AdminDashboardRecentAlertsRes, err error)
|
||||
AdminDashboardModelHourly(ctx context.Context, req *v1.AdminDashboardModelHourlyReq) (res *v1.AdminDashboardModelHourlyRes, err error)
|
||||
AdminUsageLogList(ctx context.Context, req *v1.AdminUsageLogListReq) (res *v1.AdminUsageLogListRes, err error)
|
||||
AdminUsageLogSummary(ctx context.Context, req *v1.AdminUsageLogSummaryReq) (res *v1.AdminUsageLogSummaryRes, err error)
|
||||
AdminBillingRecordList(ctx context.Context, req *v1.AdminBillingRecordListReq) (res *v1.AdminBillingRecordListRes, err error)
|
||||
AdminWalletList(ctx context.Context, req *v1.AdminWalletListReq) (res *v1.AdminWalletListRes, err error)
|
||||
AdminWalletInfo(ctx context.Context, req *v1.AdminWalletInfoReq) (res *v1.AdminWalletInfoRes, err error)
|
||||
|
||||
+25
-17
@@ -118,10 +118,8 @@ type AdminDashboardModelHourlyRes struct {
|
||||
|
||||
// === 用量日志 ===
|
||||
|
||||
type AdminUsageLogListReq struct {
|
||||
g.Meta `path:"/usage-logs" method:"get" mime:"json" tags:"管理后台-用量" summary:"用量日志列表"`
|
||||
Page int `json:"page" d:"1" dc:"页码"`
|
||||
PageSize int `json:"page_size" d:"20" v:"between:1,100" dc:"每页数量"`
|
||||
// AdminUsageLogFilter 用量日志共用筛选条件(列表 / 统计汇总 / 导出三个接口共用,保证筛选口径一致)
|
||||
type AdminUsageLogFilter struct {
|
||||
ID int64 `json:"id" dc:"用量记录ID"`
|
||||
TenantID int64 `json:"tenant_id" dc:"租户ID"`
|
||||
UserID int64 `json:"user_id" dc:"用户ID"`
|
||||
@@ -135,6 +133,13 @@ type AdminUsageLogListReq struct {
|
||||
EndDate string `json:"end_date" dc:"结束时间(YYYY-MM-DD 或 YYYY-MM-DD HH:mm:ss)"`
|
||||
}
|
||||
|
||||
type AdminUsageLogListReq struct {
|
||||
g.Meta `path:"/usage-logs" method:"get" mime:"json" tags:"管理后台-用量" summary:"用量日志列表"`
|
||||
Page int `json:"page" d:"1" dc:"页码"`
|
||||
PageSize int `json:"page_size" d:"20" v:"between:1,100" dc:"每页数量"`
|
||||
AdminUsageLogFilter `json:",inline"` // 嵌入共用筛选条件
|
||||
}
|
||||
|
||||
type AdminUsageLogItem struct {
|
||||
Id int64 `json:"id"`
|
||||
TenantId int64 `json:"tenant_id"`
|
||||
@@ -203,6 +208,19 @@ type AdminUsageLogListRes struct {
|
||||
PageSize int `json:"page_size"`
|
||||
}
|
||||
|
||||
// AdminUsageLogSummaryReq 用量日志统计请求(复用筛选条件,不包含分页)
|
||||
type AdminUsageLogSummaryReq struct {
|
||||
g.Meta `path:"/usage-logs/summary" method:"get" mime:"json" tags:"管理后台-用量" summary:"用量日志统计汇总"`
|
||||
AdminUsageLogFilter `json:",inline"` // 嵌入共用筛选条件
|
||||
}
|
||||
|
||||
// AdminUsageLogSummary 用量日志统计汇总
|
||||
type AdminUsageLogSummaryRes struct {
|
||||
TotalCost float64 `json:"total_cost" dc:"总费用(USD)"`
|
||||
TotalOutputTokens int64 `json:"total_output_tokens" dc:"总输出token数"`
|
||||
CacheReadRatio float64 `json:"cache_read_ratio" dc:"缓存读取占比(%)"`
|
||||
}
|
||||
|
||||
// === 计费记录 ===
|
||||
|
||||
type AdminBillingRecordListReq struct {
|
||||
@@ -391,19 +409,9 @@ type AdminWalletSetWarningThresholdRes struct{}
|
||||
|
||||
// AdminUsageLogExportReq 导出用量日志请求
|
||||
type AdminUsageLogExportReq struct {
|
||||
g.Meta `path:"/usage-logs/export" method:"get" mime:"json" tags:"管理后台-用量" summary:"导出用量日志"`
|
||||
Format string `json:"format" in:"query" d:"csv" v:"in:csv,xlsx" dc:"导出格式:csv / xlsx"`
|
||||
ID int64 `json:"id" in:"query" dc:"用量记录ID"`
|
||||
TenantID int64 `json:"tenant_id" in:"query" dc:"租户ID"`
|
||||
UserID int64 `json:"user_id" in:"query" dc:"用户ID"`
|
||||
Username string `json:"username" in:"query" dc:"用户名(模糊匹配)"`
|
||||
ApiKeyID int64 `json:"api_key_id" in:"query" dc:"API Key ID"`
|
||||
ChannelID int64 `json:"channel_id" in:"query" dc:"渠道ID"`
|
||||
Model string `json:"model" in:"query" dc:"模型名称"`
|
||||
Status string `json:"status" in:"query" dc:"状态"`
|
||||
RequestType int `json:"request_type" in:"query" dc:"请求类型: 1=同步, 2=流式, 3=异步, 4=WebSocket"`
|
||||
StartDate string `json:"start_date" in:"query" dc:"开始时间(YYYY-MM-DD 或 YYYY-MM-DD HH:mm:ss)"`
|
||||
EndDate string `json:"end_date" in:"query" dc:"结束时间(YYYY-MM-DD 或 YYYY-MM-DD HH:mm:ss)"`
|
||||
g.Meta `path:"/usage-logs/export" method:"get" mime:"json" tags:"管理后台-用量" summary:"导出用量日志"`
|
||||
Format string `json:"format" in:"query" d:"csv" v:"in:csv,xlsx" dc:"导出格式:csv / xlsx"`
|
||||
AdminUsageLogFilter `json:",inline"` // 嵌入共用筛选条件
|
||||
}
|
||||
|
||||
type AdminUsageLogExportRes struct{}
|
||||
|
||||
Reference in new issue
Block a user