|
|
@@ -51,10 +51,10 @@ namespace MySystem
|
|
|
if (string.IsNullOrEmpty(check))
|
|
|
{
|
|
|
function.WritePage("/GetFTPDepositYesterday/", "check" + DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd") + ".txt", DateTime.Now.ToString());
|
|
|
- SaveDepositData(DateTime.Now.AddDays(-1).ToString("yyyyMMdd"));
|
|
|
+ SaveDepositData(DateTime.Now.AddDays(-1).ToString("yyyyMMdd"), true);
|
|
|
Thread.Sleep(2000);
|
|
|
- GetDepositData();
|
|
|
- Thread.Sleep(60000);
|
|
|
+ // GetDepositData();
|
|
|
+ // Thread.Sleep(60000);
|
|
|
SaveTradeData(DateTime.Now.AddDays(-1).ToString("yyyyMMdd"), true);
|
|
|
}
|
|
|
}
|
|
|
@@ -117,7 +117,7 @@ namespace MySystem
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public void SaveDepositData(string Date)
|
|
|
+ public void SaveDepositData(string Date, bool IsRedis = false)
|
|
|
{
|
|
|
// 要下载的文件路径
|
|
|
string filePath = "/haoda-deposit/deposit_" + Date + ".csv";
|
|
|
@@ -149,87 +149,26 @@ namespace MySystem
|
|
|
var DataList = DataInfo[1].Split('\n');
|
|
|
foreach (var DataListItem in DataList)
|
|
|
{
|
|
|
- var DataListInfo = DataListItem.Split(',');
|
|
|
-
|
|
|
- string SnNo = DataListInfo[0]; //sn
|
|
|
- string MerNo = DataListInfo[1]; //商户编号
|
|
|
- string PosKind = DataListInfo[2]; //机具型号
|
|
|
- string ActDate = DataListInfo[3]; //激活时间
|
|
|
- string Deposit = DataListInfo[4]; //押金金额
|
|
|
- string PrizeAmt = "0"; //奖励金额
|
|
|
- string PrizeDate = "None"; //奖励发放时间
|
|
|
- string Name = ""; //发放人姓名
|
|
|
- string MerName = ""; //商户名称
|
|
|
- string PassDate = ""; //审核通过时期
|
|
|
- string MerKind = ""; //商户类型
|
|
|
- string DepositActCode = ""; //押金活动编号
|
|
|
- if (Date.StartsWith("d_"))
|
|
|
+ if(IsRedis)
|
|
|
{
|
|
|
- MerName = DataListInfo[5]; //商户名称
|
|
|
- PassDate = DataListInfo[6]; //审核通过时期
|
|
|
- MerKind = DataListInfo[7]; //商户类型
|
|
|
- DepositActCode = DataListInfo[8]; //押金活动编号
|
|
|
+ RedisDbconn.Instance.AddList("ListenDepositDataByOneQueue", DataListItem);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- PrizeAmt = DataListInfo[5]; //奖励金额
|
|
|
- PrizeDate = DataListInfo[6]; //奖励发放时间
|
|
|
- Name = DataListInfo[7]; //发放人姓名
|
|
|
- MerName = DataListInfo[8]; //商户名称
|
|
|
- PassDate = DataListInfo[9]; //审核通过时期
|
|
|
- if (DataListInfo.Length > 10) MerKind = DataListInfo[10]; //商户类型
|
|
|
- if (DataListInfo.Length > 11) DepositActCode = DataListInfo[11]; //押金活动编号
|
|
|
- }
|
|
|
- if (!SnNos.Contains(SnNo) && !ChkSnNos.Contains(SnNo))
|
|
|
- {
|
|
|
+ SaveDepositDataOneReady(db, DataListItem);
|
|
|
index += 1;
|
|
|
- function.WriteLog(DateTime.Now.ToString() + ":" + SnNo, "好哒押金数据入库");
|
|
|
- ChkSnNos.Add(SnNo);
|
|
|
- db.HdDepositTmp.Add(new MpMainModels2.HdDepositTmp()
|
|
|
- {
|
|
|
- SnNo = SnNo,
|
|
|
- MerKind = MerKind,
|
|
|
- PassDate = PassDate,
|
|
|
- MerName = MerName,
|
|
|
- SendMan = Name,
|
|
|
- PrizeDate = PrizeDate,
|
|
|
- PrizeAmount = decimal.Parse(function.CheckNum(PrizeAmt)),
|
|
|
- DepositAmount = decimal.Parse(function.CheckNum(Deposit)),
|
|
|
- ActDate = ActDate,
|
|
|
- DeviceKind = PosKind,
|
|
|
- DepositActCode = DepositActCode,
|
|
|
- MerNo = MerNo,
|
|
|
- });
|
|
|
- if (index % 50 == 0)
|
|
|
+ if(index % 200 == 0 && index > 0)
|
|
|
{
|
|
|
+ index = 0;
|
|
|
db.SaveChanges();
|
|
|
}
|
|
|
}
|
|
|
- else
|
|
|
- {
|
|
|
- MpMainModels2.HdDepositTmp edit = db.HdDepositTmp.FirstOrDefault(m => m.SnNo == SnNo);
|
|
|
- if (edit != null)
|
|
|
- {
|
|
|
- edit.Status = 0;
|
|
|
- edit.MerKind = MerKind;
|
|
|
- edit.PassDate = PassDate;
|
|
|
- edit.MerName = MerName;
|
|
|
- edit.SendMan = Name;
|
|
|
- edit.PrizeDate = PrizeDate;
|
|
|
- edit.PrizeAmount = decimal.Parse(function.CheckNum(PrizeAmt));
|
|
|
- edit.DepositAmount = decimal.Parse(function.CheckNum(Deposit));
|
|
|
- edit.ActDate = ActDate;
|
|
|
- edit.DeviceKind = PosKind;
|
|
|
- edit.DepositActCode = DepositActCode;
|
|
|
- edit.MerNo = MerNo;
|
|
|
- if (index % 50 == 0)
|
|
|
- {
|
|
|
- db.SaveChanges();
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
}
|
|
|
- db.SaveChanges();
|
|
|
+ if(!IsRedis)
|
|
|
+ {
|
|
|
+ index = 0;
|
|
|
+ db.SaveChanges();
|
|
|
+ }
|
|
|
}
|
|
|
db.Dispose();
|
|
|
}
|
|
|
@@ -615,6 +554,131 @@ namespace MySystem
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
+ public void StartDepositListenByOne()
|
|
|
+ {
|
|
|
+ //每天凌晨执行获取好哒FTP昨日交易数据
|
|
|
+ Thread th2 = new Thread(ListenDepositDataByOneReady);
|
|
|
+ th2.IsBackground = true;
|
|
|
+ th2.Start();
|
|
|
+ }
|
|
|
+ /// <summary>
|
|
|
+ /// 获取好哒FTP昨日交易数据
|
|
|
+ /// </summary>
|
|
|
+ public void ListenDepositDataByOneReady()
|
|
|
+ {
|
|
|
+ int index = 0;
|
|
|
+ MpMainModels2.WebCMSEntities db = new MpMainModels2.WebCMSEntities();
|
|
|
+ bool dbConn = true;
|
|
|
+ while (true)
|
|
|
+ {
|
|
|
+ string content = RedisDbconn.Instance.RPop<string>("ListenDepositDataByOneQueue");
|
|
|
+ if (!string.IsNullOrEmpty(content))
|
|
|
+ {
|
|
|
+ if(!dbConn)
|
|
|
+ {
|
|
|
+ db = new MpMainModels2.WebCMSEntities();
|
|
|
+ dbConn = true;
|
|
|
+ }
|
|
|
+ SaveDepositDataOneReady(db, content);
|
|
|
+ index += 1;
|
|
|
+ if(index % 200 == 0 && index > 0)
|
|
|
+ {
|
|
|
+ index = 0;
|
|
|
+ db.SaveChanges();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ index = 0;
|
|
|
+ if(dbConn)
|
|
|
+ {
|
|
|
+ db.SaveChanges();
|
|
|
+ db.Dispose();
|
|
|
+ dbConn = false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ public void SaveDepositDataOneReady(MpMainModels2.WebCMSEntities db, string content)
|
|
|
+ {
|
|
|
+ try
|
|
|
+ {
|
|
|
+ var DataListInfo = content.Split(',');
|
|
|
+
|
|
|
+ string SnNo = DataListInfo[0]; //sn
|
|
|
+ string MerNo = DataListInfo[1]; //商户编号
|
|
|
+ string PosKind = DataListInfo[2]; //机具型号
|
|
|
+ string ActDate = DataListInfo[3]; //激活时间
|
|
|
+ string Deposit = DataListInfo[4]; //押金金额
|
|
|
+ string PrizeAmt = "0"; //奖励金额
|
|
|
+ string PrizeDate = "None"; //奖励发放时间
|
|
|
+ string Name = ""; //发放人姓名
|
|
|
+ string MerName = ""; //商户名称
|
|
|
+ string PassDate = ""; //审核通过时期
|
|
|
+ string MerKind = ""; //商户类型
|
|
|
+ string DepositActCode = ""; //押金活动编号
|
|
|
+ PrizeAmt = DataListInfo[5]; //奖励金额
|
|
|
+ PrizeDate = DataListInfo[6]; //奖励发放时间
|
|
|
+ Name = DataListInfo[7]; //发放人姓名
|
|
|
+ MerName = DataListInfo[8]; //商户名称
|
|
|
+ PassDate = DataListInfo[9]; //审核通过时期
|
|
|
+ if (DataListInfo.Length > 10) MerKind = DataListInfo[10]; //商户类型
|
|
|
+ if (DataListInfo.Length > 11) DepositActCode = DataListInfo[11]; //押金活动编号
|
|
|
+ if(!db.HdDepositTmp.Any(m => m.SnNo == SnNo))
|
|
|
+ {
|
|
|
+ function.WriteLog(DateTime.Now.ToString() + ":" + SnNo, "好哒押金数据入库new");
|
|
|
+ db.HdDepositTmp.Add(new MpMainModels2.HdDepositTmp()
|
|
|
+ {
|
|
|
+ SnNo = SnNo,
|
|
|
+ MerKind = MerKind,
|
|
|
+ PassDate = PassDate,
|
|
|
+ MerName = MerName,
|
|
|
+ SendMan = Name,
|
|
|
+ PrizeDate = PrizeDate,
|
|
|
+ PrizeAmount = decimal.Parse(function.CheckNum(PrizeAmt)),
|
|
|
+ DepositAmount = decimal.Parse(function.CheckNum(Deposit)),
|
|
|
+ ActDate = ActDate,
|
|
|
+ DeviceKind = PosKind,
|
|
|
+ DepositActCode = DepositActCode,
|
|
|
+ MerNo = MerNo,
|
|
|
+ });
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ MpMainModels2.HdDepositTmp edit = db.HdDepositTmp.FirstOrDefault(m => m.SnNo == SnNo);
|
|
|
+ if (edit != null)
|
|
|
+ {
|
|
|
+ edit.Status = 0;
|
|
|
+ edit.MerKind = MerKind;
|
|
|
+ edit.PassDate = PassDate;
|
|
|
+ edit.MerName = MerName;
|
|
|
+ edit.SendMan = Name;
|
|
|
+ edit.PrizeDate = PrizeDate;
|
|
|
+ edit.PrizeAmount = decimal.Parse(function.CheckNum(PrizeAmt));
|
|
|
+ edit.DepositAmount = decimal.Parse(function.CheckNum(Deposit));
|
|
|
+ edit.ActDate = ActDate;
|
|
|
+ edit.DeviceKind = PosKind;
|
|
|
+ edit.DepositActCode = DepositActCode;
|
|
|
+ edit.MerNo = MerNo;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ catch(Exception ex)
|
|
|
+ {
|
|
|
+ function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "好哒押金数据入库new异常");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
public void StartGetTradeData()
|
|
|
{
|
|
|
//每天凌晨执行获取好哒FTP昨日交易数据
|