Pārlūkot izejas kodu

Merge branch 'DuGuYang'

lcl 1 gadu atpakaļ
vecāks
revīzija
dff95f8395

BIN
.DS_Store


+ 36 - 107
AppStart/Helper/StatResetService.cs

@@ -21,11 +21,11 @@ namespace MySystem
             Thread th = new Thread(StartResetMerchantDo);
             Thread th = new Thread(StartResetMerchantDo);
             th.IsBackground = true;
             th.IsBackground = true;
             th.Start();
             th.Start();
-            
+
             Thread thUser = new Thread(StartResetUserSelfDo);
             Thread thUser = new Thread(StartResetUserSelfDo);
             thUser.IsBackground = true;
             thUser.IsBackground = true;
             thUser.Start();
             thUser.Start();
-            
+
             Thread thUserTeam = new Thread(StartResetUserTeamDo);
             Thread thUserTeam = new Thread(StartResetUserTeamDo);
             thUserTeam.IsBackground = true;
             thUserTeam.IsBackground = true;
             thUserTeam.Start();
             thUserTeam.Start();
@@ -39,7 +39,7 @@ namespace MySystem
             while (true)
             while (true)
             {
             {
                 string content = RedisDbconn.Instance.RPop<string>("ResetMerchantStatDataQueue");
                 string content = RedisDbconn.Instance.RPop<string>("ResetMerchantStatDataQueue");
-                if(!string.IsNullOrEmpty(content))
+                if (!string.IsNullOrEmpty(content))
                 {
                 {
                     StatResetMerchantAmount(content);
                     StatResetMerchantAmount(content);
                 }
                 }
@@ -54,110 +54,39 @@ namespace MySystem
             string endDate = jsonObj["EndDate"].ToString();
             string endDate = jsonObj["EndDate"].ToString();
             function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), "重置商户交易额日志");
             function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), "重置商户交易额日志");
             WebCMSEntities db = new WebCMSEntities();
             WebCMSEntities db = new WebCMSEntities();
