DeleteDBRecordThread.cs 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. using EInk.Dtos;
  2. using EInk.Models;
  3. using EInk.Tools;
  4. using Newtonsoft.Json;
  5. using SqlSugar;
  6. namespace EInk.TaskThread
  7. {
  8. public class DeleteDBRecordThread
  9. {
  10. public static int daysago;
  11. public DeleteDBRecordThread(int daysago)
  12. {
  13. DeleteDBRecordThread.daysago = daysago;
  14. }
  15. public void DeleteThreadStart()
  16. {
  17. Thread t = new Thread(DeleteTask);
  18. t.Start();
  19. }
  20. static void DeleteTask()
  21. {
  22. IConfiguration _configuration = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json", optional: true, reloadOnChange: true).Build();
  23. ISqlSugarClient _db = new SqlSugarClient(new ConnectionConfig()
  24. {
  25. DbType = DbType.PostgreSQL,
  26. ConnectionString = _configuration.GetValue<string>("LocalDbConnectionString"),
  27. IsAutoCloseConnection = true
  28. });
  29. while (true)
  30. {
  31. try
  32. {
  33. int days = DeleteDBRecordThread.daysago;
  34. DateTime now = DateTime.Now;
  35. if (now.Hour==8 && now.Minute==0)
  36. {
  37. LogerHelper.RecordLogTxt($"DeleteTask, DeleteLot2Lot3Data Before {now.AddDays(-DeleteDBRecordThread.daysago).ToString()}, {_db.Deleteable<Lot2Lot3Model>().Where(x => x.create_time < now.AddDays(-DeleteDBRecordThread.daysago)).ExecuteCommand()}");
  38. LogerHelper.RecordLogTxt($"DeleteTask, DeleteColourCastData Before {now.AddDays(-DeleteDBRecordThread.daysago).ToString()}, {_db.Deleteable<ColourCastModel>().Where(x => x.create_time < now.AddDays(-DeleteDBRecordThread.daysago)).ExecuteCommand()}");
  39. }
  40. }
  41. catch (Exception ex)
  42. {
  43. LogerHelper.RecordLogTxt("DeleteTask," + ex.Message);
  44. }
  45. finally
  46. {
  47. Thread.Sleep(1000 * 60);
  48. }
  49. }
  50. }
  51. }
  52. }