Browse Source

完善大盟主奖励流程

lichunlei 3 years ago
parent
commit
992b9e2927

+ 35 - 35
AppStart/Helper/LeaderPrizeService.cs

@@ -32,53 +32,53 @@ namespace MySystem
                     try
                     try
                     {
                     {
                         int PosId = int.Parse(function.CheckInt(data));
                         int PosId = int.Parse(function.CheckInt(data));
-                        using (WebCMSEntities db = new WebCMSEntities())
+                        WebCMSEntities db = new WebCMSEntities();
+                        PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == PosId);
+                        if (pos != null)
                         {
                         {
-                            PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == PosId);
-                            if (pos != null)
+                            int LeaderUserId = pos.LeaderUserId;
+                            UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == LeaderUserId);
+                            if (account == null)
                             {
                             {
-                                int LeaderUserId = pos.LeaderUserId;
-                                UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == LeaderUserId);
-                                if (account == null)
+                                account = db.UserAccount.Add(new UserAccount()
                                 {
                                 {
-                                    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 += 100;
-                                account.TotalAmount += 100;
-                                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 = 5, //变更金额
-                                    BeforeTotalAmount = BeforeTotalAmount, //变更前总金额
-                                    AfterTotalAmount = AfterTotalAmount, //变更后总金额
-                                    BeforeFreezeAmount = BeforeFreezeAmount, //变更前冻结金额
-                                    AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金额
-                                    BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额
-                                    AfterBalanceAmount = AfterBalanceAmount, //变更后余额
-                                    QueryCount = PosId,
+                                    Id = LeaderUserId,
+                                    UserId = LeaderUserId,
                                 }).Entity;
                                 }).Entity;
                                 db.SaveChanges();
                                 db.SaveChanges();
                             }
                             }
+                            decimal BeforeTotalAmount = account.TotalAmount; //变更前总金额
+                            decimal BeforeFreezeAmount = account.FreezeAmount; //变更前冻结金额
+                            decimal BeforeBalanceAmount = account.BalanceAmount; //变更前余额
+                            account.BalanceAmount += 5;
+                            account.TotalAmount += 5;
+                            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 = 5, //变更金额
+                                BeforeTotalAmount = BeforeTotalAmount, //变更前总金额
+                                AfterTotalAmount = AfterTotalAmount, //变更后总金额
+                                BeforeFreezeAmount = BeforeFreezeAmount, //变更前冻结金额
+                                AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金额
+                                BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额
+                                AfterBalanceAmount = AfterBalanceAmount, //变更后余额
+                                QueryCount = PosId,
+                            }).Entity;
+                            db.SaveChanges();
                         }
                         }
+                        db.Dispose();
                     }
                     }
                     catch (Exception ex)
                     catch (Exception ex)
                     {
                     {
                         function.WriteLog(DateTime.Now.ToString() + "\r\n" + ex.ToString(), "大盟主奖励异常");
                         function.WriteLog(DateTime.Now.ToString() + "\r\n" + ex.ToString(), "大盟主奖励异常");
                     }
                     }
+                    Thread.Sleep(100);
                 }
                 }
                 else
                 else
                 {
                 {

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

@@ -255,6 +255,11 @@ namespace MySystem
                                                 db.SaveChanges();
                                                 db.SaveChanges();
                                                 RedisDbconn.Instance.Set("PosMerchantInfo:" + merchant.Id, merchant);
                                                 RedisDbconn.Instance.Set("PosMerchantInfo:" + merchant.Id, merchant);
                                             }
                                             }
+                                            //发放大盟主奖励
+                                            if(pos.LeaderUserId > 0)
+                                            {
+                                                RedisDbconn.Instance.AddList("LeaderPrizeQueue", pos.Id);
+                                            }
                                         }
                                         }
                                         // 立刷60天内刷满10000,再返40
                                         // 立刷60天内刷满10000,再返40
                                         if (pos.BrandId == 6 && pos.ActivationState == 1 && pos.CreditTrade >= 10000 && pos.BindingTime > DateTime.Now.AddDays(-60))
                                         if (pos.BrandId == 6 && pos.ActivationState == 1 && pos.CreditTrade >= 10000 && pos.BindingTime > DateTime.Now.AddDays(-60))

+ 1 - 1
Startup.cs

@@ -201,13 +201,13 @@ namespace MySystem
             RedPackageHelper.Instance.Start(); //每天生成300个红包
             RedPackageHelper.Instance.Start(); //每天生成300个红包
             RedPackageHelper.Instance.StartStatTop10(); //红包活动统计排行
             RedPackageHelper.Instance.StartStatTop10(); //红包活动统计排行
             RedPackageHelper.Instance.StartSendPrize(); //红包活动发奖
             RedPackageHelper.Instance.StartSendPrize(); //红包活动发奖
-            LeaderPrizeService.Instance.Start(); //大盟主奖励发奖
             //必须打开的
             //必须打开的
 
 
             // StatService.Instance.StartEverDay("2022-06-18");
             // StatService.Instance.StartEverDay("2022-06-18");
             StatService.Instance.StartPosActNum(); //实时统计激活数
             StatService.Instance.StartPosActNum(); //实时统计激活数
             StatService.Instance.StartNewUserNum(); //实时统计新增创客数
             StatService.Instance.StartNewUserNum(); //实时统计新增创客数
             StatService.Instance.StatProfit(); //实时统计创客收益
             StatService.Instance.StatProfit(); //实时统计创客收益
+            LeaderPrizeService.Instance.Start(); //大盟主奖励发奖
             // StatService.Instance.StartEverDayV2("");
             // StatService.Instance.StartEverDayV2("");
             // RedPackageHelper.Instance.Start();
             // RedPackageHelper.Instance.Start();
             // StatService.Instance.StatUserLevel();
             // StatService.Instance.StatUserLevel();