-            string conn = Library.ConfigurationManager.AppSettings["StatSqlConnStr"].ToString();
-            KxsMainModels.WebCMSEntities maindb = new KxsMainModels.WebCMSEntities();
-            using (var tran = db.Database.BeginTransaction())
+            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
             {
             {
-                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))
                 {
                 {
-                    DataTable selfDt = CustomerSqlConn.dtable("select MerchantId,PayMode,IsAct,DATE_FORMAT(CreateDate,'%Y%m%d'),sum(PayMoney),count(Id),sum(MerchantActualAmount) from ConsumerOrders where MerchantId=" + merchantId + " and CreateDate>='" + startDate.Substring(0, 4) + "-" + startDate.Substring(4, 2) + "-" + startDate.Substring(6, 2) + " 00:00:00' and CreateDate<='" + endDate.Substring(0, 4) + "-" + endDate.Substring(4, 2) + "-" + endDate.Substring(6, 2) + " 23:59:59' group by MerchantId,PayMode,IsAct,DATE_FORMAT(CreateDate,'%Y%m%d')", AppConfig.Base.SqlConn);
-                    if (selfDt.Rows.Count > 0)
-                    {
-                        function.WriteLog("统计人数:" + selfDt.Rows.Count + "\n\n", "重置商户交易额日志");
-                        var ResetDate = "";
-                        bool check = false; //重置统计表数据开关
-                        decimal NonActAmounts = 0;
-                        decimal ActAmounts = 0;
-                        decimal AliPayInFactAmounts = 0;
-                        decimal WeChatInfactAmounts = 0;
-                        int OderCounts = 0;
-                        decimal InFactAmounts = 0;
-                        decimal TradeAmounts = 0;
-                        foreach (DataRow selfDr in selfDt.Rows)
-                        {
-                            int MerchantId = int.Parse(selfDr["MerchantId"].ToString());
-                            int PayMode = int.Parse(selfDr["PayMode"].ToString());
-                            int IsAct = int.Parse(selfDr["IsAct"].ToString());
-                            string TradeDate = selfDr[3].ToString();
-                            decimal TradeAmount = decimal.Parse(selfDr[4].ToString());
-                            int TradeCount = int.Parse(selfDr[5].ToString());
-                            decimal ActualAmount = decimal.Parse(selfDr[6].ToString());
-                            string TradeMonth = TradeDate.Substring(0, 6);
+                    var date = start.ToString("yyyy-MM-dd");
+                    CustomerSqlConn.op("delete from QrCodePlateStatServer.MerchantTradeSummary" + date.Replace("-", "") + " where  MerchantId=" + merchantId + " and TradeDate='" + date.Replace("-", "") + "'", AppConfig.Base.StatSqlConn);
+                    CustomerSqlConn.op("INSERT INTO QrCodePlateStatServer.MerchantTradeSummary" + date.Replace("-", "") + " (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);
 
 
-                            //商户交易额
-                            MerchantAmountSummay merchantStat = db.MerchantAmountSummay.FirstOrDefault(m => m.MerchantId == MerchantId && m.IsAct == IsAct && m.TradeMonth == TradeMonth && m.TradeDate == TradeDate && m.PayMode == PayMode);
-                            if (merchantStat == null)
-                            {
-                                merchantStat = db.MerchantAmountSummay.Add(new MerchantAmountSummay()
-                                {
-                                    MerchantId = MerchantId,
-                                    TradeMonth = TradeMonth,
-                                    TradeDate = TradeDate,
-                                    PayMode = PayMode,
-                                    IsAct = IsAct,
-                                }).Entity;
-                                db.SaveChanges();
-                            }
-                            var LastDate = ResetDate; //上次重置时间
-                            if (ResetDate == "")
-                            {
-                                LastDate = TradeDate;
-                            }
-                            ResetDate = TradeDate; //覆盖重置时间
-                            if (LastDate == TradeDate)
-                            {
-                                OderCounts += TradeCount;
-                                TradeAmounts += TradeAmount;
-                                if (IsAct == 0) NonActAmounts += TradeAmount;
-                                if (IsAct == 1) ActAmounts += TradeAmount;
-                                if (PayMode == 1) AliPayInFactAmounts += ActualAmount;
-                                if (PayMode == 2) WeChatInfactAmounts += ActualAmount;
-                                if (IsAct == 1) InFactAmounts += TradeAmount;
-                                if (selfDt.Rows.Count == 1)
-                                {
-                                    CustomerSqlConn.op("UPDATE MerchantTradeSummary" + LastDate + " SET NonActAmount=" + NonActAmounts + ",ActAmount=" + ActAmounts + ",AliPayInFactAmount=" + AliPayInFactAmounts + ",WeChatInfactAmount=" + WeChatInfactAmounts + ",OderCount=" + OderCounts + ",InFactAmount=" + InFactAmounts + ",TradeAmount=" + TradeAmounts + " WHERE MerchantId=" + MerchantId + "", conn);
-                                    CustomerSqlConn.op("UPDATE MerchantTradeSummaryList" + TradeMonth + " SET NonActAmount=" + NonActAmounts + ",ActAmount=" + ActAmounts + ",AliPayInFactAmount=" + AliPayInFactAmounts + ",WeChatInfactAmount=" + WeChatInfactAmounts + ",OderCount=" + OderCounts + ",InFactAmount=" + InFactAmounts + ",TradeAmount=" + TradeAmounts + " WHERE MerchantId=" + MerchantId + " AND TradeDate='" + LastDate + "'", conn);
-                                }
-                            }
-                            else
-                            {
-                                check = true;
-                                if (check)
-                                {
-                                    if (check)
-                                    {
-                                        CustomerSqlConn.op("UPDATE MerchantTradeSummary" + LastDate + " SET NonActAmount=" + NonActAmounts + ",ActAmount=" + ActAmounts + ",AliPayInFactAmount=" + AliPayInFactAmounts + ",WeChatInfactAmount=" + WeChatInfactAmounts + ",OderCount=" + OderCounts + ",InFactAmount=" + InFactAmounts + ",TradeAmount=" + TradeAmounts + " WHERE MerchantId=" + MerchantId + "", conn);
-                                        CustomerSqlConn.op("UPDATE MerchantTradeSummaryList" + TradeMonth + " SET NonActAmount=" + NonActAmounts + ",ActAmount=" + ActAmounts + ",AliPayInFactAmount=" + AliPayInFactAmounts + ",WeChatInfactAmount=" + WeChatInfactAmounts + ",OderCount=" + OderCounts + ",InFactAmount=" + InFactAmounts + ",TradeAmount=" + TradeAmounts + " WHERE MerchantId=" + MerchantId + " AND TradeDate='" + LastDate + "'", conn);
-                                        check = false;
-                                    }
-                                }
-                                if (check == false)
-                                {
-                                    OderCounts = TradeCount;
-                                    TradeAmounts = TradeAmount;
-                                    if (IsAct == 0) NonActAmounts = TradeAmount;
-                                    if (IsAct == 1) ActAmounts = TradeAmount;
-                                    if (PayMode == 1) AliPayInFactAmounts = ActualAmount;
-                                    if (PayMode == 2) WeChatInfactAmounts = ActualAmount;
-                                    if (IsAct == 1) InFactAmounts = TradeAmount;
-                                }
-                            }
-                            merchantStat.TradeAmount = TradeAmount;
-                            merchantStat.TradeCount = TradeCount;
-                            merchantStat.TotalActual = ActualAmount;
-                            db.SaveChanges();
-                        }
+
+                    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);
                     }
                     }
-                    tran.Commit();
-                }
-                catch (Exception ex)
-                {
-                    tran.Rollback();
-                    function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "重置商户交易额异常");
+                    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);
                 }
                 }
             }
             }
