HyfAddPrizeService.cs 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. using System;
  2. using System.Collections.Generic;
  3. using Library;
  4. using LitJson;
  5. using System.Linq;
  6. using System.Threading;
  7. using MySystem.PxcModels;
  8. namespace MySystem
  9. {
  10. public class HyfAddPrizeService
  11. {
  12. public readonly static HyfAddPrizeService Instance = new HyfAddPrizeService();
  13. private HyfAddPrizeService()
  14. { }
  15. public void Start()
  16. {
  17. Thread th = new Thread(StartDo);
  18. th.IsBackground = true;
  19. th.Start();
  20. }
  21. public void StartDo()
  22. {
  23. while(true)
  24. {
  25. try
  26. {
  27. DoSomething();
  28. }
  29. catch(Exception ex)
  30. {
  31. function.WriteLog(DateTime.Now.ToString() + "\r\n" + ex.ToString(), "盒力四射加码奖励异常");
  32. }
  33. Thread.Sleep(600000);
  34. }
  35. }
  36. public void DoSomething()
  37. {
  38. WebCMSEntities db = new WebCMSEntities();
  39. DateTime online = DateTime.Parse("2024-06-25 00:00:00");
  40. DateTime end = DateTime.Parse("2025-01-01 00:00:00");
  41. DateTime leftTime = DateTime.Now.AddDays(-30);
  42. DateTime rightTime = DateTime.Now.AddDays(-7);
  43. if(DateTime.Now > end) return;
  44. IQueryable<PosMachinesTwo> posList = db.PosMachinesTwo.Where(m => m.BindingState == 1 && m.ActivationState == 1 && m.CreditTrade >= 1000 && m.BindingTime >= online && m.BindingTime >= leftTime && m.BindingTime <= rightTime && (m.BrandId == 12 || m.BrandId == 13) && m.Sort == 0);
  45. foreach (PosMachinesTwo pos in posList.ToList())
  46. {
  47. function.WriteLog(str: "机具号:" + pos.PosSn, "盒力四射加码奖励日志");
  48. Users user = db.Users.FirstOrDefault(m => m.Id == pos.BuyUserId);
  49. if (user != null)
  50. {
  51. function.WriteLog("机具所属人:" + user.Id, "盒力四射加码奖励日志");
  52. int GetUserId = user.Id;
  53. AlipayPayBack2Service.Instance.ChangeAccount(db, new Orders(), GetUserId, 50, 150);
  54. PosMachinesTwo edit = db.PosMachinesTwo.FirstOrDefault(m => m.Id == pos.Id);
  55. if(edit != null)
  56. {
  57. edit.Sort = 1;
  58. db.SaveChanges();
  59. }
  60. }
  61. function.WriteLog("\n\n\n", "盒力四射加码奖励日志");
  62. }
  63. db.Dispose();
  64. }
  65. }
  66. }