34 lines
798 B
Go
34 lines
798 B
Go
// Filename: internal/handlers/log_handler.go
|
||
package handlers
|
||
|
||
import (
|
||
"gemini-balancer/internal/errors"
|
||
"gemini-balancer/internal/models"
|
||
"gemini-balancer/internal/response"
|
||
"gemini-balancer/internal/service"
|
||
|
||
"github.com/gin-gonic/gin"
|
||
)
|
||
|
||
// LogHandler 负责处理与日志相关的HTTP请求
|
||
type LogHandler struct {
|
||
logService *service.LogService
|
||
}
|
||
|
||
func NewLogHandler(logService *service.LogService) *LogHandler {
|
||
return &LogHandler{logService: logService}
|
||
}
|
||
|
||
func (h *LogHandler) GetLogs(c *gin.Context) {
|
||
// 直接将Gin的上下文传递给Service层,让Service自己去解析查询参数
|
||
logs, err := h.logService.GetLogs(c)
|
||
if err != nil {
|
||
response.Error(c, errors.ErrDatabase)
|
||
return
|
||
}
|
||
if logs == nil {
|
||
logs = []models.RequestLog{}
|
||
}
|
||
response.Success(c, logs)
|
||
}
|