1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- using Infrastructure;
- using Infrastructure.Attribute;
- using ZR.Infrastructure.Constant;
- using ZR.Infrastructure.Helper;
- using ZR.Model;
- using ZR.Model.System;
- using ZR.Model.System.Dto;
- using ZR.Model.System.Generate;
- using ZR.Repository;
- namespace ZR.ServiceCore.Services
- {
- /// <summary>
- /// 操作日志
- /// </summary>
- [AppService(ServiceType = typeof(ISysOperLogService), ServiceLifetime = LifeTime.Transient)]
- public class SysOperLogService : BaseService<SysOperLog>, ISysOperLogService
- {
- /// <summary>
- /// 新增操作日志操作
- /// </summary>
- /// <param name="operLog">日志对象</param>
- public void InsertOperlog(SysOperLog operLog)
- {
- if (operLog.OperParam != null && operLog.OperParam.Length >= 1000)
- {
- operLog.OperParam = operLog.OperParam[..1000];
- }
- //sysOperLogRepository.AddSysOperLog(operLog);
- Insert(operLog);
- }
- /// <summary>
- /// 查询系统操作日志集合
- /// </summary>
- /// <param name="sysOper">操作日志对象</param>
- /// <returns>操作日志集合</returns>
- public PagedInfo<SysOperLog> SelectOperLogList(SysOperLogQueryDto sysOper)
- {
- var exp = Expressionable.Create<SysOperLog>();
- exp.AndIF(sysOper.BeginTime == null, it => it.OperTime >= DateTime.Now.ToShortDateString().ParseToDateTime());
- exp.AndIF(sysOper.BeginTime != null, it => it.OperTime >= sysOper.BeginTime && it.OperTime <= sysOper.EndTime);
- exp.AndIF(sysOper.Title.IfNotEmpty(), it => it.Title.Contains(sysOper.Title));
- exp.AndIF(sysOper.OperName.IfNotEmpty(), it => it.OperName.Contains(sysOper.OperName));
- exp.AndIF(sysOper.BusinessType != null, it => it.BusinessType == sysOper.BusinessType);
- exp.AndIF(sysOper.Status != null, it => it.Status == sysOper.Status);
- exp.AndIF(sysOper.OperParam != null, it => it.OperParam.Contains(sysOper.OperParam));
- exp.AndIF(sysOper.BusinessTypes != null, it => sysOper.BusinessTypes.Contains(it.BusinessType));
- var list = Queryable()
- .Where(exp.ToExpression())
- .OrderBy(x => x.OperId, OrderByType.Desc)
- .ToPage(sysOper);
- foreach (var item in list.Result)
- {
- if (!HttpContextExtension.HasSensitivePerm(App.HttpContext, SensitivePerms.ViewRealIP))
- {
- item.OperIp = MaskUtil.MaskIp(item.OperIp);
- }
- }
- return list;
- }
- /// <summary>
- /// 清空操作日志
- /// </summary>
- public void CleanOperLog()
- {
- var newTableName = $"sys_oper_log_{DateTime.Now:yyyyMMdd}";
- if (Queryable().Any() && !Context.DbMaintenance.IsAnyTable(newTableName))
- {
- Context.DbMaintenance.BackupTable("sys_oper_log", newTableName);
- }
- Truncate();
- }
- /// <summary>
- /// 批量删除系统操作日志
- /// </summary>
- /// <param name="operIds">需要删除的操作日志ID</param>
- /// <returns>结果</returns>
- public int DeleteOperLogByIds(long[] operIds)
- {
- return Delete(operIds);
- }
- /// <summary>
- /// 查询操作日志详细
- /// </summary>
- /// <param name="operId">操作ID</param>
- /// <returns>操作日志对象</returns>
- public SysOperLog SelectOperLogById(long operId)
- {
- return GetById(operId);
- }
- }
- }
|