Browse Source

0押金返盟主奖励、运营中心奖励放到激活奖励发放处

lcl 1 năm trước cách đây
mục cha
commit
b2445d7699

BIN
.DS_Store


+ 35 - 38
AppStart/Helper/LeaderPrizeService.cs

@@ -36,49 +36,46 @@ namespace MySystem
                         PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == PosId);
                         if (pos != null)
                         {
-                            if(!db.UserAccountRecord.Any(m => m.ChangeType == 116 && m.QueryCount == pos.Id))
+                            decimal ChangeAmount = 10;
+                            if(pos.BrandId == 14)
                             {
-                                decimal ChangeAmount = 10;
-                                if(pos.BrandId == 14)
-                                {
-                                    ChangeAmount = 19 * 0.15M;
-                                }
-                                int LeaderUserId = pos.LeaderUserId;
-                                UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == LeaderUserId);
-                                if (account == null)
-                                {
-                                    account = db.UserAccount.Add(new UserAccount()
-                                    {
-                                        Id = LeaderUserId,
-                                        UserId = LeaderUserId,
-                                    }).Entity;
-                                    db.SaveChanges();
-                                }
-                                decimal BeforeTotalAmount = account.TotalAmount; //变更前总金额
-                                decimal BeforeFreezeAmount = account.FreezeAmount; //变更前冻结金额
-                                decimal BeforeBalanceAmount = account.BalanceAmount; //变更前余额
-                                account.BalanceAmount += ChangeAmount;
-                                account.TotalAmount += ChangeAmount;
-                                decimal AfterTotalAmount = account.TotalAmount; //变更后总金额
-                                decimal AfterFreezeAmount = account.FreezeAmount; //变更后冻结金额
-                                decimal AfterBalanceAmount = account.BalanceAmount; //变更后余额
-                                UserAccountRecord userAccountRecord = db.UserAccountRecord.Add(new UserAccountRecord()
+                                ChangeAmount = 19 * 0.15M;
+                            }
+                            int LeaderUserId = pos.LeaderUserId;
+                            UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == LeaderUserId);
+                            if (account == null)
+                            {
+                                account = db.UserAccount.Add(new UserAccount()
                                 {
-                                    CreateDate = DateTime.Now,
-                                    UpdateDate = DateTime.Now,
-                                    UserId = LeaderUserId, //创客
-                                    ChangeType = 116, //变动类型
-                                    ChangeAmount = ChangeAmount, //变更金额
-                                    BeforeTotalAmount = BeforeTotalAmount, //变更前总金额
-                                    AfterTotalAmount = AfterTotalAmount, //变更后总金额
-                                    BeforeFreezeAmount = BeforeFreezeAmount, //变更前冻结金额
-                                    AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金额
-                                    BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额
-                                    AfterBalanceAmount = AfterBalanceAmount, //变更后余额
-                                    QueryCount = PosId,
+                                    Id = LeaderUserId,
+                                    UserId = LeaderUserId,
                                 }).Entity;
                                 db.SaveChanges();
                             }
+                            decimal BeforeTotalAmount = account.TotalAmount; //变更前总金额
+                            decimal BeforeFreezeAmount = account.FreezeAmount; //变更前冻结金额
+                            decimal BeforeBalanceAmount = account.BalanceAmount; //变更前余额
+                            account.BalanceAmount += ChangeAmount;
+                            account.TotalAmount += ChangeAmount;
+                            decimal AfterTotalAmount = account.TotalAmount; //变更后总金额
+                            decimal AfterFreezeAmount = account.FreezeAmount; //变更后冻结金额
+                            decimal AfterBalanceAmount = account.BalanceAmount; //变更后余额
+                            UserAccountRecord userAccountRecord = db.UserAccountRecord.Add(new UserAccountRecord()
+                            {
+                                CreateDate = DateTime.Now,
+                                UpdateDate = DateTime.Now,
+                                UserId = LeaderUserId, //创客
+                                ChangeType = 116, //变动类型
+                                ChangeAmount = ChangeAmount, //变更金额
+                                BeforeTotalAmount = BeforeTotalAmount, //变更前总金额
+                                AfterTotalAmount = AfterTotalAmount, //变更后总金额
+                                BeforeFreezeAmount = BeforeFreezeAmount, //变更前冻结金额
+                                AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金额
+                                BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额
+                                AfterBalanceAmount = AfterBalanceAmount, //变更后余额
+                                QueryCount = PosId,
+                            }).Entity;
+                            db.SaveChanges();
                         }
                         db.Dispose();
                     }

+ 50 - 53
AppStart/Helper/OperatePrizeService.cs

