Forráskód Böngészése

盟主开机奖励规则调整
机具激活奖励规则调整

lcl 1 éve
szülő
commit
b9bd5a5117

+ 48 - 24
AppStart/Helper/StatService.cs

@@ -358,17 +358,10 @@ namespace MySystem
             }
             foreach (PosMachinesTwo pos in posList.ToList())
             {
-                // PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId && !string.IsNullOrEmpty(m.MerIdcardNo));
-                // PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId && m.Sort == 1);
                 PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId);
                 if (merchant != null && pos.ActivationTime.Value <= pos.BindingTime.Value.AddDays(30))
                 {
                     function.WriteLog("机具号:" + pos.PosSn + ";奖励标记:" + pos.Detail + ";", "实时处理激活奖励");
-                    // PosMerchantOtherInfo otherInfo = db.PosMerchantOtherInfo.FirstOrDefault(m => m.CertId == merchant.MerIdcardNo && m.PrizeFlag1 == 0);
-                    // if (otherInfo != null)
-                    // {
-                    //     otherInfo.PrizeFlag1 = 1;
-                    //     db.SaveChanges();
                     string ParentNav = "";
                     Users user = db.Users.FirstOrDefault(m => m.Id == pos.BuyUserId);
                     if (user != null)
@@ -388,22 +381,23 @@ namespace MySystem
                         }
                         if (ActPrize > 0)
                         {
-                            if (ActPrize == 99)
-                            {
-                                ActPrize = 100;
-                            }
-                            else if (ActPrize == 199)
-                            {
-                                ActPrize = 200;
-                            }
-                            else if (ActPrize == 299)
-                            {
-                                ActPrize = 300;
-                            }
-                            else if (ActPrize == 249)
-                            {
-                                ActPrize = 260;
-                            }
+                            // if (ActPrize == 99)
+                            // {
+                            //     ActPrize = 100;
+                            // }
+                            // else if (ActPrize == 199)
+                            // {
+                            //     ActPrize = 200;
+                            // }
+                            // else if (ActPrize == 299)
+                            // {
+                            //     ActPrize = 300;
+                            // }
+                            // else if (ActPrize == 249)
+                            // {
+                            //     ActPrize = 260;
+                            // }
+                            ActPrize = 100;
                             if (GetUserId > 0)
                             {
                                 doActiveReward(db, merchant, pos, GetUserId, ParentNav, TopUserId, ActPrize);
@@ -1217,7 +1211,7 @@ namespace MySystem
                                                     {
                                                         function.WriteLog("上级:" + puser.MakerCode, "开机奖励发放日志");
                                                         function.WriteLog("条件:LeaderLevel:" + puser.LeaderLevel + ",UserType:" + puser.UserType, "开机奖励发放日志");
-                                                        if(puser.LeaderLevel > 0 || puser.UserType > 0)
+                                                        if(puser.UserType > 0)
                                                         {
                                                             bool leaderOp = true;
                                                             if(puser.LeaderLevel > 0 && puser.UserType == 0)
@@ -3115,6 +3109,36 @@ namespace MySystem
 
 
 
+        //退押金时发放剩余激活奖励
+        public void PreActPrize(WebCMSEntities db, PosMachinesTwo pos, PosMerchantInfo merchant, string Deposit)
+        {
+            decimal DepositNumber = decimal.Parse(function.CheckNum(Deposit));
+            if(DepositNumber > 0)
+            {
+                decimal ActPrize = 0;
+                if(DepositNumber > 1000)
+                {
+                    DepositNumber = DepositNumber / 100;
+                }
+                if(DepositNumber == 199) ActPrize = 100;
+                if(DepositNumber == 299) ActPrize = 200;
+                if(ActPrize > 0)
+                {
+                    Users user = db.Users.FirstOrDefault(m => m.Id == pos.BuyUserId) ?? new Users();
+                    int GetUserId = user.Id;
+                    string ParentNav = user.ParentNav;
+                    int TopUserId = 0;
+                    if (!string.IsNullOrEmpty(ParentNav))
+                    {
+                        TopUserId = int.Parse(ParentNav.Trim(',').Replace(",,", ",").Split(',')[0]);
+                    }
+                    doActiveReward(db, merchant, pos, GetUserId, user.ParentNav, TopUserId, ActPrize);
+                }
+            }
+        }
+
+
+
 
 
 

+ 2 - 0
AppStart/Helper/SycnSpServer/SycnSpActiveService.cs

@@ -50,6 +50,8 @@ namespace MySystem
                                     RedisDbconn.Instance.AddList("OpenRewardQueue", pos.Id.ToString()); //发开机奖励
                                 }
                                 db.SaveChanges();
+                                PxcModels.PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId) ?? new PxcModels.PosMerchantInfo();
+                                StatService.Instance.PreActPrize(db, pos, merchant, act.SeoTitle);
                             }
 
                             ActivateRecord edit = spdb.ActivateRecord.FirstOrDefault(m => m.Id == act.Id);

+ 29 - 1
AppStart/Helper/SycnSpServer/SycnSpTradeService.cs

@@ -35,6 +35,7 @@ namespace MySystem
                     foreach (TradeRecord trade in trades.ToList())
                     {
                         bool op = true;
+                        bool isDeposit = false;
                         if (trade.SerEntryMode == "N" && trade.ProductType == "1") //金控押金获取
                         {
                             if (trade.TradeAmount == 9900 || trade.TradeAmount == 19900 || trade.TradeAmount == 29900)
@@ -45,8 +46,8 @@ namespace MySystem
                                 if (pos != null)
                                 {
                                     pos.SeoKeyword = trade.TradeAmount.ToString("f2");
-                                    // pos.IsPurchase = 0;
                                     db.SaveChanges();
+                                    isDeposit = true;
                                 }
                                 TradeRecord edit = spdb.TradeRecord.FirstOrDefault(m => m.Id == trade.Id);
                                 if (edit != null)
@@ -77,6 +78,7 @@ namespace MySystem
                                 {
                                     pos.SeoKeyword = trade.TradeAmount.ToString("f2");
                                     db.SaveChanges();
+                                    isDeposit = true;
                                 }
                                 TradeRecord edit = spdb.TradeRecord.FirstOrDefault(m => m.Id == trade.Id);
                                 if (edit != null)
@@ -108,6 +110,7 @@ namespace MySystem
                                         OrderId = DateTime.Now.ToString("yyyyMMddHHmmssfff") + function.get_Random(8),
                                     });
                                     db.SaveChanges();
+                                    isDeposit = true;
                                 }
                                 TradeRecord edit = spdb.TradeRecord.FirstOrDefault(m => m.Id == trade.Id);
                                 if (edit != null)
