[优化] 添加访问日志汇总功能,更新相关数据结构和测试用例

This commit is contained in:
ryan
2026-03-15 14:19:21 +08:00
parent 25004fefae
commit 5bb25d2203
5 changed files with 149 additions and 24 deletions
+20
View File
@@ -31,3 +31,23 @@ func ListNodeAccessLogs(nodeID string, since time.Time, offset int, limit int) (
err = query.Find(&logs).Error
return logs, err
}
func CountNodeAccessLogs(nodeID string, since time.Time) (totalRecords int64, totalIPs int64, err error) {
query := DB.Model(&NodeAccessLog{})
if nodeID != "" {
query = query.Where("node_id = ?", nodeID)
}
if !since.IsZero() {
query = query.Where("logged_at >= ?", since)
}
if err = query.Count(&totalRecords).Error; err != nil {
return 0, 0, err
}
if err = query.
Where("remote_addr <> ''").
Distinct("remote_addr").
Count(&totalIPs).Error; err != nil {
return 0, 0, err
}
return totalRecords, totalIPs, nil
}