@@ -36,72 +36,69 @@ namespace MySystem
                         PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == PosId);
                         if (pos != null)
                         {
-                            if(!db.UserAccountRecord.Any(m => m.ChangeType == 121 && m.QueryCount == pos.Id))
+                            int OpId = 0;
+                            int UserId = pos.BuyUserId;
+                            while(UserId > 0)
                             {
-                                int OpId = 0;
-                                int UserId = pos.BuyUserId;
-                                while(UserId > 0)
+                                Users user = db.Users.FirstOrDefault(m => m.Id == UserId);
+                                if(user != null)
                                 {
-                                    Users user = db.Users.FirstOrDefault(m => m.Id == UserId);
-                                    if(user != null)
+                                    if(user.UserType >= 1)
                                     {
-                                        if(user.UserType >= 1)
-                                        {
-                                            OpId = user.Id;
-                                            UserId = 0;
-                                        }
-                                        else
-                                        {
-                                            UserId = user.ParentUserId;
-                                        }
+                                        OpId = user.Id;
+                                        UserId = 0;
                                     }
                                     else
                                     {
-                                        UserId = 0;
+                                        UserId = user.ParentUserId;
                                     }
                                 }
-                                if(OpId > 0)
+                                else
                                 {
-                                    decimal ChangeAmount = 5;
-                                    if(pos.BrandId == 14)
-                                    {
-                                        ChangeAmount = 19 * 0.05M;
-                                    }
-                                    UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == OpId);
-                                    if (account == null)
-                                    {
-                                        account = db.UserAccount.Add(new UserAccount()
-                                        {
-                                            Id = OpId,
-                                            UserId = OpId,
-                                        }).Entity;
-                                        db.SaveChanges();
-                                    }
-                                    decimal BeforeTotalAmount = account.TotalAmount; //变更前总金额
-                                    decimal BeforeFreezeAmount = account.FreezeAmount; //变更前冻结金额
-                                    decimal BeforeBalanceAmount = account.BalanceAmount; //变更前余额
-                                    account.BalanceAmount += ChangeAmount;
-                                    account.TotalAmount += ChangeAmount;
-                                    decimal AfterTotalAmount = account.TotalAmount; //变更后总金额
-                                    decimal AfterFreezeAmount = account.FreezeAmount; //变更后冻结金额
-                                    decimal AfterBalanceAmount = account.BalanceAmount; //变更后余额
-                                    UserAccountRecord userAccountRecord = db.UserAccountRecord.Add(new UserAccountRecord()
+                                    UserId = 0;
+                                }
+                            }
+                            if(OpId > 0)
+                            {
+                                decimal ChangeAmount = 5;
+                                if(pos.BrandId == 14)
+                                {
+                                    ChangeAmount = 19 * 0.05M;
+                                }
+                                UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == OpId);
+                                if (account == null)
+                                {
+                                    account = db.UserAccount.Add(new UserAccount()
                                     {
-                                        CreateDate = DateTime.Now,
-                                        UpdateDate = DateTime.Now,
-                                        UserId = OpId, //创客
-                                        ChangeType = 121, //变动类型
-                                        ChangeAmount = ChangeAmount, //变更金额
-                                        BeforeTotalAmount = BeforeTotalAmount, //变更前总金额
-                                        AfterTotalAmount = AfterTotalAmount, //变更后总金额
-                                        BeforeFreezeAmount = BeforeFreezeAmount, //变更前冻结金额
-                                        AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金额
-                                        BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额
-                                        AfterBalanceAmount = AfterBalanceAmount, //变更后余额
-                                        QueryCount = PosId,
+                                        Id = OpId,
+                                        UserId = OpId,
                                     }).Entity;
                                     db.SaveChanges();
                                 }
+                                decimal BeforeTotalAmount = account.TotalAmount; //变更前总金额
+                                decimal BeforeFreezeAmount = account.FreezeAmount; //变更前冻结金额
+                                decimal BeforeBalanceAmount = account.BalanceAmount; //变更前余额
+                                account.BalanceAmount += ChangeAmount;
+                                account.TotalAmount += ChangeAmount;
+                                decimal AfterTotalAmount = account.TotalAmount; //变更后总金额
+                                decimal AfterFreezeAmount = account.FreezeAmount; //变更后冻结金额
+                                decimal AfterBalanceAmount = account.BalanceAmount; //变更后余额
+                                UserAccountRecord userAccountRecord = db.UserAccountRecord.Add(new UserAccountRecord()
+                                {
+                                    CreateDate = DateTime.Now,
+                                    UpdateDate = DateTime.Now,
+                                    UserId = OpId, //创客
+                                    ChangeType = 121, //变动类型
+                                    ChangeAmount = ChangeAmount, //变更金额
+                                    BeforeTotalAmount = BeforeTotalAmount, //变更前总金额
+                                    AfterTotalAmount = AfterTotalAmount, //变更后总金额
+                                    BeforeFreezeAmount = BeforeFreezeAmount, //变更前冻结金额
+                                    AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金额
+                                    BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额
+                                    AfterBalanceAmount = AfterBalanceAmount, //变更后余额
+                                    QueryCount = PosId,
+                                }).Entity;
+                                db.SaveChanges();
                             }
                         }
                         db.Dispose();

+ 42 - 0
AppStart/Helper/StatService.cs