@@ -139,6 +142,7 @@ namespace MySystem
                                         OrderId = DateTime.Now.ToString("yyyyMMddHHmmssfff") + function.get_Random(8),
                                     });
                                     db.SaveChanges();
+                                    isDeposit = true;
                                 }
                                 TradeRecord edit = spdb.TradeRecord.FirstOrDefault(m => m.Id == trade.Id);
                                 if (edit != null)
@@ -571,6 +575,13 @@ namespace MySystem
                                 spdb.SaveChanges();
                             }
                         }
+                        if(isDeposit)
+                        {
+                            PxcModels.MachineForMerNo posFor = db.MachineForMerNo.FirstOrDefault(m => m.MerNo == trade.MerNo) ?? new PxcModels.MachineForMerNo();
+                            PxcModels.PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == posFor.SnId) ?? new PxcModels.PosMachinesTwo();
+                            PxcModels.PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId) ?? new PxcModels.PosMerchantInfo();
+                            StatService.Instance.PreActPrize(db, pos, merchant, pos.SeoKeyword);
+                        }
                     }
                     spdb.Dispose();
                     db.Dispose();
@@ -846,6 +857,23 @@ namespace MySystem
                 //清理预扣款
                 RedisDbconn.Instance.AddList("PosWithholdQueue", "{\"UserId\":\"" + pos.BuyUserId + "\",\"SnNo\":\"" + pos.PosSn + "\"}");
             }
+            if(pos.ActivationState == 1 && pos.BindingTime.Value.AddDays(30) <= DateTime.Now && pos.BindingTime.Value.AddDays(60) > DateTime.Now && pos.CreditTrade >= 10000)
+            {
+                PxcModels.Users user = db.Users.FirstOrDefault(m => m.Id == pos.BuyUserId);
+                if (user != null)
+                {
+                    if(user.LeaderLevel > 0 && db.Leaders.Any(m => m.Id == user.Id && m.ExpiredDate >= now))
+                    {
+                        int TopUserId = 0;
+                        if (!string.IsNullOrEmpty(user.ParentNav))
+                        {
+                            TopUserId = int.Parse(user.ParentNav.Trim(',').Replace(",,", ",").Split(',')[0]);
+                        }
+                        PxcModels.PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId);
+                        StatService.Instance.doActiveReward(db, merchant, pos, user.Id, user.ParentNav, TopUserId, 50);
+                    }
+                }
+            }
         }
 
         //立刷格外奖励