瀏覽代碼

统计上月交易额,带最大市场交易额

lichunlei 2 年之前
父節點
當前提交
363e91eae7
共有 2 個文件被更改,包括 109 次插入26 次删除
  1. 84 1
      AppStart/Helper/TestService.cs
  2. 25 25
      Startup.cs

+ 84 - 1
AppStart/Helper/TestService.cs

@@ -17,7 +17,7 @@ namespace MySystem
 
 
         public void Start()
         public void Start()
         {
         {
-            Thread th = new Thread(helpprofit);
+            Thread th = new Thread(tradeAmt);
             th.IsBackground = true;
             th.IsBackground = true;
             th.Start();
             th.Start();
         }
         }
@@ -412,6 +412,89 @@ namespace MySystem
                 }
                 }
             }
             }
         }
         }
+
+
+        // 每月交易额统计
+        public void tradeAmt()
+        {
+            function.WriteLog("start:" + DateTime.Now.ToString(), "每月交易额统计");
+            string month = DateTime.Now.AddMonths(-1).ToString("yyyyMM");
+            string html = "<table>";
+            html += "<tr>";
+            html += "<td>创客编号</td>";
+            html += "<td>创客名称</td>";
+            html += "<td>创客身份证号</td>";
+            html += "<td>创客手机号</td>";
+            html += "<td>顶级创客编号</td>";
+            html += "<td>顶级创客名称</td>";
+            html += "<td>交易额</td>";
+            html += "<td>最大市场交易额</td>";
+            html += "</tr>";
+            WebCMSEntities db = new WebCMSEntities();
+            OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["Pxc1SqlConnStr"].ToString();
+            DataTable dt = OtherMySqlConn.dtable("select DISTINCT UserId from TradeDaySummary where TradeMonth='" + month + "' and SeoTitle='team' and UserId>0");
+            function.WriteLog("总数:" + dt.Rows.Count, "每月交易额统计");
+            foreach(DataRow dr in dt.Rows)
+            {
+                int UserId = int.Parse(function.CheckInt(dr["UserId"].ToString()));
+                decimal TradeAmt = 0;
+                decimal MaxTradeAmt = 0;
+                DataTable userdt = OtherMySqlConn.dtable("select sum(HelpNonDirectTradeAmt+NotHelpNonDirectTradeAmt+HelpNonDirectCreditTradeAmt+NotHelpNonDirectCreditTradeAmt) from TradeDaySummary where TradeMonth='" + month + "' and SeoTitle='team' and UserId=" + UserId);
+                if(userdt.Rows.Count > 0)
+                {
+                    TradeAmt = decimal.Parse(function.CheckInt(userdt.Rows[0][0].ToString()));
+                }
+                List<decimal> subTradeAmtList = new List<decimal>();
+                DataTable subdt = OtherMySqlConn.dtable("select Id from Users where ParentUserId=" + UserId + " and AuthFlag=1");
+                foreach(DataRow subdr in subdt.Rows)
+                {
+                    int SubUserId = int.Parse(function.CheckInt(subdr["Id"].ToString()));
+                    decimal subTradeAmt = 0;
+                    DataTable subuserdt = OtherMySqlConn.dtable("select sum(HelpNonDirectTradeAmt+NotHelpNonDirectTradeAmt+HelpNonDirectCreditTradeAmt+NotHelpNonDirectCreditTradeAmt) from TradeDaySummary where TradeMonth='" + month + "' and SeoTitle='team' and UserId=" + SubUserId);
+                    if(subuserdt.Rows.Count > 0)
+                    {
+                        subTradeAmt = decimal.Parse(function.CheckInt(subuserdt.Rows[0][0].ToString()));
+                    }
+                    subTradeAmtList.Add(subTradeAmt);
+                }
+                if(subTradeAmtList.Count > 0)
+                {
+                    MaxTradeAmt = subTradeAmtList.Max(m => m);
+                }
+                Users user = db.Users.FirstOrDefault(m => m.Id == UserId) ?? new Users();
+                int TopUserId = 0;
+                string ParentNav = user.ParentNav;
+                if (!string.IsNullOrEmpty(ParentNav))
+                {
+                    string[] ParentNavList = ParentNav.Trim(',').Replace(",,", ",").Split(',');
+                    if (ParentNavList.Length > 1)
+                    {
+                        TopUserId = int.Parse(ParentNavList[1]);
+                    }
+                    else if (ParentNavList.Length == 1)
+                    {
+                        TopUserId = int.Parse(ParentNavList[0]);
+                    }
+                }
+                Users tuser = db.Users.FirstOrDefault(m => m.Id == TopUserId) ?? new Users();
+                html += "<tr>";
+                html += "<td>" + user.MakerCode + "</td>";
+                html += "<td>" + user.RealName + "</td>";
+                html += "<td>" + user.CertId + "</td>";
+                html += "<td>" + user.Mobile + "</td>";
+                html += "<td>" + tuser.MakerCode + "</td>";
+                html += "<td>" + tuser.RealName + "</td>";
+                html += "<td>" + TradeAmt + "</td>";
+                html += "<td>" + MaxTradeAmt + "</td>";
+                html += "</tr>";
+                function.WriteLog(DateTime.Now.ToString(), "每月交易额统计");
+                function.WriteLog(UserId.ToString(), "每月交易额统计");
+            }
+            html += "</table>";
+            db.SaveChanges();
+            function.WritePage("/htmlfile/", month + ".html", html);
+            function.WriteLog("end:" + DateTime.Now.ToString(), "每月交易额统计");
+        }
     
     
     }
     }
 }
 }

