DeleteDBRecordThread.cs 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  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. private readonly ISqlSugarClient _db;
  11. private static int daysago;
  12. public DeleteDBRecordThread(ISqlSugarClient db, int daysago)
  13. {
  14. _db = db;
  15. DeleteDBRecordThread.daysago = daysago;
  16. }
  17. public void DeleteThreadStart()
  18. {
  19. Thread t = new Thread(DeleteTask);
  20. t.Start(_db);
  21. }
  22. static void DeleteTask(object db)
  23. {
  24. ISqlSugarClient _db = (ISqlSugarClient)db;
  25. while (true)
  26. {
  27. try
  28. {
  29. int days = DeleteDBRecordThread.daysago;
  30. DateTime now = DateTime.Now;
  31. if (now.Hour==8 && now.Minute==0)
  32. {
  33. _db.Deleteable<Lot2Lot3Model>().Where(x => x.create_time < now.AddDays(DeleteDBRecordThread.daysago)).ExecuteCommand();
  34. _db.Deleteable<ColourCastModel>().Where(x => x.create_time < now.AddDays(DeleteDBRecordThread.daysago)).ExecuteCommand();
  35. LogerHelper.RecordLogTxt("DeleteTask");
  36. }
  37. }
  38. catch (Exception ex)
  39. {
  40. LogerHelper.RecordLogTxt("DeleteTask," + ex.Message);
  41. }
  42. finally
  43. {
  44. Thread.Sleep(1000 * 60);
  45. }
  46. }
  47. }
  48. }
  49. }