Эх сурвалжийг харах

恢复原始交易没有统计上的数据,如果机具号或者商户号不存在,直接标记,不再执行

lcl 1 жил өмнө
parent
commit
f72d140221

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

@@ -580,7 +580,7 @@ namespace MySystem
                 {
                     function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "同步SP交易数据到MAIN异常");
                 }
-                Thread.Sleep(10000);
+                Thread.Sleep(500);
             }
         }
 
@@ -751,19 +751,36 @@ namespace MySystem
             {
                 try
                 {
+                    PxcModels.WebCMSEntities db = new PxcModels.WebCMSEntities();
                     WebCMSEntities spdb = new WebCMSEntities();
                     DateTime start = DateTime.Now.AddDays(-10);
+                    DateTime end = DateTime.Now.AddMinutes(-30);
                     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.Status == 0).OrderBy(m => m.CreateDate).Take(20);
+                    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);
                     foreach (TradeRecord trade in trades.ToList())
                     {
+                        int Status = 1;
+                        bool op = db.PosMachinesTwo.Any(m => m.PosSn == trade.TradeSnNo);
+                        if(!op)
+                        {
+                            Status = -1;
+                        }
+                        else
+                        {
+                            op = db.PosMerchantInfo.Any(m => m.KqSnNo == trade.TradeSnNo);
+                            if(!op)
+                            {
+                                Status = -2;
+                            }
+                        }
                         TradeRecord edit = spdb.TradeRecord.FirstOrDefault(m => m.Id == trade.Id);
                         if (edit != null)
                         {
-                            edit.Status = 1;
+                            edit.Status = Status;
                             spdb.SaveChanges();
                         }
                     }
+                    db.Dispose();
                     spdb.Dispose();
                 }
                 catch (Exception ex)