using Infrastructure.Attribute; using ZR.Model; using ZR.Model.Business; using ZR.Model.Business.Dto; using ZR.Repository; using ZR.Service.Business.IBusinessService; namespace ZR.Service.Business { /// /// 审计日志Service业务层处理 /// [AppService(ServiceType = typeof(IOdfAuditLogsService), ServiceLifetime = LifeTime.Transient)] public class OdfAuditLogsService : BaseService, IOdfAuditLogsService { /// /// 分页查询审计日志列表,支持时间范围、操作类型、表名筛选 /// public PagedInfo GetList(OdfAuditLogsQueryDto parm) { var predicate = Expressionable.Create(); predicate = predicate.AndIF(parm.BeginTime != null, it => it.OperationTime >= parm.BeginTime); predicate = predicate.AndIF(parm.EndTime != null, it => it.OperationTime <= parm.EndTime); predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.OperationType), it => it.OperationType == parm.OperationType); predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.TableName), it => it.TableName == parm.TableName); var total = 0; var list = Queryable() .Where(predicate.ToExpression()) .OrderByDescending(it => it.OperationTime) .ToPageList(parm.PageNum, parm.PageSize, ref total); return new PagedInfo { Result = list, TotalNum = total, PageIndex = parm.PageNum, PageSize = parm.PageSize }; } /// /// 写入审计日志记录 /// public int AddLog(OdfAuditLogs log) { log.OperationTime ??= DateTime.Now; return Insert(log); } } }