feat():learning后台管理项目初始化
This commit is contained in:
73
internal/api/handlers/audit_log_handler.go
Normal file
73
internal/api/handlers/audit_log_handler.go
Normal file
@@ -0,0 +1,73 @@
|
||||
package handlers
|
||||
|
||||
import (
|
||||
"goalfymax-admin/internal/models"
|
||||
"goalfymax-admin/internal/services"
|
||||
"goalfymax-admin/pkg/utils"
|
||||
"strconv"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
// AuditLogHandler 审计日志处理器
|
||||
type AuditLogHandler struct {
|
||||
service services.AuditLogService
|
||||
response *utils.Response
|
||||
}
|
||||
|
||||
// NewAuditLogHandler 创建审计日志处理器
|
||||
func NewAuditLogHandler(service services.AuditLogService) *AuditLogHandler {
|
||||
return &AuditLogHandler{
|
||||
service: service,
|
||||
response: utils.NewResponse(),
|
||||
}
|
||||
}
|
||||
|
||||
// List 获取审计日志列表
|
||||
func (h *AuditLogHandler) List(c *gin.Context) {
|
||||
var req models.AuditLogListRequest
|
||||
if err := c.ShouldBindQuery(&req); err != nil {
|
||||
h.response.ValidateError(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
// 设置默认值
|
||||
if req.Page < 1 {
|
||||
req.Page = 1
|
||||
}
|
||||
if req.Size < 1 {
|
||||
req.Size = 20
|
||||
}
|
||||
if req.SortBy == "" {
|
||||
req.SortBy = "operation_time"
|
||||
}
|
||||
if req.SortOrder == "" {
|
||||
req.SortOrder = "desc"
|
||||
}
|
||||
|
||||
result, err := h.service.List(&req)
|
||||
if err != nil {
|
||||
h.response.InternalServerError(c, err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
h.response.Success(c, result)
|
||||
}
|
||||
|
||||
// GetByID 获取审计日志详情
|
||||
func (h *AuditLogHandler) GetByID(c *gin.Context) {
|
||||
idStr := c.Param("id")
|
||||
id, err := strconv.ParseUint(idStr, 10, 32)
|
||||
if err != nil {
|
||||
h.response.BadRequest(c, "无效的ID")
|
||||
return
|
||||
}
|
||||
|
||||
log, err := h.service.GetByID(uint(id))
|
||||
if err != nil {
|
||||
h.response.InternalServerError(c, err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
h.response.Success(c, log)
|
||||
}
|
||||
Reference in New Issue
Block a user