Browse Source

修复推荐王创客入库判断

lichunlei 2 years ago
parent
commit
a53d6dcde4
2 changed files with 48 additions and 44 deletions
  1. 28 24
      AppStart/Helper/RecommendActStatService.cs
  2. 20 20
      Startup.cs

+ 28 - 24
AppStart/Helper/RecommendActStatService.cs

@@ -49,35 +49,39 @@ namespace MySystem
                             List<Users> users = db.Users.Where(m => m.ParentUserId == UserId && m.AuthFlag == 1).ToList();
                             List<Users> users = db.Users.Where(m => m.ParentUserId == UserId && m.AuthFlag == 1).ToList();
                             foreach(Users user in users)
                             foreach(Users user in users)
                             {
                             {
-                                bool check = db.RecommendDirectUser.Any(m => m.UserId == UserId && m.DirectUserId == user.Id && m.TradeMonth == TradeMonth);
-                                if(!check)
+                                bool posCheck = db.PosMachinesTwo.Any(m => m.BuyUserId == user.Id && m.ActivationState == 1 && m.ActivationTime < StartTime);
+                                if(!posCheck)
                                 {
                                 {
-                                    db.RecommendDirectUser.Add(new RecommendDirectUser()
+                                    bool check = db.RecommendDirectUser.Any(m => m.UserId == UserId && m.DirectUserId == user.Id && m.TradeMonth == TradeMonth);
+                                    if(!check)
                                     {
                                     {
-                                        CreateDate = DateTime.Now,
-                                        UserId = UserId,
-                                        DirectUserId = user.Id,
-                                        TradeMonth = TradeMonth,
-                                    });
-                                    db.SaveChanges();
-                                }
-                                var poslist = db.PosMachinesTwo.Select(m => new { m.BuyUserId, m.BindMerchantId, m.PosSn, m.ActivationState, m.ActivationTime }).Where(m => m.BuyUserId == user.Id && m.ActivationState == 1 && m.ActivationTime >= StartTime && m.ActivationTime < EndTime).ToList();
-                                foreach(var pos in poslist)
-                                {
-                                    bool chk = db.RecommendTradeSummary.Any(m => m.UserId == user.Id && m.TradeMonth == TradeMonth && m.PosSn == pos.PosSn);
-                                    if(!chk)
-                                    {
-                                        PosMerchantTradeSummay tradeSummay = db.PosMerchantTradeSummay.FirstOrDefault(m => m.MerchantId == pos.BindMerchantId && m.TradeMonth == TradeMonth) ?? new PosMerchantTradeSummay();
-                                        db.RecommendTradeSummary.Add(new RecommendTradeSummary()
+                                        db.RecommendDirectUser.Add(new RecommendDirectUser()
                                         {
                                         {
                                             CreateDate = DateTime.Now,
                                             CreateDate = DateTime.Now,
-                                            UserId = user.Id,
+                                            UserId = UserId,
+                                            DirectUserId = user.Id,
                                             TradeMonth = TradeMonth,
                                             TradeMonth = TradeMonth,
-                                            PosSn = pos.PosSn,
-                                            TradeAmount = tradeSummay.TradeAmount,
                                         });
                                         });
                                         db.SaveChanges();
                                         db.SaveChanges();
                                     }
                                     }
+                                    var poslist = db.PosMachinesTwo.Select(m => new { m.BuyUserId, m.BindMerchantId, m.PosSn, m.ActivationState, m.ActivationTime }).Where(m => m.BuyUserId == user.Id && m.ActivationState == 1 && m.ActivationTime >= StartTime && m.ActivationTime < EndTime).ToList();
+                                    foreach(var pos in poslist)
+                                    {
+                                        bool chk = db.RecommendTradeSummary.Any(m => m.UserId == user.Id && m.TradeMonth == TradeMonth && m.PosSn == pos.PosSn);
+                                        if(!chk)
+                                        {
+                                            PosMerchantTradeSummay tradeSummay = db.PosMerchantTradeSummay.FirstOrDefault(m => m.MerchantId == pos.BindMerchantId && m.TradeMonth == TradeMonth) ?? new PosMerchantTradeSummay();
+                                            db.RecommendTradeSummary.Add(new RecommendTradeSummary()
+                                            {
+                                                CreateDate = DateTime.Now,
+                                                UserId = user.Id,
+                                                TradeMonth = TradeMonth,
+                                                PosSn = pos.PosSn,
+                                                TradeAmount = tradeSummay.TradeAmount,
+                                            });
+                                            db.SaveChanges();
+                                        }
+                                    }
                                 }
                                 }
                             }
                             }
                         }
                         }
@@ -131,10 +135,10 @@ namespace MySystem
                             PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == PosId);
                             PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == PosId);
                             if(pos != null)
                             if(pos != null)
                             {
                             {
-                                PosMerchantTradeSummay tradeSummay = db.PosMerchantTradeSummay.FirstOrDefault(m => m.MerchantId == pos.BindMerchantId && m.TradeMonth == TradeMonth);
+                                RecommendTradeSummary tradeSummay = db.RecommendTradeSummary.FirstOrDefault(m => m.PosSn == pos.PosSn && m.TradeMonth == TradeMonth);
                                 if(tradeSummay != null)
                                 if(tradeSummay != null)
                                 {
                                 {
-                                    tradeSummay.TradeAmount = TradeAmount;
+                                    tradeSummay.TradeAmount += TradeAmount;
                                     db.SaveChanges();
                                     db.SaveChanges();
                                 }
                                 }
                             }
                             }
@@ -149,7 +153,7 @@ namespace MySystem
                 }
                 }
                 else
                 else
                 {
                 {
-                    Thread.Sleep(60000);
+                    Thread.Sleep(600);
                 }
                 }
             }
             }
         }
         }

+ 20 - 20
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,26 +190,26 @@ 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解绑数据
-            // RedPackageHelper.Instance.Start(); //每天生成300个红包
-            // RedPackageHelper.Instance.StartStatTop10(); //红包活动统计排行
-            // RedPackageHelper.Instance.StartSendPrize(); //红包活动发奖
-            // BalancePayBackService.Instance.Start(); //余额支付队列
-            // ReservePayBackService.Instance.Start(); //储备金支付队列
-            // LeaderPrizeService.Instance.Start(); //大盟主奖励发奖
-            // MessageCenterService.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解绑数据
+            RedPackageHelper.Instance.Start(); //每天生成300个红包
+            RedPackageHelper.Instance.StartStatTop10(); //红包活动统计排行
+            RedPackageHelper.Instance.StartSendPrize(); //红包活动发奖
+            BalancePayBackService.Instance.Start(); //余额支付队列
+            ReservePayBackService.Instance.Start(); //储备金支付队列
+            LeaderPrizeService.Instance.Start(); //大盟主奖励发奖
+            MessageCenterService.Instance.Start(); // 消息队列
             //必须打开的
             //必须打开的
 
 
-            // RecommendActStatService.Instance.Start();
+            RecommendActStatService.Instance.Start();
             // StatService.Instance.StartPosActNum(); //实时统计激活数
             // StatService.Instance.StartPosActNum(); //实时统计激活数
             // StatService.Instance.StartNewUserNum(); //实时统计新增创客数
             // StatService.Instance.StartNewUserNum(); //实时统计新增创客数
             // StatService.Instance.StatProfit(); //实时统计创客收益
             // StatService.Instance.StatProfit(); //实时统计创客收益