Преглед изворни кода

来客吧重置商户交易额时重置对应创客交易额

DuGuYang пре 1 година
родитељ
комит
8e6cb430c1
3 измењених фајлова са 37 додато и 9 уклоњено
  1. 22 9
      AppStart/Helper/StatResetService.cs
  2. 14 0
      AppStart/Helper/StatResetService2.cs
  3. 1 0
      Config/Base.cs

+ 22 - 9
AppStart/Helper/StatResetService.cs

@@ -21,11 +21,11 @@ namespace MySystem
             Thread th = new Thread(StartResetMerchantDo);
             th.IsBackground = true;
             th.Start();
-            
+
             Thread thUser = new Thread(StartResetUserSelfDo);
             thUser.IsBackground = true;
             thUser.Start();
-            
+
             Thread thUserTeam = new Thread(StartResetUserTeamDo);
             thUserTeam.IsBackground = true;
             thUserTeam.Start();
@@ -39,7 +39,7 @@ namespace MySystem
             while (true)
             {
                 string content = RedisDbconn.Instance.RPop<string>("ResetMerchantStatDataQueue");
-                if(!string.IsNullOrEmpty(content))
+                if (!string.IsNullOrEmpty(content))
                 {
                     StatResetMerchantAmount(content);
                 }
@@ -54,6 +54,12 @@ namespace MySystem
             string endDate = jsonObj["EndDate"].ToString();
             function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), "重置商户交易额日志");
             WebCMSEntities db = new WebCMSEntities();
