|
@@ -61,62 +61,7 @@ namespace MySystem
|
|
{
|
|
{
|
|
foreach(PosMerchantInfo merchant in merchants)
|
|
foreach(PosMerchantInfo merchant in merchants)
|
|
{
|
|
{
|
|
- function.WriteLog("商户ID:" + merchant.Id, "每月统计押金达标情况");
|
|
|
|
- // string start = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
|
|
|
|
- int StandardMonths = merchant.StandardMonths;
|
|
|
|
- int StandardStatus = merchant.StandardStatus;
|
|
|
|
- function.WriteLog("StandardMonths:" + StandardMonths, "每月统计押金达标情况");
|
|
|
|
- function.WriteLog("StandardStatus:" + StandardStatus, "每月统计押金达标情况");
|
|
|
|
- DateTime ActDate = merchant.CreateDate.Value;
|
|
|
|
- if(merchant.MerStandardDate == null)
|
|
|
|
- {
|
|
|
|
- PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == merchant.KqSnNo && m.ActivationState == 1 && m.ActivationTime != null);
|
|
|
|
- if(pos != null)
|
|
|
|
- {
|
|
|
|
- ActDate = pos.ActivationTime.Value;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- else
|
|
|
|
- {
|
|
|
|
- ActDate = merchant.MerStandardDate.Value;
|
|
|
|
- }
|
|
|
|
- int MonthNum = StandardMonths;
|
|
|
|
- for (int i = StandardMonths + 1; i <= 10; i++)
|
|
|
|
- {
|
|
|
|
- string TradeMonth = ActDate.AddMonths(i).ToString("yyyyMM");
|
|
|
|
- if(int.Parse(TradeMonth) < int.Parse(DateTime.Now.ToString("yyyyMM")))
|
|
|
|
- {
|
|
|
|
- decimal TradeAmount = 0;
|
|
|
|
- bool CheckAmount = db.PosMerchantTradeSummay.Any(m => m.MerchantId == merchant.Id && m.TradeMonth == TradeMonth);
|
|
|
|
- if(CheckAmount)
|
|
|
|
- {
|
|
|
|
- TradeAmount = db.PosMerchantTradeSummay.Where(m => m.MerchantId == merchant.Id && m.TradeMonth == TradeMonth).Sum(m => m.TradeAmount);
|
|
|
|
- }
|
|
|
|
- if(TradeAmount >= 10000)
|
|
|
|
- {
|
|
|
|
- MonthNum = i;
|
|
|
|
- }
|
|
|
|
- else
|
|
|
|
- {
|
|
|
|
- StandardStatus = -1;
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- function.WriteLog("MonthNum:" + MonthNum, "每月统计押金达标情况");
|
|
|
|
- if(MonthNum >= 10)
|
|
|
|
- {
|
|
|
|
- StandardStatus = 4;
|
|
|
|
- }
|
|
|
|
- function.WriteLog("StandardStatus:" + StandardStatus + "\n\n", "每月统计押金达标情况");
|
|
|
|
- PosMerchantInfo edit = db.PosMerchantInfo.FirstOrDefault(m => m.Id == merchant.Id);
|
|
|
|
- if(edit != null)
|
|
|
|
- {
|
|
|
|
- edit.StandardMonths = MonthNum;
|
|
|
|
- edit.StandardStatus = StandardStatus;
|
|
|
|
- db.SaveChanges();
|
|
|
|
- }
|
|
|
|
- // string end = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
|
|
|
|
|
|
+ DoSomething(db, merchant);
|
|
startid = merchant.Id;
|
|
startid = merchant.Id;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -128,5 +73,104 @@ namespace MySystem
|
|
}
|
|
}
|
|
db.Dispose();
|
|
db.Dispose();
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ public void StartEverTime()
|
|
|
|
+ {
|
|
|
|
+ Thread th = new Thread(StartEverTimeDo);
|
|
|
|
+ th.IsBackground = true;
|
|
|
|
+ th.Start();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public void StartEverTimeDo()
|
|
|
|
+ {
|
|
|
|
+ while(true)
|
|
|
|
+ {
|
|
|
|
+ try
|
|
|
|
+ {
|
|
|
|
+ string content = RedisDbconn.Instance.Get<string>("DepositReturnStatQueue");
|
|
|
|
+ if(!string.IsNullOrEmpty(content))
|
|
|
|
+ {
|
|
|
|
+ int MerchantId = int.Parse(function.CheckInt(content));
|
|
|
|
+ WebCMSEntities db = new WebCMSEntities();
|
|
|
|
+ PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == MerchantId);
|
|
|
|
+ if(merchant != null)
|
|
|
|
+ {
|
|
|
|
+ DoSomething(db, merchant);
|
|
|
|
+ }
|
|
|
|
+ db.Dispose();
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ Thread.Sleep(60000);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ catch(Exception ex)
|
|
|
|
+ {
|
|
|
|
+ function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "统计单个商户押金达标数据异常");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ private void DoSomething(WebCMSEntities db, PosMerchantInfo merchant)
|
|
|
|
+ {
|
|
|
|
+ function.WriteLog("商户ID:" + merchant.Id, "每月统计押金达标情况");
|
|
|
|
+ // string start = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
|
|
|
|
+ int StandardMonths = merchant.StandardMonths;
|
|
|
|
+ int StandardStatus = merchant.StandardStatus;
|
|
|
|
+ function.WriteLog("StandardMonths:" + StandardMonths, "每月统计押金达标情况");
|
|
|
|
+ function.WriteLog("StandardStatus:" + StandardStatus, "每月统计押金达标情况");
|
|
|
|
+ DateTime ActDate = merchant.CreateDate.Value;
|
|
|
|
+ if(merchant.MerStandardDate == null)
|
|
|
|
+ {
|
|
|
|
+ PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == merchant.KqSnNo && m.ActivationState == 1 && m.ActivationTime != null);
|
|
|
|
+ if(pos != null)
|
|
|
|
+ {
|
|
|
|
+ ActDate = pos.ActivationTime.Value;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ ActDate = merchant.MerStandardDate.Value;
|
|
|
|
+ }
|
|
|
|
+ int MonthNum = StandardMonths;
|
|
|
|
+ for (int i = StandardMonths + 1; i <= 10; i++)
|
|
|
|
+ {
|
|
|
|
+ string TradeMonth = ActDate.AddMonths(i).ToString("yyyyMM");
|
|
|
|
+ if(int.Parse(TradeMonth) < int.Parse(DateTime.Now.ToString("yyyyMM")))
|
|
|
|
+ {
|
|
|
|
+ decimal TradeAmount = 0;
|
|
|
|
+ bool CheckAmount = db.PosMerchantTradeSummay.Any(m => m.MerchantId == merchant.Id && m.TradeMonth == TradeMonth);
|
|
|
|
+ if(CheckAmount)
|
|
|
|
+ {
|
|
|
|
+ TradeAmount = db.PosMerchantTradeSummay.Where(m => m.MerchantId == merchant.Id && m.TradeMonth == TradeMonth).Sum(m => m.TradeAmount);
|
|
|
|
+ }
|
|
|
|
+ if(TradeAmount >= 10000)
|
|
|
|
+ {
|
|
|
|
+ MonthNum = i;
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ StandardStatus = -1;
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ function.WriteLog("MonthNum:" + MonthNum, "每月统计押金达标情况");
|
|
|
|
+ if(MonthNum >= 10)
|
|
|
|
+ {
|
|
|
|
+ StandardStatus = 4;
|
|
|
|
+ }
|
|
|
|
+ function.WriteLog("StandardStatus:" + StandardStatus + "\n\n", "每月统计押金达标情况");
|
|
|
|
+ PosMerchantInfo edit = db.PosMerchantInfo.FirstOrDefault(m => m.Id == merchant.Id);
|
|
|
|
+ if(edit != null)
|
|
|
|
+ {
|
|
|
|
+ edit.StandardMonths = MonthNum;
|
|
|
|
+ edit.StandardStatus = StandardStatus;
|
|
|
|
+ db.SaveChanges();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|