初始化
This commit is contained in:
76
server/controller/log_controller.go
Normal file
76
server/controller/log_controller.go
Normal file
@@ -0,0 +1,76 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"strconv"
|
||||
|
||||
"seeyon-filesystem/dto"
|
||||
"seeyon-filesystem/service"
|
||||
"seeyon-filesystem/utils"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
// LogController 日志控制器
|
||||
type LogController struct {
|
||||
logService *service.LogService
|
||||
}
|
||||
|
||||
func NewLogController() *LogController {
|
||||
return &LogController{
|
||||
logService: service.NewLogService(),
|
||||
}
|
||||
}
|
||||
|
||||
// List 查询操作日志
|
||||
// GET /api/admin/logs?page=1&size=20&action=upload&resource=file&keyword=xxx
|
||||
func (c *LogController) List(ctx *gin.Context) {
|
||||
page, _ := strconv.Atoi(ctx.DefaultQuery("page", "1"))
|
||||
size, _ := strconv.Atoi(ctx.DefaultQuery("size", "20"))
|
||||
if page < 1 {
|
||||
page = 1
|
||||
}
|
||||
if size < 1 || size > 100 {
|
||||
size = 20
|
||||
}
|
||||
|
||||
action := ctx.Query("action")
|
||||
resource := ctx.Query("resource")
|
||||
keyword := ctx.Query("keyword")
|
||||
|
||||
logs, total, err := c.logService.List(page, size, action, resource, keyword, 0)
|
||||
if err != nil {
|
||||
utils.ServerError(ctx, "查询失败")
|
||||
return
|
||||
}
|
||||
|
||||
utils.PageSuccess(ctx, logs, total, page, size)
|
||||
}
|
||||
|
||||
// Stats 日志统计
|
||||
// GET /api/admin/logs/stats
|
||||
func (c *LogController) Stats(ctx *gin.Context) {
|
||||
stats, err := c.logService.GetStats()
|
||||
if err != nil {
|
||||
utils.ServerError(ctx, "查询失败")
|
||||
return
|
||||
}
|
||||
utils.Success(ctx, stats)
|
||||
}
|
||||
|
||||
// Clean 清理旧日志
|
||||
// POST /api/admin/logs/clean
|
||||
func (c *LogController) Clean(ctx *gin.Context) {
|
||||
var req dto.LogCleanRequest
|
||||
if err := ctx.ShouldBindJSON(&req); err != nil {
|
||||
utils.BadRequest(ctx, "参数错误")
|
||||
return
|
||||
}
|
||||
|
||||
count, err := c.logService.CleanOld(req.Days)
|
||||
if err != nil {
|
||||
utils.ServerError(ctx, "清理失败")
|
||||
return
|
||||
}
|
||||
|
||||
utils.SuccessWithMessage(ctx, "清理完成", gin.H{"deleted": count})
|
||||
}
|
||||
Reference in New Issue
Block a user