+            MySystem.KxsMainModels.WebCMSEntities kxsdb = new MySystem.KxsMainModels.WebCMSEntities();
+            var merId = int.Parse(merchantId);
+            var merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == merId) ?? new MerchantInfo();
+            var user = kxsdb.Users.FirstOrDefault(m => m.Id == merchant.Id) ?? new KxsMainModels.Users();
+            string[] ParentNavList = user.ParentNav.Trim(',').Replace(",,", ",").Split(',');
+            var ParentNav = user.ParentNav.Trim(',').Replace(",,", ",").TrimEnd(',');
             try
             {
                 for (DateTime start = DateTime.Parse(startDate.Substring(0, 4) + "-" + startDate.Substring(4, 2) + "-" + startDate.Substring(6, 2)); start <= DateTime.Parse(endDate.Substring(0, 4) + "-" + endDate.Substring(4, 2) + "-" + endDate.Substring(6, 2)); start = start.AddDays(1))
@@ -66,6 +72,13 @@ namespace MySystem
                     CustomerSqlConn.op("delete from MerchantAmountSummay where  MerchantId=" + merchantId + " and TradeDate='" + date.Replace("-", "") + "'", AppConfig.Base.SqlConn);
                     CustomerSqlConn.op("INSERT INTO MerchantAmountSummay (PayMode,TotalActual,TradeAmount,TradeDate,TradeMonth,MerchantId,TradeCount,IsAct) select PayMode,sum(MerchantActualAmount) TotalActual,sum(PayMoney) TradeAmount,DATE_FORMAT(CreateDate,'%Y%m%d') TradeDate,DATE_FORMAT(CreateDate,'%Y%m') TradeMonth,MerchantId,count(Id) TradeCount,IsAct from ConsumerOrders where MerchantId=" + merchantId + " AND CreateDate>='" + date + " 00:00:00' and CreateDate<='" + date + " 23:59:59' group by MerchantId,PayMode,IsAct,DATE_FORMAT(CreateDate,'%Y%m%d'),DATE_FORMAT(CreateDate,'%Y%m')", AppConfig.Base.SqlConn);
 
+                    CustomerSqlConn.op("delete from UserAmountSummary where  UserId in(" + ParentNav + ") and TradeDate='" + date.Replace("-", "") + "'", AppConfig.Base.KxsSqlConn);
+                    CustomerSqlConn.op("INSERT INTO UserAmountSummary (PayMode,TotalActual,TradeAmount,TradeDate,TradeMonth,UserId,TradeCount,IsAct) select 'self' SeoTitle,PayMode,SUM(PayMoney) TotalAmount,DATE_FORMAT(CreateDate,'%Y%m') TradeMonth,DATE_FORMAT(CreateDate,'%Y%m%d') TradeDate, " + merchant.UserId + " UserId,count(Id) TradeCount,IsAct from ConsumerOrders where Status>0 AND MerchantId=" + merchantId + " AND CreateDate>='" + date + " 00:00:00' and CreateDate<='" + date + " 23:59:59' group by PayMode,IsAct,DATE_FORMAT(CreateDate,'%Y%m%d'),DATE_FORMAT(CreateDate,'%Y%m')", AppConfig.Base.KxsSqlConn);
+                    for (int a = 0; a < ParentNavList.Length; a++)
+                    {
+                        var UserId = ParentNavList[a];
+                        CustomerSqlConn.op("INSERT INTO UserAmountSummary (PayMode,TotalActual,TradeAmount,TradeDate,TradeMonth,UserId,TradeCount,IsAct) select 'team' SeoTitle,PayMode,SUM(PayMoney) TotalAmount,DATE_FORMAT(CreateDate,'%Y%m') TradeMonth,DATE_FORMAT(CreateDate,'%Y%m%d') TradeDate, " + UserId + " UserId,count(Id) TradeCount,IsAct from ConsumerOrders where Status>0 AND MerchantId=" + merchantId + " AND CreateDate>='" + date + " 00:00:00' and CreateDate<='" + date + " 23:59:59' group by PayMode,IsAct,DATE_FORMAT(CreateDate,'%Y%m%d'),DATE_FORMAT(CreateDate,'%Y%m')", AppConfig.Base.KxsSqlConn);
+                    }
                     CustomerSqlConn.op("delete from QrCodePlateStatServer.MerchantTradeSummaryList" + date.Replace("-", "").Substring(0, 6) + " where  MerchantId=" + merchantId + " and TradeDate='" + date.Replace("-", "") + "'", AppConfig.Base.StatSqlConn);
                     CustomerSqlConn.op("INSERT INTO QrCodePlateStatServer.MerchantTradeSummaryList" + date.Replace("-", "").Substring(0, 6) + " (MerchantId,TradeDate,TradeMonth,TradeAmount,InFactAmount,OderCount,WeChatInfactAmount,AliPayInFactAmount,ActAmount,NonActAmount) select MerchantId,DATE_FORMAT(CreateDate,'%Y%m%d') Date ,DATE_FORMAT(CreateDate,'%Y%m') Month,sum(PayMoney) TradeAmount,sum(MerchantActualAmount) InFactAmount,count(Id) Count,sum(if(PayMode=2,MerchantActualAmount,0)) WeChatInfactAmount,sum(if(PayMode=1,MerchantActualAmount,0)) AliPayInFactAmount,sum(if(IsAct=1,PayMoney,0)) ActAmount,sum(if(IsAct=0,PayMoney,0)) NonActAmount from ConsumerOrders where Status>0 AND MerchantId=" + merchantId + " AND CreateDate>='" + date + " 00:00:00' and CreateDate<='" + date + " 23:59:59' group by MerchantId,DATE_FORMAT(CreateDate,'%Y%m%d'),DATE_FORMAT(CreateDate,'%Y%m')", AppConfig.Base.SqlConn);
                 }
