|
|
@@ -249,7 +249,8 @@ namespace MySystem
|
|
|
foreach (PosMachinesTwo pos in posList.ToList())
|
|
|
{
|
|
|
// PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId && !string.IsNullOrEmpty(m.MerIdcardNo));
|
|
|
- PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId && m.Sort == 1);
|
|
|
+ // PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId && m.Sort == 1);
|
|
|
+ PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId);
|
|
|
if (merchant != null)
|
|
|
{
|
|
|
// PosMerchantOtherInfo otherInfo = db.PosMerchantOtherInfo.FirstOrDefault(m => m.CertId == merchant.MerIdcardNo && m.PrizeFlag1 == 0);
|
|
|
@@ -600,7 +601,8 @@ namespace MySystem
|
|
|
if (ActPrize > 0)
|
|
|
{
|
|
|
// PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId && !string.IsNullOrEmpty(m.MerIdcardNo));
|
|
|
- PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId && m.Sort == 1);
|
|
|
+ // PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId && m.Sort == 1);
|
|
|
+ PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId);
|
|
|
if (merchant != null)
|
|
|
{
|
|
|
// PosMerchantOtherInfo otherInfo = db.PosMerchantOtherInfo.FirstOrDefault(m => m.CertId == merchant.MerIdcardNo && m.PrizeFlag2 == 0);
|
|
|
@@ -984,7 +986,8 @@ namespace MySystem
|
|
|
{
|
|
|
MachineForSnNo forSnNo = db.MachineForSnNo.FirstOrDefault(m => m.SnNo == TradeSnNo) ?? new MachineForSnNo();
|
|
|
PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == forSnNo.SnId) ?? new PosMachinesTwo();
|
|
|
- PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId && m.Sort == 1);
|
|
|
+ // PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId && m.Sort == 1);
|
|
|
+ PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId);
|
|
|
if(merchant != null)
|
|
|
{
|
|
|
bool checkExist = db.FluxProfitDetail.Any(m => m.MerNo == merchant.KqMerNo);
|
|
|
@@ -1459,15 +1462,6 @@ namespace MySystem
|
|
|
}
|
|
|
db.SaveChanges();
|
|
|
}
|
|
|
- // RedisDbconn.Instance.Clear("TotalAmount:" + UserId);
|
|
|
- // RedisDbconn.Instance.Clear("TotalAmount:" + UserId + ":" + TradeMonth);
|
|
|
- // RedisDbconn.Instance.Clear("TotalCloudPayAmount:" + UserId + ":" + TradeMonth);
|
|
|
- // RedisDbconn.Instance.Clear("TotalPosAmount:" + UserId + ":" + TradeMonth);
|
|
|
- // RedisDbconn.Instance.Clear("TotalAmount:" + UserId + ":*:" + TradeMonth);
|
|
|
- // RedisDbconn.Instance.Clear("TotalAmount:" + UserId + ":" + TradeDate);
|
|
|
- // RedisDbconn.Instance.Clear("TotalCloudPayAmount:" + UserId + ":" + TradeDate);
|
|
|
- // RedisDbconn.Instance.Clear("TotalPosAmount:" + UserId + ":" + TradeDate);
|
|
|
- // RedisDbconn.Instance.Clear("TotalAmount:" + UserId + ":*:" + TradeDate);
|
|
|
if (!string.IsNullOrEmpty(ParentNav))
|
|
|
{
|
|
|
ParentNav += "," + UserId + ",";
|
|
|
@@ -1510,211 +1504,20 @@ namespace MySystem
|
|
|
teamStat.NonDirectTradeAmt += TradeAmount;
|
|
|
}
|
|
|
db.SaveChanges();
|
|
|
- OtherMySqlConn.op("update Users set ThisMonthTrade=ThisMonthTrade+"+TradeAmount+" where Id=" + NavUserId);
|
|
|
}
|
|
|
- // RedisDbconn.Instance.Clear("TeamTotalAmount:" + NavUserId);
|
|
|
- // RedisDbconn.Instance.Clear("TeamTotalAmount:" + NavUserId + ":" + TradeMonth);
|
|
|
- // RedisDbconn.Instance.Clear("TeamTotalCloudPayAmount:" + NavUserId + ":" + TradeMonth);
|
|
|
- // RedisDbconn.Instance.Clear("TeamTotalPosAmount:" + NavUserId + ":" + TradeMonth);
|
|
|
- // RedisDbconn.Instance.Clear("TeamTotalAmount:" + NavUserId + ":*:" + TradeMonth);
|
|
|
- // RedisDbconn.Instance.Clear("TeamTotalAmount:" + NavUserId + ":" + TradeDate);
|
|
|
- // RedisDbconn.Instance.Clear("TeamTotalCloudPayAmount:" + NavUserId + ":" + TradeDate);
|
|
|
- // RedisDbconn.Instance.Clear("TeamTotalPosAmount:" + NavUserId + ":" + TradeDate);
|
|
|
- // RedisDbconn.Instance.Clear("TeamTotalAmount:" + NavUserId + ":*:" + TradeDate);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
- catch (Exception ex)
|
|
|
- {
|
|
|
- function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "统计昨天的交易额异常");
|
|
|
- }
|
|
|
- db.Dispose();
|
|
|
- function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "\n\n", "执行昨天交易额日志");
|
|
|
-
|
|
|
- StatMerchantTrade(date);
|
|
|
- }
|
|
|
-
|
|
|
- public void StatTradeAmountEverDay2(object sender)
|
|
|
- {
|
|
|
- string date = sender.ToString();
|
|
|
- function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), "执行昨天交易额日志");
|
|
|
- WebCMSEntities db = new WebCMSEntities();
|
|
|
- try
|
|
|
- {
|
|
|
- OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["Pxc1SqlConnStr"].ToString();
|
|
|
- string TradeDate = date.Replace("-", "");
|
|
|
- string TradeMonth = TradeDate.Substring(0, 6);
|
|
|
- string start = date + " 00:00:00";
|
|
|
- string end = DateTime.Parse(date).AddDays(1).ToString("yyyy-MM-dd") + " 00:00:00";
|
|
|
- string startId = "0", endId = "9999999999";
|
|
|
- List<string> uids = new List<string>();
|
|
|
- DataTable startDt = OtherMySqlConn.dtable("select min(Id) from TradeRecord where CreateDate>='" + start + "'");
|
|
|
- if (startDt.Rows.Count > 0)
|
|
|
+ if(DateTime.Now.Day >= 2)
|
|
|
{
|
|
|
- startId = startDt.Rows[0][0].ToString();
|
|
|
- }
|
|
|
- function.WriteLog(startId + "\n\n", "执行昨天交易额日志");
|
|
|
- // DataTable endDt = OtherMySqlConn.dtable("select max(Id) from TradeRecord where CreateDate<'" + end + "'");
|
|
|
- // if (endDt.Rows.Count > 0)
|
|
|
- // {
|
|
|
- // endId = endDt.Rows[0][0].ToString();
|
|
|
- // }
|
|
|
-
|
|
|
- function.WriteLog("ap到main开始:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), "执行昨天交易额日志");
|
|
|
- Models.WebCMSEntities maindb = new Models.WebCMSEntities();
|
|
|
- DateTime StartDate = DateTime.Parse(start);
|
|
|
- DateTime EndDate = DateTime.Parse(end);
|
|
|
- int StartTradeId = int.Parse(function.CheckInt(startId));
|
|
|
- bool op = true;
|
|
|
- while (op)
|
|
|
- {
|
|
|
- List<TradeRecord> list = db.TradeRecord.Where(m => m.Id > StartTradeId && m.CreateDate >= StartDate && m.CreateDate < EndDate).OrderBy(m => m.Id).Take(500).ToList();
|
|
|
- if (list.Count > 0)
|
|
|
- {
|
|
|
- foreach (TradeRecord sub in list)
|
|
|
- {
|
|
|
- maindb.TradeRecord.Add(new Models.TradeRecord()
|
|
|
- {
|
|
|
- CreateDate = sub.CreateDate,
|
|
|
- UpdateDate = sub.UpdateDate,
|
|
|
- RecordNo = sub.RecordNo, //单号
|
|
|
- UserId = sub.UserId, //创客
|
|
|
- MerchantId = sub.MerchantId, //商户
|
|
|
- MerNo = sub.MerNo, //渠道商户编号
|
|
|
- MerHelpFlag = sub.MerHelpFlag, //是否属于扶持周期内商户
|
|
|
- HelpMonthCount = sub.HelpMonthCount, //扶持第几个月
|
|
|
- MerBuddyType = sub.MerBuddyType, //商户创客类型
|
|
|
- SnNo = sub.SnNo, //渠道SN号
|
|
|
- TradeDate = sub.TradeDate, //交易日期
|
|
|
- ClearDate = sub.ClearDate, //清算日期
|
|
|
- TradeSerialNo = sub.TradeSerialNo, //交易流水号
|
|
|
- TradeAmount = sub.TradeAmount, //交易金额
|
|
|
- BankCardType = sub.BankCardType, //银行卡类型
|
|
|
- QrPayFlag = sub.QrPayFlag, //云闪付标识
|
|
|
- CapFlag = sub.CapFlag, //借记卡封顶交易标志
|
|
|
- DirectFlag = sub.DirectFlag, //是否直营
|
|
|
- BrandId = sub.BrandId, //品牌
|
|
|
- Remark = sub.Remark, //备注
|
|
|
- TopUserId = sub.TopUserId, //顶级创客
|
|
|
- MerUserId = sub.MerUserId, //商户直属创客
|
|
|
- });
|
|
|
- StartTradeId = sub.Id;
|
|
|
- }
|
|
|
- maindb.SaveChanges();
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- op = false;
|
|
|
- }
|
|
|
- }
|
|
|
- maindb.Dispose();
|
|
|
- function.WriteLog("ap到main结束:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), "执行昨天交易额日志");
|
|
|
-
|
|
|
- OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["SqlConnStr"].ToString();
|
|
|
- DataTable userDt = OtherMySqlConn.dtable("select Id,ParentNav from Users where Id in (select DISTINCT UserId from TradeRecord where Id>=" + startId + " and Id<=" + endId + " and CreateDate>='" + start + "' and CreateDate<'" + end + "')");
|
|
|
- function.WriteLog("交易人数:" + userDt.Rows.Count + "\n\n", "执行昨天交易额日志");
|
|
|
- foreach (DataRow userDr in userDt.Rows)
|
|
|
- {
|
|
|
- int UserId = int.Parse(userDr["Id"].ToString());
|
|
|
- string ParentNav = userDr["ParentNav"].ToString();
|
|
|
- function.WriteLog(UserId + ":" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "\n\n", "执行昨天交易额日志");
|
|
|
- DataTable selfdt = OtherMySqlConn.dtable("select BrandId,BankCardType,QrPayFlag,sum(TradeAmount) from TradeRecord where Id>=" + startId + " and Id<=" + endId + " and CreateDate>='" + start + "' and CreateDate<'" + end + "' and UserId=" + UserId + " group by BrandId,BankCardType,QrPayFlag");
|
|
|
- function.WriteLog(UserId + ":" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "\n\n", "执行昨天交易额日志");
|
|
|
- foreach (DataRow selfDr in selfdt.Rows)
|
|
|
+ Thread.Sleep(5000);
|
|
|
+ DataTable list = OtherMySqlConn.dtable("select UserId,sum(NonDirectTradeAmt) from UserTradeDaySummary where TradeDate='" + TradeDate + "' GROUP BY UserId");
|
|
|
+ foreach(DataRow dr in list.Rows)
|
|
|
{
|
|
|
- int BrandId = int.Parse(selfDr["BrandId"].ToString());
|
|
|
- int BankCardType = int.Parse(selfDr["BankCardType"].ToString());
|
|
|
- int QrPayFlag = int.Parse(selfDr["QrPayFlag"].ToString());
|
|
|
- decimal TradeAmount = decimal.Parse(selfDr[3].ToString());
|
|
|
- UserTradeDaySummary selfStat = db.UserTradeDaySummary.FirstOrDefault(m => m.UserId == UserId && m.TradeMonth == TradeMonth && m.TradeDate == TradeDate && m.BrandId == BrandId && m.QueryCount == QrPayFlag && m.SeoTitle == "self");
|
|
|
- if (selfStat == null)
|
|
|
- {
|
|
|
- selfStat = db.UserTradeDaySummary.Add(new UserTradeDaySummary()
|
|
|
- {
|
|
|
- UserId = UserId,
|
|
|
- TradeMonth = TradeMonth,
|
|
|
- TradeDate = TradeDate,
|
|
|
- BrandId = BrandId,
|
|
|
- QueryCount = QrPayFlag,
|
|
|
- SeoTitle = "self",
|
|
|
- }).Entity;
|
|
|
- db.SaveChanges();
|
|
|
- }
|
|
|
- if (BankCardType == 0)
|
|
|
- {
|
|
|
- selfStat.DirectDebitTradeAmt += TradeAmount;
|
|
|
- }
|
|
|
- else if (BankCardType != 0)
|
|
|
- {
|
|
|
- selfStat.DirectTradeAmt += TradeAmount;
|
|
|
- }
|
|
|
- db.SaveChanges();
|
|
|
- }
|
|
|
- // RedisDbconn.Instance.Clear("TotalAmount:" + UserId);
|
|
|
- // RedisDbconn.Instance.Clear("TotalAmount:" + UserId + ":" + TradeMonth);
|
|
|
- // RedisDbconn.Instance.Clear("TotalCloudPayAmount:" + UserId + ":" + TradeMonth);
|
|
|
- // RedisDbconn.Instance.Clear("TotalPosAmount:" + UserId + ":" + TradeMonth);
|
|
|
- // RedisDbconn.Instance.Clear("TotalAmount:" + UserId + ":*:" + TradeMonth);
|
|
|
- // RedisDbconn.Instance.Clear("TotalAmount:" + UserId + ":" + TradeDate);
|
|
|
- // RedisDbconn.Instance.Clear("TotalCloudPayAmount:" + UserId + ":" + TradeDate);
|
|
|
- // RedisDbconn.Instance.Clear("TotalPosAmount:" + UserId + ":" + TradeDate);
|
|
|
- // RedisDbconn.Instance.Clear("TotalAmount:" + UserId + ":*:" + TradeDate);
|
|
|
- if (!string.IsNullOrEmpty(ParentNav))
|
|
|
- {
|
|
|
- ParentNav += "," + UserId + ",";
|
|
|
- string[] ParentNavList = ParentNav.Trim(',').Replace(",,", ",").Split(',');
|
|
|
- foreach (string NavUserIdString in ParentNavList)
|
|
|
- {
|
|
|
- if (!uids.Contains(NavUserIdString + start))
|
|
|
- {
|
|
|
- uids.Add(NavUserIdString + start);
|
|
|
- int NavUserId = int.Parse(NavUserIdString);
|
|
|
- function.WriteLog(NavUserId + ":team:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "\n\n", "执行昨天交易额日志");
|
|
|
- DataTable teamDt = OtherMySqlConn.dtable("select BrandId,BankCardType,QrPayFlag,sum(TradeAmount) from TradeRecord where Id>=" + startId + " and Id<=" + endId + " and CreateDate>='" + start + "' and CreateDate<'" + end + "' and UserId in (select Id from Users where ParentNav like '%," + NavUserId + ",%' or Id=" + NavUserId + ") group by BrandId,BankCardType,QrPayFlag");
|
|
|
- function.WriteLog(NavUserId + ":team:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "\n\n", "执行昨天交易额日志");
|
|
|
- foreach (DataRow teamDr in teamDt.Rows)
|
|
|
- {
|
|
|
- int BrandId = int.Parse(teamDr["BrandId"].ToString());
|
|
|
- int BankCardType = int.Parse(teamDr["BankCardType"].ToString());
|
|
|
- int QrPayFlag = int.Parse(teamDr["QrPayFlag"].ToString());
|
|
|
- decimal TradeAmount = decimal.Parse(teamDr[3].ToString());
|
|
|
- UserTradeDaySummary teamStat = db.UserTradeDaySummary.FirstOrDefault(m => m.UserId == NavUserId && m.TradeMonth == TradeMonth && m.TradeDate == TradeDate && m.BrandId == BrandId && m.QueryCount == QrPayFlag && m.SeoTitle == "team");
|
|
|
- if (teamStat == null)
|
|
|
- {
|
|
|
- teamStat = db.UserTradeDaySummary.Add(new UserTradeDaySummary()
|
|
|
- {
|
|
|
- UserId = NavUserId,
|
|
|
- TradeMonth = TradeMonth,
|
|
|
- TradeDate = TradeDate,
|
|
|
- BrandId = BrandId,
|
|
|
- QueryCount = QrPayFlag,
|
|
|
- SeoTitle = "team",
|
|
|
- }).Entity;
|
|
|
- db.SaveChanges();
|
|
|
- }
|
|
|
- if (BankCardType == 0)
|
|
|
- {
|
|
|
- teamStat.NonDirectDebitTradeAmt += TradeAmount;
|
|
|
- }
|
|
|
- else if (BankCardType != 0)
|
|
|
- {
|
|
|
- teamStat.NonDirectTradeAmt += TradeAmount;
|
|
|
- }
|
|
|
- db.SaveChanges();
|
|
|
- }
|
|
|
- // RedisDbconn.Instance.Clear("TeamTotalAmount:" + NavUserId);
|
|
|
- // RedisDbconn.Instance.Clear("TeamTotalAmount:" + NavUserId + ":" + TradeMonth);
|
|
|
- // RedisDbconn.Instance.Clear("TeamTotalCloudPayAmount:" + NavUserId + ":" + TradeMonth);
|
|
|
- // RedisDbconn.Instance.Clear("TeamTotalPosAmount:" + NavUserId + ":" + TradeMonth);
|
|
|
- // RedisDbconn.Instance.Clear("TeamTotalAmount:" + NavUserId + ":*:" + TradeMonth);
|
|
|
- // RedisDbconn.Instance.Clear("TeamTotalAmount:" + NavUserId + ":" + TradeDate);
|
|
|
- // RedisDbconn.Instance.Clear("TeamTotalCloudPayAmount:" + NavUserId + ":" + TradeDate);
|
|
|
- // RedisDbconn.Instance.Clear("TeamTotalPosAmount:" + NavUserId + ":" + TradeDate);
|
|
|
- // RedisDbconn.Instance.Clear("TeamTotalAmount:" + NavUserId + ":*:" + TradeDate);
|
|
|
- }
|
|
|
- }
|
|
|
+ string UserId = dr["UserId"].ToString();
|
|
|
+ string ThisMonthTrade = dr[1].ToString();
|
|
|
+ OtherMySqlConn.op("update Users set ThisMonthTrade=ThisMonthTrade+" + ThisMonthTrade + " where Id=" + UserId);
|
|
|
}
|
|
|
}
|
|
|
}
|