فهرست منبع

购买盟主,自留券问题

lcl 1 سال پیش
والد
کامیت
e326e4b1a1
3فایلهای تغییر یافته به همراه44 افزوده شده و 17 حذف شده
  1. 13 6
      AppStart/Helper/AlipayPayBack2Service.cs
  2. 9 9
      AppStart/Helper/StatService.cs
  3. 22 2
      Util/Utils.cs

+ 13 - 6
AppStart/Helper/AlipayPayBack2Service.cs

@@ -227,6 +227,8 @@ namespace MySystem
                             if(pro.ProductId == 27)
                             if(pro.ProductId == 27)
                             {
                             {
                                 OperateReserveBackFor(db, user.Id, 40000);
                                 OperateReserveBackFor(db, user.Id, 40000);
+                                //自留券数量清除
+                                CancelStayCoupon(db, order.UserId, 7);
                                 //预设大盟主职级
                                 //预设大盟主职级
                                 LeaderPreUserLevel(db, order.UserId, 2);
                                 LeaderPreUserLevel(db, order.UserId, 2);
                                 AddLeader(db, order.UserId, 2);
                                 AddLeader(db, order.UserId, 2);
@@ -241,6 +243,8 @@ namespace MySystem
                         {
                         {
                             bool check = LeaderBack(db, order);
                             bool check = LeaderBack(db, order);
                             Users user = db.Users.FirstOrDefault(m => m.Id == order.UserId) ?? new Users();
                             Users user = db.Users.FirstOrDefault(m => m.Id == order.UserId) ?? new Users();
+                            //自留券数量清除
+                            CancelStayCoupon(db, order.UserId, 5);
                             // if (check) OperateReserveBackFor(db, user.Id, 10000);
                             // if (check) OperateReserveBackFor(db, user.Id, 10000);
                             //预设小盟主职级
                             //预设小盟主职级
                             LeaderPreUserLevel(db, order.UserId, 1);
                             LeaderPreUserLevel(db, order.UserId, 1);
@@ -1296,7 +1300,6 @@ namespace MySystem
                 {
                 {
                     check.Rank = Rank;
                     check.Rank = Rank;
                     check.UpdateDate = DateTime.Now.AddMonths(Month);
                     check.UpdateDate = DateTime.Now.AddMonths(Month);
-                    CancelStayCoupon(db, UserId);
                 }
                 }
                 else if(check.Rank == Rank && check.UpdateDate < DateTime.Now.AddMonths(Month))
                 else if(check.Rank == Rank && check.UpdateDate < DateTime.Now.AddMonths(Month))
                 {
                 {
@@ -1325,13 +1328,17 @@ namespace MySystem
         }
         }
 
 
         //取消自留券数量
         //取消自留券数量
-        public void CancelStayCoupon(WebCMSEntities db, int UserId)
+        public void CancelStayCoupon(WebCMSEntities db, int UserId, int CheckLevel = 5)
         {
         {
-            Users user = db.Users.FirstOrDefault(m => m.Id == UserId);
-            if(user != null)
+            int myLevel = Utils.Instance.GetUserLevel(UserId);
+            if(myLevel <= CheckLevel)
             {
             {
-                user.Version = 0;
-                db.SaveChanges();
+                Users user = db.Users.FirstOrDefault(m => m.Id == UserId);
+                if(user != null)
+                {
+                    user.Version = 0;
+                    db.SaveChanges();
+                }
             }
             }
         }
         }
 
 

+ 9 - 9
AppStart/Helper/StatService.cs

@@ -2201,7 +2201,7 @@ namespace MySystem
                 int startid = 0;
                 int startid = 0;
                 while(op)
                 while(op)
                 {
                 {
-                    var users = db.Users.Select(m => new { m.Id, m.AuthFlag }).Where(m => m.Id == 172000 && m.AuthFlag == 1).OrderBy(m => m.Id).Take(500).ToList();
+                    var users = db.Users.Select(m => new { m.Id, m.AuthFlag }).Where(m => m.Id > startid && m.AuthFlag == 1).OrderBy(m => m.Id).Take(500).ToList();
                     function.WriteLog(users.Count.ToString(), "创客升级日志");
                     function.WriteLog(users.Count.ToString(), "创客升级日志");
                     if(users.Count > 0)
                     if(users.Count > 0)
                     {
                     {
@@ -2368,10 +2368,10 @@ namespace MySystem
                         }
                         }
                         function.WriteLog(startid.ToString(), "创客升级日志");
                         function.WriteLog(startid.ToString(), "创客升级日志");
                     }
                     }
-                    // else
-                    // {
+                    else
+                    {
                         op = false;
                         op = false;
-                    // }
+                    }
                 }
                 }
                 //查找K0创客,如果商城下单购买一组机具券,则预设为K1
                 //查找K0创客,如果商城下单购买一组机具券,则预设为K1
                 List<int> productIds = new List<int>();
                 List<int> productIds = new List<int>();
@@ -2381,7 +2381,7 @@ namespace MySystem
                 startid = 0;
                 startid = 0;
                 while(op)
                 while(op)
                 {
                 {
-                    var users = db.Users.Select(m => new { m.Id, m.AuthFlag, m.UserLevel }).Where(m => m.Id == 172000 && m.AuthFlag == 1 && m.UserLevel == 0).OrderBy(m => m.Id).Take(50).ToList();
+                    var users = db.Users.Select(m => new { m.Id, m.AuthFlag, m.UserLevel }).Where(m => m.Id > startid && m.AuthFlag == 1 && m.UserLevel == 0).OrderBy(m => m.Id).Take(50).ToList();
                     if(users.Count > 0)
                     if(users.Count > 0)
                     {
                     {
                         foreach (var subuser in users)
                         foreach (var subuser in users)
@@ -2413,10 +2413,10 @@ namespace MySystem
                             }
                             }
                         }
                         }
                     }
                     }
