瀏覽代碼

返400仅反一层
购买盟主预设职级

lichunlei 2 年之前
父節點
當前提交
2c46767969
共有 1 個文件被更改,包括 53 次插入8 次删除
  1. 53 8
      AppStart/Helper/AlipayPayBack2Service.cs

+ 53 - 8
AppStart/Helper/AlipayPayBack2Service.cs

@@ -210,10 +210,12 @@ namespace MySystem
                             {
                                 OperateReserveBackFor(db, user.Id, order.TotalPrice);
                                 decimal Prize = decimal.Parse(function.CheckNum(PublicFunction.GetPublicParam(db, "BigLeaderPrize")));
-                                if(Prize > 0)
+                                if(Prize > 0 && user.LeaderLevel < 2 && user.UserType == 0)
                                 {
                                     LeaderRecommendPrize(db, order, user.Id, Prize, 122);
                                 }
+                                //预设大盟主职级
+                                LeaderPreUserLevel(db, order.UserId, 2);
                             }
 
                         }
@@ -223,10 +225,12 @@ namespace MySystem
                             Users user = db.Users.FirstOrDefault(m => m.Id == order.UserId) ?? new Users();
                             OperateReserveBackFor(db, user.Id, order.TotalPrice);
                             decimal Prize = decimal.Parse(function.CheckNum(PublicFunction.GetPublicParam(db, "SmallLeaderPrize")));
-                            if(Prize > 0)
+                            if(Prize > 0 && user.LeaderLevel < 1 && user.UserType == 0)
                             {
                                 LeaderRecommendPrize(db, order, user.Id, Prize, 123);
                             }
+                            //预设小盟主职级
+                            LeaderPreUserLevel(db, order.UserId, 1);
                         }
                     }
 
@@ -302,6 +306,7 @@ namespace MySystem
                                             //寻找最近运营中心额度大于0的运营中心
                                             int PUserId = user.Id;
                                             bool OperateFlag = true;
+                                            bool OncePrizeFlag1 = true;
                                             while(PUserId > 0)
                                             {
                                                 Users puser = db.Users.FirstOrDefault(m => m.Id == PUserId);
@@ -325,12 +330,13 @@ namespace MySystem
                                                                 }
                                                             }
                                                             db.SaveChanges();
-                                                            if(acccount.LeaderReserve >= 400 * pro.ProductCount)
+                                                            if(acccount.LeaderReserve >= 400 * pro.ProductCount && OncePrizeFlag1)
                                                             {
                                                                 //扣减备用金
                                                                 OpReserve(db, order, order.UserId, 400 * pro.ProductCount, 2, 0, "商城购机");
                                                                 //返回到余额
                                                                 OpLeaderAccount(db, order, order.UserId, 400, pro.ProductCount);
+                                                                OncePrizeFlag1 = false;
                                                             }
                                                             OperateFlag = false;
                                                         }
@@ -361,6 +367,7 @@ namespace MySystem
                                         //寻找最近储蓄金充足的大盟主
                                         int PUserId = user.Id;
                                         bool LeaderFlag = true;
+                                        bool OncePrizeFlag2 = true;
                                         while(PUserId > 0)
                                         {
                                             Users puser = db.Users.FirstOrDefault(m => m.Id == PUserId);
@@ -381,12 +388,13 @@ namespace MySystem
                                                         }
                                                         db.SaveChanges();
                                                         UserAccount acccount = db.UserAccount.FirstOrDefault(m => m.Id == order.UserId) ?? new UserAccount();
-                                                        if(acccount.LeaderReserve >= 400 * pro.ProductCount)
+                                                        if(acccount.LeaderReserve >= 400 * pro.ProductCount && OncePrizeFlag2)
                                                         {
                                                             //扣减备用金
                                                             OpReserve(db, order, order.UserId, 400 * pro.ProductCount, 2, 0, "商城购机");
                                                             //返回到余额
                                                             OpLeaderAccount(db, order, order.UserId, 400, pro.ProductCount);
+                                                            OncePrizeFlag2 = false;
                                                         }
                                                         LeaderFlag = false;
                                                     }
@@ -405,6 +413,7 @@ namespace MySystem
                                         int PUserId = user.Id;
                                         int LeaderFlag = 0;
                                         bool OperateFlag = true;
