77 lines
2.5 KiB
Go
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
|
|
}
|