Browse Source

修复bug

lcl 8 months ago
parent
commit
50c2eacdf7
1 changed files with 50 additions and 54 deletions
  1. 50 54
      AppStart/Helper/SycnSpServer/SycnSpTradeWifiServiceTmp.cs

+ 50 - 54
AppStart/Helper/SycnSpServer/SycnSpTradeWifiServiceTmp.cs

@@ -23,73 +23,69 @@ namespace MySystem
 
         public void StartDo()
         {
-            while (true)
+            try
             {
-                try
+                WebCMSEntities db = new WebCMSEntities();
+                DateTime start = DateTime.Parse("2024-08-01 00:00:00");
+                List<WifiTradeRecord> trades = db.WifiTradeRecord.Where(m => m.CreateDate >= start).ToList();
+                List<string> SnNos = trades.Select(m => m.SnNo).ToList();
+                List<PosMachinesTwo> poslist = db.PosMachinesTwo.Where(m => SnNos.Contains(m.PosSn)).ToList();
+                foreach(WifiTradeRecord trade in trades)
                 {
-                    WebCMSEntities db = new WebCMSEntities();
-                    DateTime start = DateTime.Parse("2024-08-01 00:00:00");
-                    List<WifiTradeRecord> trades = db.WifiTradeRecord.Where(m => m.CreateDate >= start).ToList();
-                    List<string> SnNos = trades.Select(m => m.SnNo).ToList();
-                    List<PosMachinesTwo> poslist = db.PosMachinesTwo.Where(m => SnNos.Contains(m.PosSn)).ToList();
-                    foreach(WifiTradeRecord trade in trades)
+                    decimal TradeAmount = trade.TradeAmount;
+                    bool statFlag = false;
+                    PosMachinesTwo pos = poslist.FirstOrDefault(m => m.PosSn == trade.SnNo);
+                    if (pos != null)
                     {
-                        decimal TradeAmount = trade.TradeAmount;
-                        bool statFlag = false;
-                        PosMachinesTwo pos = poslist.FirstOrDefault(m => m.PosSn == trade.SnNo);
-                        if (pos != null)
-                        {
-                            statFlag = db.WifiTradeRecord.Count(m => m.SnNo == trade.SnNo) > 1;
-                        }
+                        statFlag = db.WifiTradeRecord.Count(m => m.SnNo == trade.SnNo) > 1;
+                    }
 
-                        //开始统计
-                        int Months = 0;
+                    //开始统计
+                    int Months = 0;
 
-                        if(pos.BrandId == 23 && TradeAmount == 49) Months = 1;
-                        if(pos.BrandId == 23 && TradeAmount == 79) Months = 3;
-                        if(pos.BrandId == 23 && TradeAmount == 119) Months = 12;
-                        if(pos.BrandId == 23 && TradeAmount == 199) Months = 24;
+                    if(pos.BrandId == 23 && TradeAmount == 49) Months = 1;
+                    if(pos.BrandId == 23 && TradeAmount == 79) Months = 3;
+                    if(pos.BrandId == 23 && TradeAmount == 119) Months = 12;
+                    if(pos.BrandId == 23 && TradeAmount == 199) Months = 24;
 
-                        if(pos.BrandId == 24 && TradeAmount == 59) Months = 1;
-                        if(pos.BrandId == 24 && TradeAmount == 159) Months = 3;
-                        if(pos.BrandId == 24 && TradeAmount == 399) Months = 12;
-                        if(pos.BrandId == 24 && TradeAmount == 699) Months = 24;
+                    if(pos.BrandId == 24 && TradeAmount == 59) Months = 1;
+                    if(pos.BrandId == 24 && TradeAmount == 159) Months = 3;
+                    if(pos.BrandId == 24 && TradeAmount == 399) Months = 12;
+                    if(pos.BrandId == 24 && TradeAmount == 699) Months = 24;
 
-                        if(pos.BrandId == 25 && TradeAmount == 69) Months = 1;
-                        if(pos.BrandId == 25 && TradeAmount == 199) Months = 3;
-                        if(pos.BrandId == 25 && TradeAmount == 499) Months = 12;
-                        if(pos.BrandId == 25 && TradeAmount == 799) Months = 24;
+                    if(pos.BrandId == 25 && TradeAmount == 69) Months = 1;
+                    if(pos.BrandId == 25 && TradeAmount == 199) Months = 3;
+                    if(pos.BrandId == 25 && TradeAmount == 499) Months = 12;
+                    if(pos.BrandId == 25 && TradeAmount == 799) Months = 24;
 
-                        if(pos.BrandId == 26 && TradeAmount == 219) Months = 1;
-                        if(pos.BrandId == 26 && TradeAmount == 449) Months = 3;
-                        if(pos.BrandId == 26 && TradeAmount == 1399) Months = 12;
-                        if(pos.BrandId == 26 && TradeAmount == 2698) Months = 24;
+                    if(pos.BrandId == 26 && TradeAmount == 219) Months = 1;
+                    if(pos.BrandId == 26 && TradeAmount == 449) Months = 3;
+                    if(pos.BrandId == 26 && TradeAmount == 1399) Months = 12;
+                    if(pos.BrandId == 26 && TradeAmount == 2698) Months = 24;
 
-                        if(Months > 0)
+                    if(Months > 0)
+                    {
+                        decimal TradeAmt = TradeAmount / Months;
+                        TradeAmt = PublicFunction.NumberFormat(TradeAmt);
+                        string TradeMonth = trade.CreateDate.Value.AddMonths(-1).ToString("yyyyMM");
+                        if(statFlag)
+                        {
+                            TradeDaySummary stat = db.TradeDaySummary.Where(m => m.UserId == pos.BuyUserId && m.BrandId == pos.BrandId).OrderByDescending(m => m.Id).FirstOrDefault() ?? new TradeDaySummary();
+                            TradeMonth = string.IsNullOrEmpty(stat.TradeMonth) ? trade.CreateDate.Value.AddMonths(-1).ToString("yyyyMM") : stat.TradeMonth;
+                        }
+                        DateTime StartMonth = DateTime.Parse(TradeMonth.Substring(0, 4) + "-" + TradeMonth.Substring(4, 2) + "-01 00:00:00");
+                        for (int i = 1; i <= Months; i++)
                         {
-                            decimal TradeAmt = TradeAmount / Months;
-                            TradeAmt = PublicFunction.NumberFormat(TradeAmt);
-                            string TradeMonth = trade.CreateDate.Value.AddMonths(-1).ToString("yyyyMM");
-                            if(statFlag)
-                            {
-                                TradeDaySummary stat = db.TradeDaySummary.Where(m => m.UserId == pos.BuyUserId && m.BrandId == pos.BrandId).OrderByDescending(m => m.Id).FirstOrDefault() ?? new TradeDaySummary();
-                                TradeMonth = string.IsNullOrEmpty(stat.TradeMonth) ? trade.CreateDate.Value.AddMonths(-1).ToString("yyyyMM") : stat.TradeMonth;
-                            }
-                            DateTime StartMonth = DateTime.Parse(TradeMonth.Substring(0, 4) + "-" + TradeMonth.Substring(4, 2) + "-01 00:00:00");
-                            for (int i = 1; i <= Months; i++)
-                            {
-                                StartMonth = StartMonth.AddMonths(1);
-                                StatTrade(pos.BuyUserId, pos.BrandId, StartMonth.ToString("yyyyMM"), TradeAmt);
-                            }
+                            StartMonth = StartMonth.AddMonths(1);
+                            StatTrade(pos.BuyUserId, pos.BrandId, StartMonth.ToString("yyyyMM"), TradeAmt);
                         }
                     }
-                    db.Dispose();
-                }
-                catch (Exception ex)
-                {
-                    function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "同步SP交易数据到MAIN异常");
                 }
-                Thread.Sleep(500);
+                db.Dispose();
+            }
+            catch (Exception ex)
+            {
+                function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "同步WIFI数据异常");
             }
         }