+ 25 - 25
Startup.cs

@@ -91,8 +91,8 @@ namespace MySystem
             // services.AddHostedService<SycnSpTimer>(); //同步SP数据
             // services.AddHostedService<SycnSpTimer>(); //同步SP数据
 
 
             // services.AddHostedService<TimerStatTimer>(); //实时统计创客、激活商户数
             // services.AddHostedService<TimerStatTimer>(); //实时统计创客、激活商户数
-            // services.AddHostedService<PosTradeStatTimer>(); // 统计头天的交易额、商户型创客、激活奖励、开机奖励
-            // services.AddHostedService<AlipayPayBack2Timer>(); //支付宝回调处理
+            services.AddHostedService<PosTradeStatTimer>(); // 统计头天的交易额、商户型创客、激活奖励、开机奖励
+            services.AddHostedService<AlipayPayBack2Timer>(); //支付宝回调处理
 
 
             //services.AddHttpContextAccessor();
             //services.AddHttpContextAccessor();
 
 
@@ -190,31 +190,31 @@ namespace MySystem
             // TradeStatTimer2.Instance.Start(); //交易统计
             // TradeStatTimer2.Instance.Start(); //交易统计
 
 
             //必须打开的
             //必须打开的
-            // ActiveRewardTimer.Instance.Start(); //实时处理激活记录
-            // TradeStatTimer.Instance.Start(); //交易统计
-            // ChangePosTimer.Instance.Start(); //售后换新执行机具数据转移
-            // MakeReferenceQrCodeService.Instance.StartListen(); //生成创客邀请二维码
-            // SycnSpBindService.Instance.Start(); //同步SP绑定数据
-            // SycnSpMerchantService.Instance.Start(); //同步SP商户数据
-            // SycnSpActiveService.Instance.Start(); //同步SP激活数据
-            // SycnSpTradeService.Instance.Start(); //同步SP交易数据
-            // SycnSpChangeBindService.Instance.Start(); //同步SP换绑数据
-            // SycnSpUnBindService.Instance.Start(); //同步SP解绑数据
-            // RedPackageV2Helper.Instance.Start(); //每天生成红包
-            // RedPackageV2Helper.Instance.StartStatTop10(); //红包活动统计排行
-            // RedPackageV2Helper.Instance.StartSendPrize(); //红包活动发奖
-            // BalancePayBackService.Instance.Start(); //余额支付队列
-            // ReservePayBackService.Instance.Start(); //储备金支付队列
-            // LeaderPrizeService.Instance.Start(); //大盟主奖励发奖
-            // MessageCenterService.Instance.Start(); // 消息队列
-            // RecommendActStatService.Instance.Start(); //推荐王奖励数据统计
+            ActiveRewardTimer.Instance.Start(); //实时处理激活记录
+            TradeStatTimer.Instance.Start(); //交易统计
+            ChangePosTimer.Instance.Start(); //售后换新执行机具数据转移
+            MakeReferenceQrCodeService.Instance.StartListen(); //生成创客邀请二维码
+            SycnSpBindService.Instance.Start(); //同步SP绑定数据
+            SycnSpMerchantService.Instance.Start(); //同步SP商户数据
+            SycnSpActiveService.Instance.Start(); //同步SP激活数据
+            SycnSpTradeService.Instance.Start(); //同步SP交易数据
+            SycnSpChangeBindService.Instance.Start(); //同步SP换绑数据
+            SycnSpUnBindService.Instance.Start(); //同步SP解绑数据
+            RedPackageV2Helper.Instance.Start(); //每天生成红包
+            RedPackageV2Helper.Instance.StartStatTop10(); //红包活动统计排行
+            RedPackageV2Helper.Instance.StartSendPrize(); //红包活动发奖
+            BalancePayBackService.Instance.Start(); //余额支付队列
+            ReservePayBackService.Instance.Start(); //储备金支付队列
+            LeaderPrizeService.Instance.Start(); //大盟主奖励发奖
+            MessageCenterService.Instance.Start(); // 消息队列
+            RecommendActStatService.Instance.Start(); //推荐王奖励数据统计
             StoreApplyHelper.Instance.Start(); // 每月1号重置仓库额度
             StoreApplyHelper.Instance.Start(); // 每月1号重置仓库额度
