// Code scaffolded by goctl. Safe to edit. // goctl 1.10.2 package systemlog import ( "context" "udeServer/internal/apierr" "udeServer/internal/audit" "udeServer/internal/log" udeModel "udeServer/internal/model" "udeServer/internal/svc" "udeServer/internal/types" "github.com/zeromicro/go-zero/core/logx" ) type LogRestoreListLogic struct { logx.Logger ctx context.Context svcCtx *svc.ServiceContext } // 恢复记录列表 func NewLogRestoreListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *LogRestoreListLogic { return &LogRestoreListLogic{ Logger: logx.WithContext(ctx), ctx: ctx, svcCtx: svcCtx, } } // LogRestoreList pages the restore records with optional filters. func (l *LogRestoreListLogic) LogRestoreList(req *types.LogRestoreListReq) (*types.LogRestoreListResp, error) { page, pageSize := normalizePage(req.Page, req.PageSize) f := udeModel.LogRestoreFilter{ RestoreMessage: req.RestoreMessage, } // 恢复状态:1成功/2失败/3恢复中,非法取值视为不传(与 sdf 行为一致) switch req.RestoreStatus { case audit.RestoreSuccess, audit.RestoreFail, audit.RestoreProcessing: f.RestoreStatus = req.RestoreStatus } list, total, err := l.svcCtx.LogRestoreRecordModel.FindPage(l.ctx, page, pageSize, f) if err != nil { log.RecordError(l.ctx, err) return nil, apierr.New(500, "查询恢复记录列表失败") } logRestores := make([]types.LogRestore, len(list)) for i := range list { logRestores[i] = ConvertToLogRestore(&list[i]) } return &types.LogRestoreListResp{ Total: total, LogRestores: logRestores, }, nil }