|
|
@@ -34,6 +34,7 @@ namespace MySystem
|
|
|
if(RedisDbconn.Instance.Get<string>("StatServerStatus") == "1" && DateTime.Now.Hour >= 3)
|
|
|
{
|
|
|
StatTradeAmountEverDayV2();
|
|
|
+ StatSimTradeAmount();
|
|
|
StatBusinessService.Instance.StatTradeAmountEverDayV2();
|
|
|
StatHelpProfitService.Instance.StatTradeAmountEverDayV2();
|
|
|
}
|
|
|
@@ -118,7 +119,7 @@ namespace MySystem
|
|
|
{
|
|
|
startId = "867041";
|
|
|
}
|
|
|
- string sql = "select Id from TradeRecord where Id>=" + startId + " and QueryCount=0 and ActStatus=1 and BrandId=14 order by Id limit 50";
|
|
|
+ string sql = "select Id from TradeRecord where Id>=" + startId + " and QueryCount=0 and ActStatus=1 and BrandId!=14 order by Id limit 50";
|
|
|
if(Id > 0)
|
|
|
{
|
|
|
sql = "select Id from TradeRecord where Id=" + Id;
|
|
|
@@ -335,6 +336,134 @@ namespace MySystem
|
|
|
}
|
|
|
|
|
|
|
|
|
+ public void StatSimTradeAmount(int Id = 0)
|
|
|
+ {
|
|
|
+ OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["SqlConnStr"].ToString();
|
|
|
+ function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), "实时执行广电卡交易额日志");
|
|
|
+ WebCMSEntities db = new WebCMSEntities();
|
|
|
+ using (var tran = db.Database.BeginTransaction())
|
|
|
+ {
|
|
|
+ try
|
|
|
+ {
|
|
|
+ string startId = function.ReadInstance("/TradeRecord/SimId.txt");
|
|
|
+ if(string.IsNullOrEmpty(startId))
|
|
|
+ {
|
|
|
+ startId = "10000000";
|
|
|
+ }
|
|
|
+ string sql = "select Id from TradeRecord where Id>=" + startId + " and QueryCount=0 and ActStatus=1 and BrandId=14 order by Id limit 50";
|
|
|
+ if(Id > 0)
|
|
|
+ {
|
|
|
+ sql = "select Id from TradeRecord where Id=" + Id;
|
|
|
+ }
|
|
|
+ DataTable idsDt = OtherMySqlConn.dtable(sql);
|
|
|
+ if(idsDt.Rows.Count > 0)
|
|
|
+ {
|
|
|
+ string ids = "";
|
|
|
+ foreach (DataRow idsDr in idsDt.Rows)
|
|
|
+ {
|
|
|
+ ids += idsDr["Id"].ToString() + ",";
|
|
|
+ if(Id == 0)
|
|
|
+ {
|
|
|
+ startId = idsDr["Id"].ToString();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ DataTable selfDt = OtherMySqlConn.dtable("select UserId,ParentNav,MerHelpFlag,SnNo,DATE_FORMAT(CreateDate,'%Y%m%d'),sum(TradeAmount) from TradeRecord where Id in (" + ids.TrimEnd(',') + ") group by UserId,ParentNav,MerHelpFlag,SnNo,DATE_FORMAT(CreateDate,'%Y%m%d')");
|
|
|
+ if (selfDt.Rows.Count > 0)
|
|
|
+ {
|
|
|
+ function.WriteLog("统计人数:" + selfDt.Rows.Count + "\n\n", "实时执行广电卡交易额日志");
|
|
|
+ foreach (DataRow selfDr in selfDt.Rows)
|
|
|
+ {
|
|
|
+ int UserId = int.Parse(selfDr["UserId"].ToString());
|
|
|
+ string SnNo = selfDr["SnNo"].ToString();
|
|
|
+ if(UserId == 0)
|
|
|
+ {
|
|
|
+ PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == SnNo);
|
|
|
+ if(pos != null)
|
|
|
+ {
|
|
|
+ UserId = pos.UserId;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Users user = db.Users.FirstOrDefault(m => m.Id == UserId) ?? new Users();
|
|
|
+ string ParentNav = user.ParentNav;
|
|
|
+ int MerHelpFlag = int.Parse(selfDr["MerHelpFlag"].ToString());
|
|
|
+ string TradeDate = selfDr[4].ToString();
|
|
|
+ decimal TradeAmount = decimal.Parse(selfDr[5].ToString());
|
|
|
+ string TradeMonth = TradeDate.Substring(0, 6);
|
|
|
+
|
|
|
+ SimCardDaySummary selfStat = db.SimCardDaySummary.FirstOrDefault(m => m.UserId == UserId && m.TradeMonth == TradeMonth && m.TradeDay == TradeDate && m.SeoTitle == "self");
|
|
|
+ if (selfStat == null)
|
|
|
+ {
|
|
|
+ selfStat = db.SimCardDaySummary.Add(new SimCardDaySummary()
|
|
|
+ {
|
|
|
+ UserId = UserId,
|
|
|
+ TradeMonth = TradeMonth,
|
|
|
+ TradeDay = TradeDate,
|
|
|
+ SeoTitle = "self",
|
|
|
+ }).Entity;
|
|
|
+ db.SaveChanges();
|
|
|
+ }
|
|
|
+ selfStat.TradeAmount += TradeAmount;
|
|
|
+ if (MerHelpFlag == 1)
|
|
|
+ {
|
|
|
+ selfStat.HelpTradeAmount += TradeAmount;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ selfStat.NotHelpTradeAmount += TradeAmount;
|
|
|
+ }
|
|
|
+
|
|
|
+ ParentNav += "," + UserId + ",";
|
|
|
+ if (!string.IsNullOrEmpty(ParentNav))
|
|
|
+ {
|
|
|
+ string[] ParentNavList = ParentNav.Trim(',').Replace(",,", ",").Split(',');
|
|
|
+ foreach (string NavUserIdString in ParentNavList)
|
|
|
+ {
|
|
|
+ int NavUserId = int.Parse(NavUserIdString);
|
|
|
+ SimCardDaySummary teamStat = db.SimCardDaySummary.FirstOrDefault(m => m.UserId == NavUserId && m.TradeMonth == TradeMonth && m.TradeDay == TradeDate && m.SeoTitle == "team");
|
|
|
+ if (teamStat == null)
|
|
|
+ {
|
|
|
+ teamStat = db.SimCardDaySummary.Add(new SimCardDaySummary()
|
|
|
+ {
|
|
|
+ UserId = NavUserId,
|
|
|
+ TradeMonth = TradeMonth,
|
|
|
+ TradeDay = TradeDate,
|
|
|
+ SeoTitle = "team",
|
|
|
+ }).Entity;
|
|
|
+ db.SaveChanges();
|
|
|
+ }
|
|
|
+ teamStat.TradeAmount += TradeAmount;
|
|
|
+ if (MerHelpFlag == 1)
|
|
|
+ {
|
|
|
+ teamStat.HelpTradeAmount += TradeAmount;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ teamStat.NotHelpTradeAmount += TradeAmount;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ OtherMySqlConn.op("update TradeRecord set QueryCount=1 where Id in (" + ids.TrimEnd(',') + ")");
|
|
|
+ if(Id == 0)
|
|
|
+ {
|
|
|
+ function.WritePage("/TradeRecord/", "SimId.txt", startId);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ db.SaveChanges();
|
|
|
+ }
|
|
|
+ tran.Commit();
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ tran.Rollback();
|
|
|
+ function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "实时执行广电卡交易额异常");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ db.Dispose();
|
|
|
+ function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "\n\n", "实时执行广电卡交易额日志");
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
// 每天统计头一天的交易额
|
|
|
public void StartEverDay(string date)
|
|
|
{
|