-            // StoreApplyHelper.Instance.StartEverTime();
-            // StatService.Instance.StatUserLevel(); //升级并分润
+            StoreApplyHelper.Instance.StartEverTime();
+            StatService.Instance.StatUserLevel(); //升级并分润
             //必须打开的
             //必须打开的
 
 
-            // HelpProfitHelper.Instance.Start();
-            // HelpProfitPreMerchantHelper.Instance.Start();
+            HelpProfitHelper.Instance.Start();
+            HelpProfitPreMerchantHelper.Instance.Start();
             // StatService.Instance.StartPosActNum(); //实时统计激活数
             // StatService.Instance.StartPosActNum(); //实时统计激活数
             // StatService.Instance.StartNewUserNum(); //实时统计新增创客数
             // StatService.Instance.StartNewUserNum(); //实时统计新增创客数
             // StatService.Instance.StatProfit(); //实时统计创客收益
             // StatService.Instance.StatProfit(); //实时统计创客收益
@@ -226,7 +226,7 @@ namespace MySystem
             // StatService.Instance.ListenFluxRecord();
             // StatService.Instance.ListenFluxRecord();
             // StatService.Instance.StartEverDay2();
             // StatService.Instance.StartEverDay2();
             // TestHelper.Instance.Start();
             // TestHelper.Instance.Start();
-            // TestService.Instance.Start();
+            TestService.Instance.Start();
             // StatService.Instance.StartEverDay();
             // StatService.Instance.StartEverDay();
             // RabbitMQClient.Instance.StartReceive("MerchantConfirmList");
             // RabbitMQClient.Instance.StartReceive("MerchantConfirmList");
             // RabbitMQClient.Instance.StartReceive("CheckWeChatSign");
             // RabbitMQClient.Instance.StartReceive("CheckWeChatSign");