using EInk.Dtos; using EInk.Models; using EInk.Tools; using Newtonsoft.Json; using SqlSugar; namespace EInk.TaskThread { public class DeleteDBRecordThread { public static int daysago; public DeleteDBRecordThread(int daysago) { DeleteDBRecordThread.daysago = daysago; } public void DeleteThreadStart() { Thread t = new Thread(DeleteTask); t.Start(); } static void DeleteTask() { IConfiguration _configuration = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json", optional: true, reloadOnChange: true).Build(); ISqlSugarClient _db = new SqlSugarClient(new ConnectionConfig() { DbType = DbType.PostgreSQL, ConnectionString = _configuration.GetValue("LocalDbConnectionString"), IsAutoCloseConnection = true }); while (true) { try { int days = DeleteDBRecordThread.daysago; DateTime now = DateTime.Now; if (now.Hour==8 && now.Minute==0) { LogerHelper.RecordLogTxt($"DeleteTask, DeleteLot2Lot3Data Before {now.AddDays(-DeleteDBRecordThread.daysago).ToString()}, {_db.Deleteable().Where(x => x.create_time < now.AddDays(-DeleteDBRecordThread.daysago)).ExecuteCommand()}"); LogerHelper.RecordLogTxt($"DeleteTask, DeleteColourCastData Before {now.AddDays(-DeleteDBRecordThread.daysago).ToString()}, {_db.Deleteable().Where(x => x.create_time < now.AddDays(-DeleteDBRecordThread.daysago)).ExecuteCommand()}"); } } catch (Exception ex) { LogerHelper.RecordLogTxt("DeleteTask," + ex.Message); } finally { Thread.Sleep(1000 * 60); } } } } }