124 lines
4.4 KiB
C#
124 lines
4.4 KiB
C#
using DH.RBAC.Model.Sys;
|
|
using DH.RBAC.Logic.Base;
|
|
using SqlSugar;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using DH.RBAC.Utility.Other;
|
|
|
|
|
|
namespace DH.RBAC.Logic.Sys
|
|
{
|
|
/// <summary>
|
|
/// 系统日志表数据访问
|
|
/// </summary>
|
|
public class SysLogLogic : BaseLogic
|
|
{
|
|
|
|
/// <summary>
|
|
/// 根据日志类型获得日志
|
|
/// </summary>
|
|
/// <param name="pageIndex"></param>
|
|
/// <param name="pageSize"></param>
|
|
/// <param name="type"></param>
|
|
/// <param name="index"></param>
|
|
/// <param name="keyWord"></param>
|
|
/// <param name="totalCount"></param>
|
|
/// <returns></returns>
|
|
public List<SysLog> GetList(int pageIndex, int pageSize, string type, string index, string keyWord, ref int totalCount)
|
|
{
|
|
using (var db = GetInstance())
|
|
{
|
|
ISugarQueryable<SysLog> query = db.Queryable<SysLog>().Where(it => it.Type == type);
|
|
if (!keyWord.IsNullOrEmpty())
|
|
{
|
|
query = query.Where(it => it.Message.Contains(keyWord));
|
|
}
|
|
//查询当日
|
|
if (index == "1")
|
|
{
|
|
DateTime today = DateTime.Today;
|
|
DateTime startTime = today;
|
|
DateTime endTime = today.AddDays(1);
|
|
query = query.Where(it => it.CreateTime >= startTime && it.CreateTime < endTime);
|
|
}
|
|
//近7天
|
|
else if (index == "2")
|
|
{
|
|
DateTime today = DateTime.Today;
|
|
DateTime startTime = today.AddDays(-6);
|
|
DateTime endTime = today.AddDays(1);
|
|
query = query.Where(it => it.CreateTime >= startTime && it.CreateTime < endTime);
|
|
}
|
|
//近1月
|
|
else if (index == "3")
|
|
{
|
|
DateTime today = DateTime.Today;
|
|
DateTime startTime = today.AddDays(-29);
|
|
DateTime endTime = today.AddDays(1);
|
|
query = query.Where(it => it.CreateTime >= startTime && it.CreateTime < endTime);
|
|
}
|
|
//近3月
|
|
else if (index == "4")
|
|
{
|
|
DateTime today = DateTime.Today;
|
|
DateTime startTime = today.AddDays(-91);
|
|
DateTime endTime = today.AddDays(1);
|
|
query = query.Where(it => it.CreateTime >= startTime && it.CreateTime < endTime);
|
|
}
|
|
return query.OrderBy(it => it.Id, OrderByType.Desc).ToPageList(pageIndex, pageSize, ref totalCount);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// 删除日志
|
|
/// </summary>
|
|
/// <param name="type"></param>
|
|
/// <param name="index"></param>
|
|
/// <returns></returns>
|
|
public int Delete(string type, string index)
|
|
{
|
|
using (var db = GetInstance())
|
|
{
|
|
IDeleteable<SysLog> query = db.Deleteable<SysLog>().Where(it => it.Type == type);
|
|
//保留一个月
|
|
if (index == "1")
|
|
{
|
|
DateTime today = DateTime.Today;
|
|
DateTime startTime = today;
|
|
DateTime endTime = today.AddDays(-29);
|
|
query = query.Where(it => it.CreateTime < endTime);
|
|
return query.ExecuteCommand();
|
|
}
|
|
//保留7天
|
|
else if (index == "2")
|
|
{
|
|
DateTime today = DateTime.Today;
|
|
DateTime startTime = today.AddDays(-6);
|
|
query = query.Where(it => it.CreateTime < startTime);
|
|
return query.ExecuteCommand();
|
|
}
|
|
//保留近3个月
|
|
else if (index == "3")
|
|
{
|
|
DateTime today = DateTime.Today;
|
|
DateTime startTime = today.AddDays(-92);
|
|
query = query.Where(it => it.CreateTime < startTime);
|
|
return query.ExecuteCommand();
|
|
}
|
|
//全部
|
|
else if (index == "4")
|
|
{
|
|
return query.ExecuteCommand();
|
|
}
|
|
else
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|