Files
common/log/controller/log_controller.go
2026-03-12 08:51:17 +08:00

77 lines
2.5 KiB
Go

package controller
import (
"context"
"strings"
"gitee.com/red-future---jilin-g/common/beans"
"gitee.com/red-future---jilin-g/common/log/model/dto"
"gitee.com/red-future---jilin-g/common/log/service"
)
type operationLog struct{}
// OperationLog 操作日志控制器
var OperationLog = new(operationLog)
// GetByID 根据ID获取操作日志
// @Summary 获取操作日志详情
// @Description 根据日志ID获取操作日志的详细信息
func (c *operationLog) GetByID(ctx context.Context, req *dto.GetLogReq) (res *dto.GetLogResp, err error) {
logInfo, err := service.OperationLog.GetByID(ctx, req.ID)
if err != nil {
return
}
res = &dto.GetLogResp{
OperationLogInfo: *logInfo,
}
return
}
// List 查询操作日志列表(通用方法,支持根据不同条件动态查询)
// @Summary 查询操作日志列表
// @Description 根据多个条件查询操作日志列表
func (c *operationLog) List(ctx context.Context, req *dto.ListLogsReq) (res *dto.ListLogsResp, err error) {
// 处理排序字段
var sortFields []string
if req.SortFields != "" {
sortFields = strings.Split(req.SortFields, ",")
}
logs, total, err := service.OperationLog.List(ctx, req, sortFields...)
if err != nil {
return
}
res = &dto.ListLogsResp{
Logs: logs,
Total: total,
}
return
}
// RecordCreate 记录创建操作日志
// @Summary 记录创建操作日志
// @Description 记录数据创建操作的行为日志
func (c *operationLog) RecordCreate(ctx context.Context, req *dto.RecordCreateLogReq) (res *beans.ResponseEmpty, err error) {
err = service.OperationLog.RecordCreate(ctx, req.Module, req.Service, req.Resource, req.ResourceID, req.Description, req.AfterData)
return
}
// RecordUpdate 记录更新操作日志
// @Summary 记录更新操作日志
// @Description 记录数据更新操作的行为日志
func (c *operationLog) RecordUpdate(ctx context.Context, req *dto.RecordUpdateLogReq) (res *beans.ResponseEmpty, err error) {
err = service.OperationLog.RecordUpdate(ctx, req.Module, req.Service, req.Resource, req.ResourceID, req.Description, req.BeforeData, req.AfterData)
return
}
// RecordDelete 记录删除操作日志
// @Summary 记录删除操作日志
// @Description 记录数据删除操作的行为日志
func (c *operationLog) RecordDelete(ctx context.Context, req *dto.RecordDeleteLogReq) (res *beans.ResponseEmpty, err error) {
err = service.OperationLog.RecordDelete(ctx, req.Module, req.Service, req.Resource, req.ResourceID, req.Description, req.BeforeData)
return
}