Pārlūkot izejas kodu

分润获取预设职级判断过期时间调整

lichunlei 2 gadi atpakaļ
vecāks
revīzija
e783165993

+ 2 - 2
AppStart/Helper/Profit/ProfitCheckHelper.cs

@@ -39,7 +39,7 @@ namespace MySystem
             string Month = DateTime.Now.AddMonths(-1).ToString("yyyyMM");
             string Month = DateTime.Now.AddMonths(-1).ToString("yyyyMM");
             WebCMSEntities db = new WebCMSEntities();
             WebCMSEntities db = new WebCMSEntities();
             OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["Pxc1SqlConnStr"].ToString();
             OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["Pxc1SqlConnStr"].ToString();
-            DataTable dt = OtherMySqlConn.dtable("select u.MakerCode,u.RealName,u.UserLevel,r.Rank,(case when ProfitType=1 then '直营' else '团队' end) as DirectFlag,k.Name,BrandId,CreditTradeAmt,CreditTradeProfit,QrCreditTradeAmt,QrCreditTradeProfit,NonQrCreditTradeAmt,NonQrCreditTradeProfit,HelpCreditTradeAmt,HelpCreditTradeProfit,NotHelpCreditTradeAmt,NotHelpCreditTradeProfit,DebitTradeAmt,DebitTradeProfit from (select UserId,ProfitType,BrandId,sum(CreditTradeAmt) as CreditTradeAmt,sum(CreditTradeProfit) as CreditTradeProfit,sum(QrCreditTradeAmt) as QrCreditTradeAmt,sum(QrCreditTradeProfit) as QrCreditTradeProfit,sum(NonQrCreditTradeAmt) as NonQrCreditTradeAmt,sum(NonQrCreditTradeProfit) as NonQrCreditTradeProfit,sum(HelpCreditTradeAmt) as HelpCreditTradeAmt,sum(HelpCreditTradeProfit) as HelpCreditTradeProfit,sum(NotHelpCreditTradeAmt) as NotHelpCreditTradeAmt,sum(NotHelpCreditTradeProfit) as NotHelpCreditTradeProfit,sum(DebitNonCapTradeAmt+DebitCapTradeAmt) as DebitTradeAmt,sum(DebitNonTradeCapProfit+DebitTradeCapProfit) as DebitTradeProfit from ProfitRewardRecord where TradeMonth='" + Month + "' GROUP BY UserId,ProfitType,BrandId) tb left join Users u on tb.UserId=u.Id LEFT JOIN KqProducts k ON k.Id=tb.BrandId left join UserRankWhite r on u.Id=r.Id ORDER BY u.MakerCode");
+            DataTable dt = OtherMySqlConn.dtable("select u.MakerCode,u.RealName,u.UserLevel,r.Rank,(case when ProfitType=1 then '直营' else '团队' end) as DirectFlag,k.Name,BrandId,CreditTradeAmt,CreditTradeProfit,QrCreditTradeAmt,QrCreditTradeProfit,NonQrCreditTradeAmt,NonQrCreditTradeProfit,HelpCreditTradeAmt,HelpCreditTradeProfit,NotHelpCreditTradeAmt,NotHelpCreditTradeProfit,DebitTradeAmt,DebitTradeProfit from (select UserId,ProfitType,BrandId,sum(CreditTradeAmt) as CreditTradeAmt,sum(CreditTradeProfit) as CreditTradeProfit,sum(QrCreditTradeAmt) as QrCreditTradeAmt,sum(QrCreditTradeProfit) as QrCreditTradeProfit,sum(NonQrCreditTradeAmt) as NonQrCreditTradeAmt,sum(NonQrCreditTradeProfit) as NonQrCreditTradeProfit,sum(HelpCreditTradeAmt) as HelpCreditTradeAmt,sum(HelpCreditTradeProfit) as HelpCreditTradeProfit,sum(NotHelpCreditTradeAmt) as NotHelpCreditTradeAmt,sum(NotHelpCreditTradeProfit) as NotHelpCreditTradeProfit,sum(DebitNonCapTradeAmt+DebitCapTradeAmt) as DebitTradeAmt,sum(DebitNonTradeCapProfit+DebitTradeCapProfit) as DebitTradeProfit from ProfitRewardRecord where TradeMonth='" + Month + "' GROUP BY UserId,ProfitType,BrandId) tb left join Users u on tb.UserId=u.Id LEFT JOIN KqProducts k ON k.Id=tb.BrandId left join UserRankWhite r on u.Id=r.Id and r.CreateDate<'" + DateTime.Now.ToString("yyyy-MM") + "-01 00:00:00' and r.UpdateDate>'" + DateTime.Now.ToString("yyyy-MM") + "-01 00:00:00' ORDER BY u.MakerCode");
             foreach(DataRow dr in dt.Rows)
             foreach(DataRow dr in dt.Rows)
             {
             {
                 string MakerCode = dr["MakerCode"].ToString();
                 string MakerCode = dr["MakerCode"].ToString();
@@ -95,7 +95,7 @@ namespace MySystem
             string Month = DateTime.Now.AddMonths(-1).ToString("yyyyMM");
             string Month = DateTime.Now.AddMonths(-1).ToString("yyyyMM");
             WebCMSEntities db = new WebCMSEntities();
             WebCMSEntities db = new WebCMSEntities();
             OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["Pxc1SqlConnStr"].ToString();
             OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["Pxc1SqlConnStr"].ToString();
-            DataTable dt = OtherMySqlConn.dtable("select u.MakerCode,u.RealName,u.UserLevel,r.Rank,m.KqSnNo,m.MerchantName,(case when SubsidyType=1 then '直营' else '团队' end) as DirectFlag,k.Name,tb.BrandId,CreditTradeAmt,SubsidyProfit from (select SubsidyUserId,MerchantId,BrandId,SubsidyType,sum(CreditTradeAmt) as CreditTradeAmt,sum(SubsidyProfitRate) as SubsidyProfit from ProfitSubsidyDetail where TradeMonth='" + Month + "' GROUP BY SubsidyUserId,MerchantId,BrandId,SubsidyType) tb left join Users u on tb.SubsidyUserId=u.Id LEFT JOIN KqProducts k ON k.Id=tb.BrandId left join PosMerchantInfo m on tb.MerchantId=m.Id left join UserRankWhite r on u.Id=r.Id");
+            DataTable dt = OtherMySqlConn.dtable("select u.MakerCode,u.RealName,u.UserLevel,r.Rank,m.KqSnNo,m.MerchantName,(case when SubsidyType=1 then '直营' else '团队' end) as DirectFlag,k.Name,tb.BrandId,CreditTradeAmt,SubsidyProfit from (select SubsidyUserId,MerchantId,BrandId,SubsidyType,sum(CreditTradeAmt) as CreditTradeAmt,sum(SubsidyProfitRate) as SubsidyProfit from ProfitSubsidyDetail where TradeMonth='" + Month + "' GROUP BY SubsidyUserId,MerchantId,BrandId,SubsidyType) tb left join Users u on tb.SubsidyUserId=u.Id LEFT JOIN KqProducts k ON k.Id=tb.BrandId left join PosMerchantInfo m on tb.MerchantId=m.Id left join UserRankWhite r on u.Id=r.Id and r.CreateDate<'" + DateTime.Now.ToString("yyyy-MM") + "-01 00:00:00' and r.UpdateDate>'" + DateTime.Now.ToString("yyyy-MM") + "-01 00:00:00'");
             foreach(DataRow dr in dt.Rows)
             foreach(DataRow dr in dt.Rows)
             {
             {
                 string MakerCode = dr["MakerCode"].ToString();
                 string MakerCode = dr["MakerCode"].ToString();

+ 3 - 3
AppStart/Helper/Profit/ProfitHelperV2.cs

@@ -490,7 +490,7 @@ namespace MySystem
                                             int uid = int.Parse(UserIdString);
                                             int uid = int.Parse(UserIdString);
                                             Users user = dbnew.Users.FirstOrDefault(m => m.Id == uid) ?? new Users();
                                             Users user = dbnew.Users.FirstOrDefault(m => m.Id == uid) ?? new Users();
                                             int UserLevel = user.UserLevel; //当前会员等级
                                             int UserLevel = user.UserLevel; //当前会员等级
-                                            UserRankWhite rank = dbnew.UserRankWhite.FirstOrDefault(m => m.Id == user.Id && m.CreateDate < ThisMonth && m.UpdateDate > now);
+                                            UserRankWhite rank = dbnew.UserRankWhite.FirstOrDefault(m => m.Id == user.Id && m.CreateDate < ThisMonth && m.UpdateDate > ThisMonth);
                                             if (rank != null)
                                             if (rank != null)
                                             {
                                             {
                                                 if (rank.Rank > UserLevel)
                                                 if (rank.Rank > UserLevel)
@@ -551,7 +551,7 @@ namespace MySystem
                                                         int subUserLevel = subuser.UserLevel;
                                                         int subUserLevel = subuser.UserLevel;
                                                         if (subUserLevel < 5)
                                                         if (subUserLevel < 5)
                                                         {
                                                         {
-                                                            UserRankWhite subrank = dbnew.UserRankWhite.FirstOrDefault(m => m.Id == subuser.Id && m.CreateDate < ThisMonth && m.UpdateDate > now);
+                                                            UserRankWhite subrank = dbnew.UserRankWhite.FirstOrDefault(m => m.Id == subuser.Id && m.CreateDate < ThisMonth && m.UpdateDate > ThisMonth);
                                                             if (subrank != null)
                                                             if (subrank != null)
                                                             {
                                                             {
                                                                 if (subrank.Rank > subUserLevel)
                                                                 if (subrank.Rank > subUserLevel)
@@ -605,7 +605,7 @@ namespace MySystem
                                             int uid = int.Parse(UserIdString);
                                             int uid = int.Parse(UserIdString);
                                             Users user = dbnew.Users.FirstOrDefault(m => m.Id == uid) ?? new Users();
                                             Users user = dbnew.Users.FirstOrDefault(m => m.Id == uid) ?? new Users();
                                             int UserLevel = user.UserLevel; //当前会员等级
                                             int UserLevel = user.UserLevel; //当前会员等级
-                                            UserRankWhite rank = dbnew.UserRankWhite.FirstOrDefault(m => m.Id == user.Id && m.CreateDate < ThisMonth && m.UpdateDate > now);
+                                            UserRankWhite rank = dbnew.UserRankWhite.FirstOrDefault(m => m.Id == user.Id && m.CreateDate < ThisMonth && m.UpdateDate > ThisMonth);
                                             if (rank != null)
                                             if (rank != null)
                                             {
                                             {
                                                 if (rank.Rank > UserLevel)
                                                 if (rank.Rank > UserLevel)

+ 52 - 2
AppStart/Helper/TestService.cs

@@ -17,7 +17,7 @@ namespace MySystem
 
 
         public void Start()
         public void Start()
         {
         {
-            Thread th = new Thread(tradeAmt);
+            Thread th = new Thread(SubsidyDo);
             th.IsBackground = true;
             th.IsBackground = true;
             th.Start();
             th.Start();
         }
         }
@@ -414,7 +414,7 @@ namespace MySystem
         }
         }
 
 
 
 
-        // 每月交易额统计
+        #region 每月交易额统计
         public void tradeAmt()
         public void tradeAmt()
         {
         {
             while(true)
             while(true)
@@ -501,6 +501,56 @@ namespace MySystem
             function.WritePage("/htmlfile/", month + ".html", html);
             function.WritePage("/htmlfile/", month + ".html", html);
             function.WriteLog("end:" + DateTime.Now.ToString(), "每月交易额统计");
             function.WriteLog("end:" + DateTime.Now.ToString(), "每月交易额统计");
         }
         }
+        #endregion
+
+        #region 查找8月多余补贴
+
+        // public void Subsidy()
+        // {
+        //     while(true)
+        //     {
+        //         if(DateTime.Now.Hour > 4)
+        //         {
+        //             SubsidyDo();
+        //         }
+        //         Thread.Sleep(60000);
+        //     }
+        // }
+        public void SubsidyDo()
+        {
+            WebCMSEntities db = new WebCMSEntities();
+            OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["Pxc1SqlConnStr"].ToString();
+            DataTable dt = OtherMySqlConn.dtable("select UserId,ProductType,ChangeAmount from UserAccountRecord where ChangeType=111 and CreateDate>='2022-09-01 00:00:00' and CreateDate<'2022-10-01 00:00:00' order by Id");
+            function.WriteLog("总数:" + dt.Rows.Count, "查找8月多余补贴");
+            foreach(DataRow dr in dt.Rows)
+            {
+                int UserId = int.Parse(function.CheckInt(dr["UserId"].ToString()));
+                int ProductType = int.Parse(function.CheckInt(dr["ProductType"].ToString()));
+                decimal ChangeAmount = decimal.Parse(function.CheckNum(dr["ChangeAmount"].ToString()));
+                decimal CheckAmount = 0;
+                DataTable checkdt = OtherMySqlConn.dtable("select sum(SubsidyProfit) from ProfitSubsidyExport2 where MakerCode=(select MakerCode from Users where Id=" + UserId + ") and BrandName=(select Name from KqProducts where Id=" + ProductType + ")");
+                if(checkdt.Rows.Count > 0)
+                {
+                    CheckAmount = decimal.Parse(function.CheckNum(checkdt.Rows[0][0].ToString()));
+                    if(ChangeAmount - CheckAmount > 1 && CheckAmount > 0)
+                    {
+                        decimal LastAmount = ChangeAmount - CheckAmount;
+                        function.WriteLog("差异分润:UserId:" + UserId + ";ProductType:" + ProductType + ";ChangeAmount:" + ChangeAmount + ";CheckAmount:" + CheckAmount + ";LastAmount:" + LastAmount + ";", "查找8月多余补贴");
+                    }
+                    else
+                    {
+                        function.WriteLog("多余分润:UserId:" + UserId + ";ProductType:" + ProductType + ";ChangeAmount:" + ChangeAmount + ";", "查找8月多余补贴");
+                    }
+                }
+                else
+                {
+                    function.WriteLog("多余分润:UserId:" + UserId + ";ProductType:" + ProductType + ";ChangeAmount:" + ChangeAmount + ";", "查找8月多余补贴");
+                }
+            }
+            db.Dispose();
+        }
+
+        #endregion
     
     
     }
     }
 }
 }

+ 26 - 26
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(); //推荐王奖励数据统计
-            StoreApplyHelper.Instance.Start(); // 每月1号重置仓库额度
-            StoreApplyHelper.Instance.StartEverTime();
-            StatService.Instance.StatUserLevel(); //升级并分润
+            // 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.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");