using SiNan.Common.Log; using SiNan.Common.Models; using SiNan.Model.Db; using Yitter.IdGenerator; namespace SiNan.Business { public class AutoTaskBusiness : BaseBusiness, IDenpendency { public AutoTaskBusiness(IFreeSql fsql, NLogManager nLogManager, IIdGenerator idGenerator) : base(fsql, nLogManager, idGenerator) { } public void ClearHistoryData() { var timeOutDate = DateTime.Now.Date.AddDays(-40); var campaignList = fsql.Select().Where(c => c.Date <= timeOutDate).ToList(); var adGroupList = fsql.Select().Where(adg => adg.Date <= timeOutDate).ToList(); var adSkuList = fsql.Select().Where(ads => ads.Date <= timeOutDate).ToList(); var orderPopRelationList = fsql.Select().Where(x => x.CreateTime <= timeOutDate).ToList(); var deleteCampaignIdList = campaignList.Select(x => x.Id).ToList(); var deleteAdGroupIdList = adGroupList.Select(x => x.Id).ToList(); var deleteAdSkuIdList = adSkuList.Select(x => x.Id).ToList(); var deleteOrderPopRelationIdList = orderPopRelationList.Select(x => x.Id).ToList(); fsql.Transaction(() => { fsql.Insert(campaignList).ExecuteAffrows(); fsql.Insert(adGroupList).ExecuteAffrows(); fsql.Insert(adSkuList).ExecuteAffrows(); fsql.Insert(orderPopRelationList).ExecuteAffrows(); fsql.Delete(deleteCampaignIdList).ExecuteAffrows(); fsql.Delete(deleteAdGroupIdList).ExecuteAffrows(); fsql.Delete(deleteAdSkuIdList).ExecuteAffrows(); fsql.Delete(deleteOrderPopRelationIdList).ExecuteAffrows(); }); } } }