|
@@ -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数据异常");
|
|
|
}
|
|
|
}
|
|
|
|