Prechádzať zdrojové kódy

有盟主逻辑的地方,加上判断盟主过期时间

lcl 1 rok pred
rodič
commit
2fb745cb9c

+ 4 - 2
AppStart/AddPosCouponPrizeHelper.cs

@@ -61,7 +61,8 @@ public class AddPosCouponPrizeHelper
         if(order != null)
         {
             OrderProduct pro = db.OrderProduct.FirstOrDefault(m => m.OrderId == order.Id) ?? new OrderProduct();
-            Users user = db.Users.FirstOrDefault(m => m.Id == order.UserId) ?? new Users();
+            // Users user = db.Users.FirstOrDefault(m => m.Id == order.UserId) ?? new Users();
+            UserRankItem user = PosCouponPrizeService.Instance.GetUserLevel(db, order.UserId);
             List<int> prizeChk = new List<int>();
             if(!db.UserAccountRecord.Any(m => m.ChangeType == 112 && m.QueryCount == order.Id))
             {
@@ -115,7 +116,8 @@ public class AddPosCouponPrizeHelper
             }
             while (ParentUserId > 0)
             {
-                Users puser = db.Users.FirstOrDefault(m => m.Id == ParentUserId) ?? new Users();
+                // Users puser = db.Users.FirstOrDefault(m => m.Id == ParentUserId) ?? new Users();
+                UserRankItem puser = PosCouponPrizeService.Instance.GetUserLevel(db, ParentUserId);
                 if(DirectPrizeFlag)
                 {
                     if(prizeChk.Contains(1))

+ 5 - 3
AppStart/Helper/AlipayPayBack2Service.cs

@@ -335,8 +335,9 @@ namespace MySystem
             while(LeaderUserId > 0)
             {
                 level += 1;
-                Users user = db.Users.FirstOrDefault(m => m.Id == LeaderUserId);
-                if(user != null)
+                // Users user = db.Users.FirstOrDefault(m => m.Id == LeaderUserId);
+                UserRankItem user = PosCouponPrizeService.Instance.GetUserLevel(db, LeaderUserId);
+                if(user.Id > 0)
                 {
                     decimal TotalPrice = 10000;
                     if((user.LeaderLevel == 2 || user.UserType > 1) && level > 1)
@@ -782,7 +783,8 @@ namespace MySystem
             while(UserId > 0)
             {
                 level += 1;
-                Users user = db.Users.FirstOrDefault(m => m.Id == UserId);
+                // Users user = db.Users.FirstOrDefault(m => m.Id == UserId);
+                UserRankItem user = PosCouponPrizeService.Instance.GetUserLevel(db, UserId);
                 if(user != null)
                 {
                     if((user.UserType == 1 || user.LeaderLevel > 0) && level > 1)

+ 5 - 1
AppStart/Helper/PosCouponPrize/PosCouponPrizeService.cs

@@ -171,13 +171,17 @@ namespace MySystem
         {
             UserRankItem dic = new UserRankItem();
             DateTime now = DateTime.Now;
-            Users user = db.Users.FirstOrDefault(m => m.Id == UserId) ?? new Users();
+            Users user = db.Users.FirstOrDefault(m => m.Id == UserId && m.AuthFlag == 1 && m.Status > -1) ?? new Users();
             UserRankWhite userWhite = db.UserRankWhite.FirstOrDefault(m => m.Id == UserId && m.UpdateDate > now) ?? new UserRankWhite();
             Leaders leader = db.Leaders.FirstOrDefault(m => m.Id == UserId && m.ExpiredDate > now) ?? new Leaders();
             dic.UserLevel = userWhite.Rank > user.UserLevel ? userWhite.Rank : user.UserLevel;
             dic.LeaderLevel = leader.LeaderLevel;
             dic.OperateLevel = user.UserType;
+            dic.UserType = user.UserType;
+            dic.MerchantType = user.MerchantType;
             dic.Id = user.Id;
+            dic.MakerCode = user.MakerCode;
+            dic.RealName = user.RealName;
             dic.ParentUserId = user.ParentUserId;
             dic.ParentNav = user.ParentNav;
             return dic;

+ 4 - 0
AppStart/Helper/PosCouponPrize/UserRankItem.cs

@@ -11,11 +11,15 @@ namespace MySystem
 {
     public class UserRankItem
     {
+        public int UserType { set; get; }
         public int UserLevel { set; get; }
         public int LeaderLevel { set; get; }
         public int OperateLevel { set; get; }
         public int Id { set; get; }
         public int ParentUserId { set; get; }
         public string ParentNav { set; get; }
+        public string MakerCode { set; get; }
+        public string RealName { set; get; }
+        public int MerchantType { set; get; }
     }
 }

+ 3 - 9
AppStart/Helper/StatService.cs

@@ -1164,17 +1164,11 @@ namespace MySystem
                                                 for (int i = ParentNavs.Length - 1; i >= 0; i--)
                                                 {
                                                     int UserId = int.Parse(ParentNavs[i]);
-                                                    Users puser = db.Users.FirstOrDefault(m => m.Id == UserId && m.AuthFlag == 1 && m.Status > -1);
-                                                    if (puser != null && Prize > 0)
+                                                    // Users puser = db.Users.FirstOrDefault(m => m.Id == UserId && m.AuthFlag == 1 && m.Status > -1);
+                                                    UserRankItem puser = PosCouponPrizeService.Instance.GetUserLevel(db, UserId);
+                                                    if (puser.Id > 0 && Prize > 0)
                                                     {
                                                         function.WriteLog("上级:" + puser.MakerCode, "开机奖励发放日志");
-                                                        // int machineCount = db.PosMachinesTwo.Count(m => m.BuyUserId == puser.Id && m.PosSnType == 0 && m.ActivationState == 0); //判断是否拥有3台兑换机
-                                                        // int ActiveCount = db.PosMachinesTwo.Count(m => m.BuyUserId == puser.Id && m.ActivationState == 1); //判断是否拥有3台激活机(不限购买或赠送)
-                                                        // int couponCount = db.PosCoupons.Count(m => m.UserId == puser.Id && m.IsUse == 0); //判断是否拥有3张券
-                                                        // int BigCount = db.PosMachinesTwo.Count(m => m.UserId == puser.Id && m.BrandId == 3); //判断是否拥有2台大机
-                                                        // int BigActiveCount = db.PosMachinesTwo.Count(m => m.UserId == puser.Id && m.ActivationState == 1 && m.BrandId == 3); //判断是否拥有2台激活大机(不限购买或赠送)
-                                                        // function.WriteLog("条件:machineCount:" + machineCount + ",ActiveCount:" + ActiveCount + ",couponCount:" + couponCount + "", "开机奖励发放日志");
-                                                        // if (machineCount + ActiveCount + couponCount >= 3)
                                                         function.WriteLog("条件:LeaderLevel:" + puser.LeaderLevel + ",UserType:" + puser.UserType, "开机奖励发放日志");
                                                         if(puser.LeaderLevel > 0 || puser.UserType == 1)
                                                         {

+ 2 - 1
Util/Utils.cs

@@ -85,7 +85,8 @@ namespace MySystem
         public bool IsStandardUser(int UserId)
         {
             WebCMSEntities db = new WebCMSEntities();
-            Users user = db.Users.FirstOrDefault(m => m.Id == UserId) ?? new Users();
+            // Users user = db.Users.FirstOrDefault(m => m.Id == UserId) ?? new Users();
+            UserRankItem user = PosCouponPrizeService.Instance.GetUserLevel(db, UserId);
             if(user.UserType == 1)
             {
                 return true;