-            db.Dispose();
-            maindb.Dispose();
+            catch (Exception ex)
+            {
+                function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "重置商户交易额异常");
+            }
             function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "\n\n", "重置商户交易额日志");
             function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "\n\n", "重置商户交易额日志");
         }
         }
 
 
@@ -166,7 +95,7 @@ namespace MySystem
             while (true)
             while (true)
             {
             {
                 string content = RedisDbconn.Instance.RPop<string>("ResetSnStatDataQueue");
                 string content = RedisDbconn.Instance.RPop<string>("ResetSnStatDataQueue");
-                if(!string.IsNullOrEmpty(content))
+                if (!string.IsNullOrEmpty(content))
                 {
                 {
                     StatResetSnAmount(content);
                     StatResetSnAmount(content);
                 }
                 }
@@ -239,7 +168,7 @@ namespace MySystem
             while (true)
             while (true)
             {
             {
                 string content = RedisDbconn.Instance.RPop<string>("ResetUserSelfStatDataQueue");
                 string content = RedisDbconn.Instance.RPop<string>("ResetUserSelfStatDataQueue");
-                if(!string.IsNullOrEmpty(content))
+                if (!string.IsNullOrEmpty(content))
                 {
                 {
                     StatResetUserSelfAmount(content);
                     StatResetUserSelfAmount(content);
                 }
                 }
@@ -294,10 +223,10 @@ namespace MySystem
                             db.SaveChanges();
                             db.SaveChanges();
 
 
                             string ParentNav = user.ParentNav + "," + userId + ",";
                             string ParentNav = user.ParentNav + "," + userId + ",";
-                            if(!string.IsNullOrEmpty(ParentNav))
+                            if (!string.IsNullOrEmpty(ParentNav))
                             {
                             {
                                 string[] ParentNavList = ParentNav.Replace(",,", ",").Trim(',').Split(',');
                                 string[] ParentNavList = ParentNav.Replace(",,", ",").Trim(',').Split(',');
-                                foreach(string id in ParentNavList)
+                                foreach (string id in ParentNavList)
                                 {
                                 {
                                     string reqdata = "{\"UserId\":\"" + id + "\",\"StartDate\":\"" + startDate + "\",\"EndDate\":\"" + endDate + "\"}";
                                     string reqdata = "{\"UserId\":\"" + id + "\",\"StartDate\":\"" + startDate + "\",\"EndDate\":\"" + endDate + "\"}";
                                     RedisDbconn.Instance.AddList("ResetUserTeamStatDataQueue", reqdata);
                                     RedisDbconn.Instance.AddList("ResetUserTeamStatDataQueue", reqdata);
@@ -323,7 +252,7 @@ namespace MySystem
             while (true)
             while (true)
             {
             {
                 string content = RedisDbconn.Instance.RPop<string>("ResetUserTeamStatDataQueue");
                 string content = RedisDbconn.Instance.RPop<string>("ResetUserTeamStatDataQueue");
-                if(!string.IsNullOrEmpty(content))
+                if (!string.IsNullOrEmpty(content))
                 {
                 {
                     StatResetUserTeamAmount(content);
                     StatResetUserTeamAmount(content);
                 }
                 }
@@ -345,7 +274,7 @@ namespace MySystem
                 {
                 {
                     string subUserId = "0";
                     string subUserId = "0";
                     var subusers = maindb.Users.Select(m => new { m.Id, m.ParentUserId }).Where(m => m.ParentUserId == userId).ToList();
                     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;
                         subUserId += "," + subuser.Id;
                     }
                     }

+ 29 - 98
AppStart/Helper/StatResetService2.cs

@@ -55,110 +55,41 @@ namespace MySystem
             string endDate = jsonObj["EndDate"].ToString();
             string endDate = jsonObj["EndDate"].ToString();
             function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), "重置商户交易额日志");
             function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), "重置商户交易额日志");
             WebCMSEntities db = new WebCMSEntities();
             WebCMSEntities db = new WebCMSEntities();
-            string conn = Library.ConfigurationManager.AppSettings["StatSqlConnStr2"].ToString();
-            KxsMainModels.WebCMSEntities maindb = new KxsMainModels.WebCMSEntities();
-            using (var tran = db.Database.BeginTransaction())
+            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
             {
             {
-                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))
                 {
                 {
-                    DataTable selfDt = CustomerSqlConn.dtable("select MerchantId,PayMode,IsAct,DATE_FORMAT(CreateDate,'%Y%m%d'),sum(PayMoney),count(Id),sum(MerchantActualAmount) from ConsumerOrders where MerchantId=" + merchantId + " and CreateDate>='" + startDate.Substring(0, 4) + "-" + startDate.Substring(4, 2) + "-" + startDate.Substring(6, 2) + " 00:00:00' and CreateDate<='" + endDate.Substring(0, 4) + "-" + endDate.Substring(4, 2) + "-" + endDate.Substring(6, 2) + " 23:59:59' group by MerchantId,PayMode,IsAct,DATE_FORMAT(CreateDate,'%Y%m%d')", AppConfig.Base.SqlConn2);
-                    if (selfDt.Rows.Count > 0)
+                    var date = start.ToString("yyyy-MM-dd");
+                    CustomerSqlConn.op("delete from QrCodePlateStatServer2.MerchantTradeSummary" + date.Replace("-", "") + " where  MerchantId=" + merchantId + " and TradeDate='" + date.Replace("-", "") + "'", AppConfig.Base.StatSqlConn2);
+                    CustomerSqlConn.op("INSERT INTO QrCodePlateStatServer2.MerchantTradeSummary" + date.Replace("-", "") + " (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);
+
+
+                    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++)
                     {
                     {
-                        function.WriteLog("统计人数:" + selfDt.Rows.Count + "\n\n", "重置商户交易额日志");
-                        var ResetDate = "";
-                        bool check = false; //重置统计表数据开关
-                        decimal NonActAmounts = 0;
-                        decimal ActAmounts = 0;
-                        decimal AliPayInFactAmounts = 0;
-                        decimal WeChatInfactAmounts = 0;
-                        int OderCounts = 0;
-                        decimal InFactAmounts = 0;
-                        decimal TradeAmounts = 0;
-                        foreach (DataRow selfDr in selfDt.Rows)
-                        {
-                            int MerchantId = int.Parse(selfDr["MerchantId"].ToString());
-                            int PayMode = int.Parse(selfDr["PayMode"].ToString());
-                            int IsAct = int.Parse(selfDr["IsAct"].ToString());
-                            string TradeDate = selfDr[3].ToString();
-                            decimal TradeAmount = decimal.Parse(selfDr[4].ToString());
-                            int TradeCount = int.Parse(selfDr[5].ToString());
-                            decimal ActualAmount = decimal.Parse(selfDr[6].ToString());
-                            string TradeMonth = TradeDate.Substring(0, 6);
-                            //商户交易额
-                            MerchantAmountSummay merchantStat = db.MerchantAmountSummay.FirstOrDefault(m => m.MerchantId == MerchantId && m.IsAct == IsAct && m.TradeMonth == TradeMonth && m.TradeDate == TradeDate && m.PayMode == PayMode);
-                            if (merchantStat == null)
-                            {
-                                merchantStat = db.MerchantAmountSummay.Add(new MerchantAmountSummay()
-                                {
-                                    MerchantId = MerchantId,
-                                    TradeMonth = TradeMonth,
-                                    TradeDate = TradeDate,
-                                    PayMode = PayMode,
-                                    IsAct = IsAct,
-                                }).Entity;
-                                db.SaveChanges();
-                            }
-                            var LastDate = ResetDate; //上次重置时间
-                            if (ResetDate == "")
-                            {
-                                LastDate = TradeDate;
-                            }
-                            ResetDate = TradeDate; //覆盖重置时间
-                            if (LastDate == TradeDate)
-                            {
-                                OderCounts += TradeCount;
-                                TradeAmounts += TradeAmount;
-                                if (IsAct == 0) NonActAmounts += TradeAmount;
-                                if (IsAct == 1) ActAmounts += TradeAmount;
-                                if (PayMode == 1) AliPayInFactAmounts += ActualAmount;
-                                if (PayMode == 2) WeChatInfactAmounts += ActualAmount;
-                                if (IsAct == 1) InFactAmounts += TradeAmount;
-                                if (selfDt.Rows.Count == 1)
-                                {
-                                    CustomerSqlConn.op("UPDATE MerchantTradeSummary" + LastDate + " SET NonActAmount=" + NonActAmounts + ",ActAmount=" + ActAmounts + ",AliPayInFactAmount=" + AliPayInFactAmounts + ",WeChatInfactAmount=" + WeChatInfactAmounts + ",OderCount=" + OderCounts + ",InFactAmount=" + InFactAmounts + ",TradeAmount=" + TradeAmounts + " WHERE MerchantId=" + MerchantId + "", conn);
-                                    CustomerSqlConn.op("UPDATE MerchantTradeSummaryList" + TradeMonth + " SET NonActAmount=" + NonActAmounts + ",ActAmount=" + ActAmounts + ",AliPayInFactAmount=" + AliPayInFactAmounts + ",WeChatInfactAmount=" + WeChatInfactAmounts + ",OderCount=" + OderCounts + ",InFactAmount=" + InFactAmounts + ",TradeAmount=" + TradeAmounts + " WHERE MerchantId=" + MerchantId + " AND TradeDate='" + LastDate + "'", conn);
-                                }
-                            }
-                            else
-                            {
-                                check = true;
-                                if (check)
-                                {
-                                    if (check)
-                                    {
-                                        CustomerSqlConn.op("UPDATE MerchantTradeSummary" + LastDate + " SET NonActAmount=" + NonActAmounts + ",ActAmount=" + ActAmounts + ",AliPayInFactAmount=" + AliPayInFactAmounts + ",WeChatInfactAmount=" + WeChatInfactAmounts + ",OderCount=" + OderCounts + ",InFactAmount=" + InFactAmounts + ",TradeAmount=" + TradeAmounts + " WHERE MerchantId=" + MerchantId + "", conn);
-                                        CustomerSqlConn.op("UPDATE MerchantTradeSummaryList" + TradeMonth + " SET NonActAmount=" + NonActAmounts + ",ActAmount=" + ActAmounts + ",AliPayInFactAmount=" + AliPayInFactAmounts + ",WeChatInfactAmount=" + WeChatInfactAmounts + ",OderCount=" + OderCounts + ",InFactAmount=" + InFactAmounts + ",TradeAmount=" + TradeAmounts + " WHERE MerchantId=" + MerchantId + " AND TradeDate='" + LastDate + "'", conn);
-                                        check = false;
-                                    }
-                                }
-                                if (check == false)
-                                {
-                                    OderCounts = TradeCount;
-                                    TradeAmounts = TradeAmount;
-                                    if (IsAct == 0) NonActAmounts = TradeAmount;
-                                    if (IsAct == 1) ActAmounts = TradeAmount;
-                                    if (PayMode == 1) AliPayInFactAmounts = ActualAmount;
-                                    if (PayMode == 2) WeChatInfactAmounts = ActualAmount;
-                                    if (IsAct == 1) InFactAmounts = TradeAmount;
-                                }
-                            }
-                            merchantStat.TradeAmount = TradeAmount;
-                            merchantStat.TradeCount = TradeCount;
-                            merchantStat.TotalActual = ActualAmount;
-                            db.SaveChanges();
-                        }
+                        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);
                     }
                     }
-                    tran.Commit();
-                }
-                catch (Exception ex)
-                {
-                    tran.Rollback();
-                    function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "重置商户交易额异常");
+
+
+                    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);
                 }
                 }
             }
             }
-            db.Dispose();
-            maindb.Dispose();
-            function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "\n\n", "重置商户交易额日志");
+            catch (Exception ex)
+            {
+                function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "重置商户交易额异常");
+            }
         }
         }
 
 
         public void StartResetSnDo()
         public void StartResetSnDo()