-                    // else
-                    // {
+                    else
+                    {
                         op = false;
                         op = false;
-                    // }
+                    }
                 }
                 }
                 function.WriteLog(DateTime.Now.ToString(), "创客升级日志");
                 function.WriteLog(DateTime.Now.ToString(), "创客升级日志");
             }
             }
@@ -2428,7 +2428,7 @@ namespace MySystem
             mpmaindb.Dispose();
             mpmaindb.Dispose();
             mpmaindb2.Dispose();
             mpmaindb2.Dispose();
 
 
-            RedisDbconn.Instance.AddList("DoTableEveryMonthQueue", "1");
+            // RedisDbconn.Instance.AddList("DoTableEveryMonthQueue", "1");
         }
         }
 
 
 
 

+ 22 - 2
Util/Utils.cs

@@ -156,7 +156,27 @@ namespace MySystem
             db.SaveChanges();
             db.SaveChanges();
             db.Dispose();
             db.Dispose();
         }
         }
-    
-    
+
+
+        #region 获取创客职级
+        public int GetUserLevel(int Id)
+        {
+            WebCMSEntities db = new WebCMSEntities();
+            DateTime now = DateTime.Now;
+            List<int> Levels = new List<int>();
+            Users user = db.Users.FirstOrDefault(m => m.Id == Id) ?? new Users();
+            UserRankWhite userRank = db.UserRankWhite.FirstOrDefault(m => m.Id == Id && m.UpdateDate > now) ?? new UserRankWhite();
+            LeaderRankWhite leaderRank = db.LeaderRankWhite.FirstOrDefault(m => m.Id == Id && m.UpdateDate > now) ?? new LeaderRankWhite();
+            OperatorRankWhite operatorRank = db.OperatorRankWhite.FirstOrDefault(m => m.Id == Id && m.UpdateDate > now) ?? new OperatorRankWhite();
+            Levels.Add(user.UserLevel);
+            Levels.Add(userRank.Rank);
+            Levels.Add(leaderRank.Rank);
+            Levels.Add(operatorRank.Rank);
+            db.Dispose();
+            return Levels.Max();
+        }
+        #endregion
+
+
     }
     }
 }
 }