+                                        bool OncePrizeFlag3 = true;
                                         while(PUserId > 0)
                                         {
                                             Users puser = db.Users.FirstOrDefault(m => m.Id == PUserId);
@@ -428,13 +437,14 @@ namespace MySystem
                                                             db.SaveChanges();
                                                         }
                                                         UserAccount acccount = db.UserAccount.FirstOrDefault(m => m.Id == puser.Id) ?? new UserAccount();
-                                                        if(acccount.LeaderReserve >= 400 * pro.ProductCount)
+                                                        if(acccount.LeaderReserve >= 400 * pro.ProductCount && OncePrizeFlag3)
                                                         {
                                                             //扣减备用金
                                                             OpReserve(db, order, puser.Id, 400 * pro.ProductCount, 2, 0, "商城购机");
                                                             //返回到余额
                                                             OpLeaderAccount(db, order, puser.Id, 400, pro.ProductCount);
                                                             LeaderFlag = puser.LeaderLevel;
+                                                            OncePrizeFlag3 = false;
                                                         }
                                                     }
                                                 }
@@ -462,7 +472,7 @@ namespace MySystem
                                             }
                                         }
                                         //运营中心返额度(下单人自己是运营中心)
-                                        OperateReserveBackFor(db, order.UserId, order.TotalPrice);
+                                        // OperateReserveBackFor(db, order.UserId, order.TotalPrice);
                                     }
                                     return;
                                 }
@@ -470,6 +480,8 @@ namespace MySystem
                                 // List<int> proids = new List<int>();
                                 // proids.Add(10);
                                 // proids.Add(11);
+                                // 普通创客购买600一组的机具券
+                                bool OncePrizeFlag4 = true;
                                 while(ParentUserId > 0)
                                 {
                                     Users puser = db.Users.FirstOrDefault(m => m.Id == ParentUserId) ?? new Users();
@@ -525,13 +537,14 @@ namespace MySystem
                                             OpAccount(db, order, puser.Id, 100, pro.ProductCount);
                                             buyPrize = true;
                                         }
-                                        if(acccount.LeaderReserve >= 400 * pro.ProductCount && puser.LeaderLevel > leaderFlag && leaderFlag < 2)
+                                        if(acccount.LeaderReserve >= 400 * pro.ProductCount && puser.LeaderLevel > leaderFlag && leaderFlag < 2 && OncePrizeFlag4)
                                         {
                                             //扣减备用金
                                             OpReserve(db, order, puser.Id, 400 * pro.ProductCount, 2, order.UserId, "购机奖励");
                                             //返回到余额
                                             OpLeaderAccount(db, order, puser.Id, 400, pro.ProductCount);
                                             leaderFlag = puser.LeaderLevel;
+                                            OncePrizeFlag4 = false;
                                         }
                                         //如果是大盟主,则标记大盟主标签
                                         if(couponIds.Count > 0 && puser.LeaderLevel == 2 && acccount.LeaderReserve >= order.TotalPrice && !bigLeaderPrize)
@@ -575,7 +588,7 @@ namespace MySystem
                                     ParentUserId = puser.ParentUserId;
                                 }
                                 //运营中心返额度
-                                OperateReserveBackFor(db, order.UserId, order.TotalPrice);
+                                // OperateReserveBackFor(db, order.UserId, order.TotalPrice);
                             }
                         }
                         function.WriteLog("\r\n\r\n", "推荐下单奖励监控日志");
@@ -1040,5 +1053,37 @@ namespace MySystem
 
         #endregion
 
+
+        #region 购买盟主预设职级
+
+        public void LeaderPreUserLevel(WebCMSEntities db, int UserId, int LeaderKind)
+        {
+            int Month = LeaderKind == 1 ? 6 : 12;
+            int Rank = LeaderKind == 1 ? 5 : 7;
+            UserRankWhite check = db.UserRankWhite.FirstOrDefault(m => m.Id == UserId);
+            if(check == null)
+            {
+                db.UserRankWhite.Add(new UserRankWhite()
+                {
+                    CreateDate = DateTime.Now, //设置时间
+                    UpdateDate = DateTime.Now.AddMonths(Month), //过期时间
+                    Rank = Rank,
+                    UserId = UserId, //用户
+                    Id = UserId,
+                });
+            }
+            else
+            {
+                if(check.Rank < Rank)
+                {
+                    check.Rank = Rank;
+                    check.UpdateDate = DateTime.Now.AddMonths(Month);
+                }
+            }
+            db.SaveChanges();
+        }
+
+        #endregion
+
     }
 }