Browse Source

增加数据推送开关

lcl 1 month ago
parent
commit
ef7b533e79

+ 2 - 1
AppStart/Helper/SycnSpServer/SycnSpActiveService.cs

@@ -27,6 +27,7 @@ namespace MySystem
             {
                 try
                 {
+                    List<string> SaveDataBindIds = Utils.Instance.SaveDataBindIds();
                     WebCMSEntities spdb = new WebCMSEntities();
                     PxcModels.WebCMSEntities db = new PxcModels.WebCMSEntities();
                     MpMainModels2.WebCMSEntities mpdb = new MpMainModels2.WebCMSEntities();
@@ -36,7 +37,7 @@ namespace MySystem
                     DateTime start = DateTime.Now.AddDays(-30);
                     DateTime end = DateTime.Now.AddMinutes(-1);
                     int StartId = int.Parse(function.CheckInt(function.ReadInstance("/SycnSp/ActivateRecordId.txt")));
-                    IQueryable<ActivateRecord> acts = spdb.ActivateRecord.Where(m => m.Id >= StartId && m.CreateDate >= start && m.CreateDate < end && m.Status == 1).OrderByDescending(m => m.Id).Take(20);
+                    IQueryable<ActivateRecord> acts = spdb.ActivateRecord.Where(m => m.Id >= StartId && m.CreateDate >= start && m.CreateDate < end && SaveDataBindIds.Contains(m.ProductType) && m.Status == 1).OrderByDescending(m => m.Id).Take(20);
                     foreach (ActivateRecord act in acts.ToList())
                     {
                         PosPushDataNewHelper.Deposit(act);

+ 4 - 2
AppStart/Helper/SycnSpServer/SycnSpBindService.cs

@@ -30,11 +30,12 @@ namespace MySystem
                     List<string> BrandIds = new List<string>();
                     BrandIds.Add("14");
                     BrandIds.Add("17");
+                    List<string> SaveDataBindIds = Utils.Instance.SaveDataBindIds();
                     WebCMSEntities spdb = new WebCMSEntities();
                     PxcModels.WebCMSEntities db = new PxcModels.WebCMSEntities();
                     DateTime start = DateTime.Now.AddDays(-60);
                     int StartId = int.Parse(function.CheckInt(function.ReadInstance("/SycnSp/BindRecordId.txt")));
-                    var Binds = spdb.BindRecord.Where(m => m.Id >= StartId && m.CreateTime >= start && !BrandIds.Contains(m.ProductType) && m.Status == 1).OrderByDescending(m => m.Id).Take(20).ToList();
+                    var Binds = spdb.BindRecord.Where(m => m.Id >= StartId && m.CreateTime >= start && !BrandIds.Contains(m.ProductType) && SaveDataBindIds.Contains(m.ProductType) && m.Status == 1).OrderByDescending(m => m.Id).Take(20).ToList();
                     foreach (var Bind in Binds)
                     {
                         var tran = db.Database.BeginTransaction();
@@ -117,11 +118,12 @@ namespace MySystem
             {
                 try
                 {
+                    List<string> SaveDataBindIds = Utils.Instance.SaveDataBindIds();
                     WebCMSEntities spdb = new WebCMSEntities();
                     PxcModels.WebCMSEntities db = new PxcModels.WebCMSEntities();
                     DateTime start = DateTime.Now.AddDays(-365);
                     int StartId = int.Parse(function.CheckInt(function.ReadInstance("/SycnSp/BindRecordId.txt")));
-                    var Binds = spdb.BindRecord.Where(m => m.Id >= StartId && m.CreateTime >= start && m.ProductType == "14" && m.Status == 1).OrderByDescending(m => m.Id).Take(20).ToList();
+                    var Binds = spdb.BindRecord.Where(m => m.Id >= StartId && m.CreateTime >= start && m.ProductType == "14" && SaveDataBindIds.Contains(m.ProductType) && m.Status == 1).OrderByDescending(m => m.Id).Take(20).ToList();
                     foreach (var Bind in Binds)
                     {
                         try

+ 2 - 1
AppStart/Helper/SycnSpServer/SycnSpBindZkbService.cs

@@ -29,11 +29,12 @@ namespace MySystem
                 {
                     List<string> BrandIds = new List<string>();
                     BrandIds.Add("17");
+                    List<string> SaveDataBindIds = Utils.Instance.SaveDataBindIds();
                     WebCMSEntities spdb = new WebCMSEntities();
                     PxcModels.WebCMSEntities db = new PxcModels.WebCMSEntities();
                     DateTime start = DateTime.Now.AddDays(-30);
                     int StartId = int.Parse(function.CheckInt(function.ReadInstance("/SycnSp/BindRecordId.txt")));
-                    var Binds = spdb.BindRecord.Where(m => m.Id >= StartId && m.CreateTime >= start && BrandIds.Contains(m.ProductType) && m.Status == 1).OrderByDescending(m => m.Id).Take(20).ToList();
+                    var Binds = spdb.BindRecord.Where(m => m.Id >= StartId && m.CreateTime >= start && BrandIds.Contains(m.ProductType) && SaveDataBindIds.Contains(m.ProductType) && m.Status == 1).OrderByDescending(m => m.Id).Take(20).ToList();
                     foreach (var Bind in Binds)
                     {
                         var tran = db.Database.BeginTransaction();

+ 2 - 1
AppStart/Helper/SycnSpServer/SycnSpChangeBindService.cs

@@ -27,10 +27,11 @@ namespace MySystem
             {
                 try
                 {
+                    List<string> SaveDataBindIds = Utils.Instance.SaveDataBindIds();
                     WebCMSEntities spdb = new WebCMSEntities();
                     PxcModels.WebCMSEntities db = new PxcModels.WebCMSEntities();
                     DateTime start = DateTime.Now.AddDays(-30);
-                    List<ChangeBindRecord> Binds = spdb.ChangeBindRecord.Where(m => m.ReBindTime >= start && m.Status == 1).OrderByDescending(m => m.Id).ToList();
+                    List<ChangeBindRecord> Binds = spdb.ChangeBindRecord.Where(m => m.ReBindTime >= start && SaveDataBindIds.Contains(m.ProductType) && m.Status == 1).OrderByDescending(m => m.Id).ToList();
                     foreach (ChangeBindRecord Bind in Binds)
                     {
                         var tran = db.Database.BeginTransaction();

+ 2 - 1
AppStart/Helper/SycnSpServer/SycnSpMerchantRecordService.cs

@@ -27,11 +27,12 @@ namespace MySystem
             {
                 try
                 {
+                    List<string> SaveDataBindIds = Utils.Instance.SaveDataBindIds();
                     WebCMSEntities spdb = new WebCMSEntities();
                     PxcModels.WebCMSEntities db = new PxcModels.WebCMSEntities();
                     DateTime start = DateTime.Now.AddDays(-30);
                     int StartId = int.Parse(function.CheckInt(function.ReadInstance("/SycnSp/MerchantRecordId.txt")));
-                    var Mers = spdb.MerchantRecord.Where(m => m.Id >= StartId && m.CreateTime >= start && m.Status == 1 && (m.ProductType == "12" || m.ProductType == "30")).OrderByDescending(m => m.Id).Take(10).ToList();
+                    var Mers = spdb.MerchantRecord.Where(m => m.Id >= StartId && m.CreateTime >= start && m.Status == 1 && (m.ProductType == "12" || m.ProductType == "30") && SaveDataBindIds.Contains(m.ProductType)).OrderByDescending(m => m.Id).Take(10).ToList();
                     foreach (var Mer in Mers)
                     {
                         var tran = db.Database.BeginTransaction();

+ 4 - 2
AppStart/Helper/SycnSpServer/SycnSpMerchantService.cs

@@ -27,12 +27,13 @@ namespace MySystem
             {
                 try
                 {
+                    List<string> SaveDataBindIds = Utils.Instance.SaveDataBindIds();
                     WebCMSEntities spdb = new WebCMSEntities();
                     PxcModels.WebCMSEntities db = new PxcModels.WebCMSEntities();
                     DateTime start = DateTime.Now.AddDays(-100);
                     DateTime end = DateTime.Now.AddMinutes(-2);
                     int StartId = int.Parse(function.CheckInt(function.ReadInstance("/SycnSp/MerchantsId.txt")));
-                    var Mers = spdb.Merchants.Where(m => m.Id >= StartId && m.CreateTime >= start && m.CreateTime <= end && m.Status == 1 && m.ProductType != "14").OrderByDescending(m => m.Id).Take(20).ToList();
+                    var Mers = spdb.Merchants.Where(m => m.Id >= StartId && m.CreateTime >= start && m.CreateTime <= end && m.Status == 1 && m.ProductType != "14" && SaveDataBindIds.Contains(m.ProductType)).OrderByDescending(m => m.Id).Take(20).ToList();
                     // var Mers = spdb.Merchants.Where(m => m.Id == 765841).ToList();
                     foreach (var Mer in Mers)
                     {
@@ -172,12 +173,13 @@ namespace MySystem
             {
                 try
                 {
+                    List<string> SaveDataBindIds = Utils.Instance.SaveDataBindIds();
                     WebCMSEntities spdb = new WebCMSEntities();
                     PxcModels.WebCMSEntities db = new PxcModels.WebCMSEntities();
                     DateTime start = DateTime.Now.AddDays(-365);
                     DateTime end = DateTime.Now.AddMinutes(-2);
                     int StartId = 400000;
-                    var Mers = spdb.Merchants.Where(m => m.Id >= StartId && m.CreateTime >= start && m.CreateTime <= end && m.Status == 1 && m.ProductType == "14").OrderByDescending(m => m.Id).Take(20).ToList();
+                    var Mers = spdb.Merchants.Where(m => m.Id >= StartId && m.CreateTime >= start && m.CreateTime <= end && m.Status == 1 && m.ProductType == "14" && SaveDataBindIds.Contains(m.ProductType)).OrderByDescending(m => m.Id).Take(20).ToList();
                     foreach (var Mer in Mers)
                     {
                         var tran = db.Database.BeginTransaction();

+ 6 - 3
AppStart/Helper/SycnSpServer/SycnSpTradeService.cs

@@ -35,13 +35,14 @@ namespace MySystem
                     BrandIds.Add("25");
                     BrandIds.Add("26");
                     BrandIds.Add("32");
+                    List<string> SaveDataBindIds = Utils.Instance.SaveDataBindIds();
                     WebCMSEntities spdb = new WebCMSEntities();
                     PxcModels.WebCMSEntities db = new PxcModels.WebCMSEntities();
                     JavaProductModels.WebCMSEntities pdb = new JavaProductModels.WebCMSEntities();
                     DateTime start = DateTime.Now.AddDays(-60);
                     DateTime end = DateTime.Now.AddMinutes(-3);
                     int StartId = int.Parse(function.CheckInt(function.ReadInstance("/SycnSp/TradeRecordId.txt")));
-                    IQueryable<TradeRecord> trades = spdb.TradeRecord.Where(m => m.Id >= StartId && !BrandIds.Contains(m.ProductType) && m.CreateDate >= start && m.Status == 1).OrderBy(m => m.CreateDate).Take(20);
+                    IQueryable<TradeRecord> trades = spdb.TradeRecord.Where(m => m.Id >= StartId && !BrandIds.Contains(m.ProductType) && SaveDataBindIds.Contains(m.ProductType) && m.CreateDate >= start && m.Status == 1).OrderBy(m => m.CreateDate).Take(20);
                     foreach (TradeRecord trade in trades.ToList())
                     {
                         DoQueueTrade(db, pdb, trade);
@@ -210,11 +211,12 @@ namespace MySystem
             {
                 try
                 {
+                    List<string> SaveDataBindIds = Utils.Instance.SaveDataBindIds();
                     WebCMSEntities spdb = new WebCMSEntities();
                     PxcModels.WebCMSEntities db = new PxcModels.WebCMSEntities();
                     DateTime start = DateTime.Now.AddDays(-40);
                     int StartId = int.Parse(function.CheckInt(function.ReadInstance("/SycnSp/TradeRecordId.txt")));
-                    IQueryable<TradeRecord> trades = spdb.TradeRecord.Where(m => m.Id >= StartId && m.ProductType == "14" && m.CreateDate >= start && m.Status == 1).OrderBy(m => m.CreateDate).Take(20);
+                    IQueryable<TradeRecord> trades = spdb.TradeRecord.Where(m => m.Id >= StartId && m.ProductType == "14" && SaveDataBindIds.Contains(m.ProductType) && m.CreateDate >= start && m.Status == 1).OrderBy(m => m.CreateDate).Take(20);
                     foreach (TradeRecord trade in trades.ToList())
                     {
                         PosPushDataNewHelper.Trade(trade);
@@ -259,12 +261,13 @@ namespace MySystem
             {
                 try
                 {
+                    List<string> SaveDataBindIds = Utils.Instance.SaveDataBindIds();
                     PxcModels.WebCMSEntities db = new PxcModels.WebCMSEntities();
                     WebCMSEntities spdb = new WebCMSEntities();
                     DateTime start = DateTime.Now.AddDays(-10);
                     DateTime end = DateTime.Now.AddMinutes(-10);
                     int StartId = int.Parse(function.CheckInt(function.ReadInstance("/SycnSp/TradeRecordId.txt")));
-                    IQueryable<TradeRecord> trades = spdb.TradeRecord.Where(m => m.Id >= StartId && m.CreateDate >= start && m.CreateDate < end && m.Status == 0).OrderBy(m => m.CreateDate).Take(20);
+                    IQueryable<TradeRecord> trades = spdb.TradeRecord.Where(m => m.Id >= StartId && m.CreateDate >= start && m.CreateDate < end && SaveDataBindIds.Contains(m.ProductType) && m.Status == 0).OrderBy(m => m.CreateDate).Take(20);
                     foreach (TradeRecord trade in trades.ToList())
                     {
                         int Status = 1;

+ 2 - 1
AppStart/Helper/SycnSpServer/SycnSpTradeTmpService.cs

@@ -34,6 +34,7 @@ namespace MySystem
                     BrandIds.Add("24");
                     BrandIds.Add("25");
                     BrandIds.Add("26");
+                    List<string> SaveDataBindIds = Utils.Instance.SaveDataBindIds();
                     WebCMSEntities spdb = new WebCMSEntities();
                     PxcModels.WebCMSEntities db = new PxcModels.WebCMSEntities();
                     DateTime root = DateTime.Parse("2025-01-01 00:00:00");
@@ -41,7 +42,7 @@ namespace MySystem
                     DateTime end = DateTime.Now.AddMinutes(-3);
                     int StartId = 139478000;
                     // if(StartId == 0) StartId = 133391021;
-                    IQueryable<TradeRecord> trades = spdb.TradeRecord.Where(m => m.Id > StartId && !BrandIds.Contains(m.ProductType) && m.CreateDate >= start && m.CreateDate >= root && m.Sort == 0).OrderBy(m => m.CreateDate).Take(20);
+                    IQueryable<TradeRecord> trades = spdb.TradeRecord.Where(m => m.Id > StartId && !BrandIds.Contains(m.ProductType) && SaveDataBindIds.Contains(m.ProductType) && m.CreateDate >= start && m.CreateDate >= root && m.Sort == 0).OrderBy(m => m.CreateDate).Take(20);
                     foreach (TradeRecord trade in trades.ToList())
                     {
                         // StartId = trade.Id;

+ 2 - 1
AppStart/Helper/SycnSpServer/SycnSpTradeWifiService.cs

@@ -27,12 +27,13 @@ namespace MySystem
             {
                 try
                 {
+                    List<string> SaveDataBindIds = Utils.Instance.SaveDataBindIds();
                     WebCMSEntities spdb = new WebCMSEntities();
                     PxcModels.WebCMSEntities db = new PxcModels.WebCMSEntities();
                     DateTime start = DateTime.Now.AddDays(-60);
                     DateTime end = DateTime.Now.AddMinutes(-1);
                     int StartId = int.Parse(function.CheckInt(function.ReadInstance("/SycnSp/TradeRecordId.txt")));
-                    IQueryable<TradeRecord> trades = spdb.TradeRecord.Where(m => m.Id >= StartId && m.ProductType == "23" && m.CreateDate >= start && m.Status == 1).OrderBy(m => m.CreateDate).Take(20);
+                    IQueryable<TradeRecord> trades = spdb.TradeRecord.Where(m => m.Id >= StartId && m.ProductType == "23" && m.CreateDate >= start && SaveDataBindIds.Contains(m.ProductType) && m.Status == 1).OrderBy(m => m.CreateDate).Take(20);
                     foreach (TradeRecord trade in trades.ToList())
                     {
                         DoQueueTrade(db, trade);

+ 2 - 1
AppStart/Helper/SycnSpServer/SycnSpTradeZkbService.cs

@@ -29,12 +29,13 @@ namespace MySystem
                 {
                     List<string> BrandIds = new List<string>();
                     BrandIds.Add("17");
+                    List<string> SaveDataBindIds = Utils.Instance.SaveDataBindIds();
                     WebCMSEntities spdb = new WebCMSEntities();
                     PxcModels.WebCMSEntities db = new PxcModels.WebCMSEntities();
                     DateTime start = DateTime.Now.AddDays(-10);
                     DateTime end = DateTime.Now.AddMinutes(-1);
                     int StartId = int.Parse(function.CheckInt(function.ReadInstance("/SycnSp/TradeRecordId.txt")));
-                    IQueryable<TradeRecord> trades = spdb.TradeRecord.Where(m => m.Id >= StartId && BrandIds.Contains(m.ProductType) && m.CreateDate >= start && m.Status == 1).OrderBy(m => m.CreateDate).Take(20);
+                    IQueryable<TradeRecord> trades = spdb.TradeRecord.Where(m => m.Id >= StartId && BrandIds.Contains(m.ProductType) && SaveDataBindIds.Contains(m.ProductType) && m.CreateDate >= start && m.Status == 1).OrderBy(m => m.CreateDate).Take(20);
                     foreach (TradeRecord trade in trades.ToList())
                     {
                         PxcModels.PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == trade.TradeSnNo);

+ 2 - 1
AppStart/Helper/SycnSpServer/SycnSpUnBindService.cs

@@ -27,10 +27,11 @@ namespace MySystem
             {
                 try
                 {
+                    List<string> SaveDataBindIds = Utils.Instance.SaveDataBindIds();
                     WebCMSEntities spdb = new WebCMSEntities();
                     PxcModels.WebCMSEntities db = new PxcModels.WebCMSEntities();
                     DateTime start = DateTime.Now.AddDays(-30);
-                    List<UnBindRecord> Binds = spdb.UnBindRecord.Where(m => m.UnBindTime >= start && m.Status == 1).OrderByDescending(m => m.Id).ToList();
+                    List<UnBindRecord> Binds = spdb.UnBindRecord.Where(m => m.UnBindTime >= start && SaveDataBindIds.Contains(m.ProductType) && m.Status == 1).OrderByDescending(m => m.Id).ToList();
                     foreach (UnBindRecord Bind in Binds)
                     {
                         var tran = db.Database.BeginTransaction();

+ 1 - 0
PxcModels/KqProducts.cs

@@ -33,5 +33,6 @@ namespace MySystem.PxcModels
         public string SpProductType { get; set; }
         public decimal FluxProfit { get; set; }
         public decimal FluxAmount { get; set; }
+        public ulong SaveDataFlag { get; set; }
     }
 }

+ 5 - 0
PxcModels/WebCMSEntities.cs

@@ -4553,6 +4553,11 @@ namespace MySystem.PxcModels
 
                 entity.Property(e => e.ReqMoneyUnit).HasColumnType("int(11)");
 
+                entity.Property(e => e.SaveDataFlag)
+                    .HasColumnType("bit(1)")
+                    .HasDefaultValueSql("b'0'")
+                    .HasComment("数据入库开关");
+
                 entity.Property(e => e.SeoDescription)
                     .HasColumnType("varchar(500)")
                     .HasCharSet("utf8")

+ 19 - 0
Util/Utils.cs

@@ -488,6 +488,25 @@ namespace MySystem
         }
 
         #endregion
+
+        #region 推送数据品牌列表
+
+        public List<string> SaveDataBindIds()
+        {
+            List<string> ids = RedisDbconn.Instance.GetList<string>("SaveDataBindIds", 1, 1000);
+            if(ids.Count > 0)
+            {
+                return ids;
+            }
+            WebCMSEntities db = new WebCMSEntities();
+            ids = db.KqProducts.Where(m => m.SaveDataFlag == 1).ToList().Select(m => m.SpProductType).Distinct().ToList();
+            db.Dispose();
+            RedisDbconn.Instance.AddList("SaveDataBindIds", ids.ToArray());
+            RedisDbconn.Instance.SetExpire("SaveDataBindIds", 1800);
+            return ids;
+        }
+
+        #endregion