@@ -477,6 +477,20 @@ namespace MySystem
                         if(pos.BindingTime.Value.AddDays(30) >= pos.ActivationTime)
                         {
                             doActiveReward(db, merchant, pos, GetUserId, ParentNav, TopUserId, 30);
+
+                            DateTime now = pos.ActivationTime.Value;
+                            //盟主奖励
+                            if (pos.LeaderUserId > 0 && db.Leaders.Any(m => m.Id == pos.LeaderUserId && m.ExpiredDate > now) && pos.BindingTime > now.AddDays(-30) && pos.CardType < 100)
+                            {
+                                function.WriteLog("大盟主奖发放", "开机奖励在激活中监控");
+                                RedisDbconn.Instance.AddList("LeaderPrizeQueue", pos.Id);
+                            }
+                            //运营中心奖励
+                            if (pos.BindingTime > now.AddDays(-30) && pos.CardType < 100)
+                            {
+                                function.WriteLog("运营中心奖发放", "开机奖励在激活中监控");
+                                RedisDbconn.Instance.AddList("OperatePrizeQueue", pos.Id);
+                            }
                         }
                         PosMachinesTwo edit = db.PosMachinesTwo.FirstOrDefault(m => m.Id == pos.Id);
                         if(edit != null)
@@ -571,6 +585,20 @@ namespace MySystem
                         if(pos.BindingTime.Value.AddDays(30) >= pos.ActivationTime)
                         {
                             doActiveReward(db, merchant, pos, GetUserId, ParentNav, TopUserId, 30);
+
+                            DateTime now = pos.ActivationTime.Value;
+                            //盟主奖励
+                            if (pos.LeaderUserId > 0 && db.Leaders.Any(m => m.Id == pos.LeaderUserId && m.ExpiredDate > now) && pos.BindingTime > now.AddDays(-30) && pos.CardType < 100)
+                            {
+                                function.WriteLog("大盟主奖发放", "开机奖励在激活中监控");
+                                RedisDbconn.Instance.AddList("LeaderPrizeQueue", pos.Id);
+                            }
+                            //运营中心奖励
+                            if (pos.BindingTime > now.AddDays(-30) && pos.CardType < 100)
+                            {
+                                function.WriteLog("运营中心奖发放", "开机奖励在激活中监控");
+                                RedisDbconn.Instance.AddList("OperatePrizeQueue", pos.Id);
+                            }
                         }
                         PosMachinesTwo item = db.PosMachinesTwo.FirstOrDefault(m => m.Id == pos.Id);
                         if(item != null)
@@ -619,6 +647,20 @@ namespace MySystem
                         if(pos.BindingTime.Value.AddDays(30) >= pos.ActivationTime)
                         {
                             doActiveReward(db, merchant, pos, GetUserId, ParentNav, TopUserId, 30);
+
+                            DateTime now = pos.ActivationTime.Value;
+                            //盟主奖励
+                            if (pos.LeaderUserId > 0 && db.Leaders.Any(m => m.Id == pos.LeaderUserId && m.ExpiredDate > now) && pos.BindingTime > now.AddDays(-30) && pos.CardType < 100)
+                            {
+                                function.WriteLog("大盟主奖发放", "开机奖励在激活中监控");
+                                RedisDbconn.Instance.AddList("LeaderPrizeQueue", pos.Id);
+                            }
+                            //运营中心奖励
+                            if (pos.BindingTime > now.AddDays(-30) && pos.CardType < 100)
+                            {
+                                function.WriteLog("运营中心奖发放", "开机奖励在激活中监控");
+                                RedisDbconn.Instance.AddList("OperatePrizeQueue", pos.Id);
+                            }
                         }
                         function.WriteLog("ActPrize:30", "实时处理来客吧0押激活奖励");
                         PosMachinesTwo item = db.PosMachinesTwo.FirstOrDefault(m => m.Id == pos.Id);

+ 0 - 21
AppStart/Helper/SycnSpServer/SycnSpTradeService.cs

@@ -531,27 +531,6 @@ namespace MySystem
                                         });
                                         db.SaveChanges();
                                         
-                                        //0押金机具返盟主奖励、运营中心奖励
-                                        if(pos.ActivationState == 1 && function.CheckNum(pos.SeoKeyword) == "0" && pos.CreditTrade >= 5000)
-                                        {
-                                            if(pos.BindingTime >= DateTime.Parse("2024-04-01 00:00:00"))
-                                            {
-                                                DateTime now = pos.ActivationTime.Value;
-                                                //盟主奖励
-                                                if (pos.LeaderUserId > 0 && db.Leaders.Any(m => m.Id == pos.LeaderUserId && m.ExpiredDate > now) && pos.BindingTime > now.AddDays(-CheckDays) && pos.CardType < 100)
-                                                {
-                                                    function.WriteLog("大盟主奖发放", "开机奖励在激活中监控");
-                                                    RedisDbconn.Instance.AddList("LeaderPrizeQueue", pos.Id);
-                                                }
-                                                //运营中心奖励
-                                                if (pos.BindingTime > now.AddDays(-CheckDays) && pos.CardType < 100)
-                                                {
-                                                    function.WriteLog("运营中心奖发放", "开机奖励在激活中监控");
-                                                    RedisDbconn.Instance.AddList("OperatePrizeQueue", pos.Id);
-                                                }
-                                            }
-                                        }
-
                                         // 推荐王逻辑(交易)
                                         // if(TradeAmount > 0)
                                         // {