BIN
BLL/LitJSON.dll


BIN
BLL/MySystemLib.dll


BIN
BLL/Newtonsoft.Json.dll


BIN
BLL/ThoughtWorks.QRCode.dll


+ 1 - 0
Config/Base.cs

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

+ 1 - 1
appsettings.Development.json

@@ -22,7 +22,7 @@
     "SqlConnStr2": "server=47.109.31.237;port=3306;user=QrCodePlateMainServer;password=ll4DFaALMu9YIooM;database=QrCodePlateMainServer2;charset=utf8;",
     "SqlConnStr2": "server=47.109.31.237;port=3306;user=QrCodePlateMainServer;password=ll4DFaALMu9YIooM;database=QrCodePlateMainServer2;charset=utf8;",
     "StatSqlConnStr": "server=47.109.31.237;port=3306;user=QrCodePlateMainServer;password=ll4DFaALMu9YIooM;database=QrCodePlateStatServer;charset=utf8;",
     "StatSqlConnStr": "server=47.109.31.237;port=3306;user=QrCodePlateMainServer;password=ll4DFaALMu9YIooM;database=QrCodePlateStatServer;charset=utf8;",
     "StatSqlConnStr2": "server=47.109.31.237;port=3306;user=QrCodePlateMainServer;password=ll4DFaALMu9YIooM;database=QrCodePlateStatServer2;charset=utf8;",
     "StatSqlConnStr2": "server=47.109.31.237;port=3306;user=QrCodePlateMainServer;password=ll4DFaALMu9YIooM;database=QrCodePlateStatServer2;charset=utf8;",
-    "RedisConnStr": "47.109.31.237:6379,password=klm@redis,DefaultDatabase=4,poolsize=500,preheat=50,asyncPipeline=true",
+    "RedisConnStr": "47.109.31.237:6379,password=klm@redis,DefaultDatabase=5,poolsize=500,preheat=50,asyncPipeline=true",
     "IOSAppVersion": "1.0.0",
     "IOSAppVersion": "1.0.0",
     "AndroidAppVersion": "1.0.0",
     "AndroidAppVersion": "1.0.0",
     "OSSKey": "iL9dWgBunZRwGbHQ",
     "OSSKey": "iL9dWgBunZRwGbHQ",