using NFine.Code; using NFine.Domain.Entity.SystemSecurity; using NFine.Domain.IRepository.SystemSecurity; using NFine.Repository.SystemSecurity; using System; using System.Collections.Generic; namespace NFine.Application.SystemSecurity { public class LogApp { private ILogRepository service = new LogRepository(); public List GetList(Pagination pagination, string queryJson) { var expression = ExtLinq.True(); var queryParam = queryJson.ToJObject(); if (!queryParam["keyword"].IsEmpty()) { string keyword = queryParam["keyword"].ToString(); expression = expression.And(t => t.F_Account.Contains(keyword)); } if (!queryParam["timeType"].IsEmpty()) { string timeType = queryParam["timeType"].ToString(); DateTime startTime = DateTime.Now.ToString("yyyy-MM-dd").ToDate(); DateTime endTime = DateTime.Now.ToString("yyyy-MM-dd").ToDate().AddDays(1); switch (timeType) { case "1": break; case "2": startTime = DateTime.Now.AddDays(-7); break; case "3": startTime = DateTime.Now.AddMonths(-1); break; case "4": startTime = DateTime.Now.AddMonths(-3); break; default: break; } expression = expression.And(t => t.F_Date >= startTime && t.F_Date <= endTime); } return service.FindList(expression, pagination); } public void RemoveLog(string keepTime) { DateTime operateTime = DateTime.Now; if (keepTime == "7") //保留近一周 { operateTime = DateTime.Now.AddDays(-7); } else if (keepTime == "1") //保留近一个月 { operateTime = DateTime.Now.AddMonths(-1); } else if (keepTime == "3") //保留近三个月 { operateTime = DateTime.Now.AddMonths(-3); } var expression = ExtLinq.True(); expression = expression.And(t => t.F_Date <= operateTime); service.Delete(expression); } public void WriteDbLog(bool result, string resultLog) { LogEntity logEntity = new LogEntity(); logEntity.F_Id = Common.GuId(); logEntity.F_Date = DateTime.Now; logEntity.F_Account = OperatorProvider.Provider.GetCurrent().UserCode; logEntity.F_NickName = OperatorProvider.Provider.GetCurrent().UserName; logEntity.F_IPAddress = Net.Ip; logEntity.F_IPAddressName = Net.GetLocation(logEntity.F_IPAddress); logEntity.F_Result = result; logEntity.F_Description = resultLog; logEntity.Create(); service.Insert(logEntity); } public void WriteDbLog(LogEntity logEntity) { logEntity.F_Id = Common.GuId(); logEntity.F_Date = DateTime.Now; logEntity.F_IPAddress = "117.81.192.182"; logEntity.F_IPAddressName = Net.GetLocation(logEntity.F_IPAddress); logEntity.Create(); service.Insert(logEntity); } } }