From be874c330f444dc11961c1ef3b792d86a612d263 Mon Sep 17 00:00:00 2001 From: MartialBE Date: Wed, 15 May 2024 15:16:43 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=96=20chore:=20logs=20list=20displays?= =?UTF-8?q?=20channel=20name.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- model/log.go | 20 ++++++++++++-------- web/src/views/Log/component/TableRow.js | 2 +- web/src/views/Log/component/TableToolBar.js | 8 ++++---- web/src/views/Log/index.js | 4 ++-- 4 files changed, 19 insertions(+), 15 deletions(-) diff --git a/model/log.go b/model/log.go index 83c9a647..20a55ac7 100644 --- a/model/log.go +++ b/model/log.go @@ -20,8 +20,10 @@ type Log struct { Quota int `json:"quota" gorm:"default:0"` PromptTokens int `json:"prompt_tokens" gorm:"default:0"` CompletionTokens int `json:"completion_tokens" gorm:"default:0"` - ChannelId int `json:"channel" gorm:"index"` + ChannelId int `json:"channel_id" gorm:"index"` RequestTime int `json:"request_time" gorm:"default:0"` + + Channel *Channel `json:"channel" gorm:"foreignKey:Id;references:ChannelId"` } const ( @@ -82,7 +84,7 @@ type LogsListParams struct { ModelName string `form:"model_name"` Username string `form:"username"` TokenName string `form:"token_name"` - Channel int `form:"channel"` + ChannelId int `form:"channel_id"` } var allowedLogsOrderFields = map[string]bool{ @@ -98,10 +100,12 @@ func GetLogsList(params *LogsListParams) (*DataResult[Log], error) { var tx *gorm.DB var logs []*Log - if params.LogType == LogTypeUnknown { - tx = DB - } else { - tx = DB.Where("type = ?", params.LogType) + tx = DB.Preload("Channel", func(db *gorm.DB) *gorm.DB { + return db.Select("id, name") + }) + + if params.LogType != LogTypeUnknown { + tx = tx.Where("type = ?", params.LogType) } if params.ModelName != "" { tx = tx.Where("model_name = ?", params.ModelName) @@ -118,8 +122,8 @@ func GetLogsList(params *LogsListParams) (*DataResult[Log], error) { if params.EndTimestamp != 0 { tx = tx.Where("created_at <= ?", params.EndTimestamp) } - if params.Channel != 0 { - tx = tx.Where("channel_id = ?", params.Channel) + if params.ChannelId != 0 { + tx = tx.Where("channel_id = ?", params.ChannelId) } return PaginateAndOrder[Log](tx, ¶ms.PaginationParams, &logs, allowedLogsOrderFields) diff --git a/web/src/views/Log/component/TableRow.js b/web/src/views/Log/component/TableRow.js index 08fc99c6..3ba20bfb 100644 --- a/web/src/views/Log/component/TableRow.js +++ b/web/src/views/Log/component/TableRow.js @@ -70,7 +70,7 @@ export default function LogTableRow({ item, userIsAdmin }) { {timestamp2string(item.created_at)} - {userIsAdmin && {item.channel || ''}} + {userIsAdmin && {(item.channel_id || '') + '(' + (item.channel?.name || '未知') + ')'}} {userIsAdmin && (