@@ -82,7 +95,7 @@ namespace MySystem
             while (true)
             {
                 string content = RedisDbconn.Instance.RPop<string>("ResetSnStatDataQueue");
-                if(!string.IsNullOrEmpty(content))
+                if (!string.IsNullOrEmpty(content))
                 {
                     StatResetSnAmount(content);
                 }
@@ -155,7 +168,7 @@ namespace MySystem
             while (true)
             {
                 string content = RedisDbconn.Instance.RPop<string>("ResetUserSelfStatDataQueue");
-                if(!string.IsNullOrEmpty(content))
+                if (!string.IsNullOrEmpty(content))
                 {
                     StatResetUserSelfAmount(content);
                 }
@@ -210,10 +223,10 @@ namespace MySystem
                             db.SaveChanges();
 
                             string ParentNav = user.ParentNav + "," + userId + ",";
-                            if(!string.IsNullOrEmpty(ParentNav))
+                            if (!string.IsNullOrEmpty(ParentNav))
                             {
                                 string[] ParentNavList = ParentNav.Replace(",,", ",").Trim(',').Split(',');
-                                foreach(string id in ParentNavList)
+                                foreach (string id in ParentNavList)
                                 {
                                     string reqdata = "{\"UserId\":\"" + id + "\",\"StartDate\":\"" + startDate + "\",\"EndDate\":\"" + endDate + "\"}";
                                     RedisDbconn.Instance.AddList("ResetUserTeamStatDataQueue", reqdata);
@@ -239,7 +252,7 @@ namespace MySystem
             while (true)
             {
                 string content = RedisDbconn.Instance.RPop<string>("ResetUserTeamStatDataQueue");
-                if(!string.IsNullOrEmpty(content))
+                if (!string.IsNullOrEmpty(content))
                 {
                     StatResetUserTeamAmount(content);
                 }
@@ -261,7 +274,7 @@ namespace MySystem
                 {
                     string subUserId = "0";
                     var subusers = maindb.Users.Select(m => new { m.Id, m.ParentUserId }).Where(m => m.ParentUserId == userId).ToList();
-                    foreach(var subuser in subusers)
+                    foreach (var subuser in subusers)
                     {
                         subUserId += "," + subuser.Id;
                     }

+ 14 - 0
AppStart/Helper/StatResetService2.cs

@@ -55,6 +55,12 @@ namespace MySystem
             string endDate = jsonObj["EndDate"].ToString();
             function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), "重置商户交易额日志");
             WebCMSEntities db = new WebCMSEntities();
+            MySystem.KxsMainModels.WebCMSEntities kxsdb = new MySystem.KxsMainModels.WebCMSEntities();
+            var merId = int.Parse(merchantId);
+            var merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == merId) ?? new MerchantInfo();
+            var user = kxsdb.Users.FirstOrDefault(m => m.Id == merchant.Id) ?? new KxsMainModels.Users();
+            string[] ParentNavList = user.ParentNav.Trim(',').Replace(",,", ",").Split(',');
+            var ParentNav = user.ParentNav.Trim(',').Replace(",,", ",").TrimEnd(',');
             try
             {
                 for (DateTime start = DateTime.Parse(startDate.Substring(0, 4) + "-" + startDate.Substring(4, 2) + "-" + startDate.Substring(6, 2)); start <= DateTime.Parse(endDate.Substring(0, 4) + "-" + endDate.Substring(4, 2) + "-" + endDate.Substring(6, 2)); start = start.AddDays(1))
@@ -67,6 +73,14 @@ namespace MySystem
                     CustomerSqlConn.op("delete from MerchantAmountSummay where  MerchantId=" + merchantId + " and TradeDate='" + date.Replace("-", "") + "'", AppConfig.Base.SqlConn2);
                     CustomerSqlConn.op("INSERT INTO MerchantAmountSummay (PayMode,TotalActual,TradeAmount,TradeDate,TradeMonth,MerchantId,TradeCount,IsAct) select PayMode,sum(MerchantActualAmount) TotalActual,sum(PayMoney) TradeAmount,DATE_FORMAT(CreateDate,'%Y%m%d') TradeDate,DATE_FORMAT(CreateDate,'%Y%m') TradeMonth,MerchantId,count(Id) TradeCount,IsAct from ConsumerOrders where MerchantId=" + merchantId + " AND CreateDate>='" + date + " 00:00:00' and CreateDate<='" + date + " 23:59:59' group by MerchantId,PayMode,IsAct,DATE_FORMAT(CreateDate,'%Y%m%d'),DATE_FORMAT(CreateDate,'%Y%m')", AppConfig.Base.SqlConn2);
 
+                    CustomerSqlConn.op("delete from UserAmountSummary where  UserId in(" + ParentNav + ") and TradeDate='" + date.Replace("-", "") + "'", AppConfig.Base.KxsSqlConn);
+                    CustomerSqlConn.op("INSERT INTO UserAmountSummary (PayMode,TotalActual,TradeAmount,TradeDate,TradeMonth,UserId,TradeCount,IsAct) select 'self' SeoTitle,PayMode,SUM(PayMoney) TotalAmount,DATE_FORMAT(CreateDate,'%Y%m') TradeMonth,DATE_FORMAT(CreateDate,'%Y%m%d') TradeDate, " + merchant.UserId + " UserId,count(Id) TradeCount,IsAct from ConsumerOrders where Status>0 AND MerchantId=" + merchantId + " AND CreateDate>='" + date + " 00:00:00' and CreateDate<='" + date + " 23:59:59' group by PayMode,IsAct,DATE_FORMAT(CreateDate,'%Y%m%d'),DATE_FORMAT(CreateDate,'%Y%m')", AppConfig.Base.KxsSqlConn);
+                    for (int a = 0; a < ParentNavList.Length; a++)
+                    {
+                        var UserId = ParentNavList[a];
+                        CustomerSqlConn.op("INSERT INTO UserAmountSummary (PayMode,TotalActual,TradeAmount,TradeDate,TradeMonth,UserId,TradeCount,IsAct) select 'team' SeoTitle,PayMode,SUM(PayMoney) TotalAmount,DATE_FORMAT(CreateDate,'%Y%m') TradeMonth,DATE_FORMAT(CreateDate,'%Y%m%d') TradeDate, " + UserId + " UserId,count(Id) TradeCount,IsAct from ConsumerOrders where Status>0 AND MerchantId=" + merchantId + " AND CreateDate>='" + date + " 00:00:00' and CreateDate<='" + date + " 23:59:59' group by PayMode,IsAct,DATE_FORMAT(CreateDate,'%Y%m%d'),DATE_FORMAT(CreateDate,'%Y%m')", AppConfig.Base.KxsSqlConn);
+                    }
+
 
                     CustomerSqlConn.op("delete from QrCodePlateStatServer2.MerchantTradeSummaryList" + date.Replace("-", "").Substring(0, 6) + " where  MerchantId=" + merchantId + " and TradeDate='" + date.Replace("-", "") + "'", AppConfig.Base.StatSqlConn2);
                     CustomerSqlConn.op("INSERT INTO QrCodePlateStatServer2.MerchantTradeSummaryList" + date.Replace("-", "").Substring(0, 6) + " (MerchantId,TradeDate,TradeMonth,TradeAmount,InFactAmount,OderCount,WeChatInfactAmount,AliPayInFactAmount,ActAmount,NonActAmount) select MerchantId,DATE_FORMAT(CreateDate,'%Y%m%d') Date ,DATE_FORMAT(CreateDate,'%Y%m') Month,sum(PayMoney) TradeAmount,sum(MerchantActualAmount) InFactAmount,count(Id) Count,sum(if(PayMode=2,MerchantActualAmount,0)) WeChatInfactAmount,sum(if(PayMode=1,MerchantActualAmount,0)) AliPayInFactAmount,sum(if(IsAct=1,PayMoney,0)) ActAmount,sum(if(IsAct=0,PayMoney,0)) NonActAmount from ConsumerOrders where Status>0 AND MerchantId=" + merchantId + " AND CreateDate>='" + date + " 00:00:00' and CreateDate<='" + date + " 23:59:59' group by MerchantId,DATE_FORMAT(CreateDate,'%Y%m%d'),DATE_FORMAT(CreateDate,'%Y%m')", AppConfig.Base.SqlConn2);

+ 1 - 0
Config/Base.cs

@@ -9,6 +9,7 @@ namespace AppConfig
         public static string StatSqlConn = Library.ConfigurationManager.AppSettings["StatSqlConnStr"].ToString();
         public static string SqlConn2 = Library.ConfigurationManager.AppSettings["SqlConnStr2"].ToString();
         public static string StatSqlConn2 = Library.ConfigurationManager.AppSettings["StatSqlConnStr2"].ToString();
+        public static string KxsSqlConn = Library.ConfigurationManager.AppSettings["KxsSqlConnStr"].ToString();
 
 
         //交易记录表