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 }