Explorar o código

商城订单奖励下单人不判断认证

lcl hai 11 meses
pai
achega
c32b31512d
Modificáronse 1 ficheiros con 10 adicións e 8 borrados
  1. 10 8
      AppStart/Helper/PosCouponPrize/PosCouponPrizeService.cs

+ 10 - 8
AppStart/Helper/PosCouponPrize/PosCouponPrizeService.cs

@@ -86,7 +86,7 @@ namespace MySystem
                     }
 
 
-                    UserRankItem orderUser = GetUserLevel(order.UserId);
+                    UserRankItem orderUser = GetUserLevel(order.UserId, false);
                     if(orderUser.UserLevel == 0) 
                     {
                         PreUserLevel(db, order.UserId, 1, DateTime.Parse("2025-01-01 00:00:00"));
@@ -104,7 +104,7 @@ namespace MySystem
                     Utils.Instance.PrizeRecord(2, order.OrderNo, "开始向上递归查找");
                     foreach(string ParentId in ParentNavList)
                     {
-                        UserRankItem parentUser = GetUserLevel(int.Parse(ParentId));
+                        UserRankItem parentUser = GetUserLevel(int.Parse(ParentId), index > 0);
                         if(parentUser.Id > 0)
                         {
                             Utils.Instance.PrizeRecord(2, order.OrderNo, "创客编号:" + parentUser.MakerCode + ";创客姓名:" + parentUser.RealName + ";");
@@ -359,7 +359,7 @@ namespace MySystem
 
                 UserAccountRecord record = db.UserAccountRecord.FirstOrDefault(m => m.Id >= 4579675 && m.QueryCount == order.Id && m.ChangeType == 112) ?? new UserAccountRecord();
 
-                UserRankItem orderUser = GetUserLevel2(order.UserId, order.PayDate.Value);
+                UserRankItem orderUser = GetUserLevel2(order.UserId, order.PayDate.Value, false);
                 if(orderUser.UserLevel == 0) 
                 {
                     PreUserLevel(db, order.UserId, 1, DateTime.Parse("2025-01-01 00:00:00"));
@@ -371,7 +371,7 @@ namespace MySystem
                 bool DirectPrizeFlag = false; //推荐奖励发放标识
                 foreach(string ParentId in ParentNavList)
                 {
-                    UserRankItem parentUser = GetUserLevel2(int.Parse(ParentId), order.PayDate.Value);
+                    UserRankItem parentUser = GetUserLevel2(int.Parse(ParentId), order.PayDate.Value, index > 0);
                     index += 1;
                     if(index == 1 && (orderUser.LeaderLevel > 0 || orderUser.OperateLevel > 0) && !DirectPrizeFlag)
                     {
@@ -468,7 +468,7 @@ namespace MySystem
                     }
 
 
-                    UserRankItem orderUser = GetUserLevel(order.UserId);
+                    UserRankItem orderUser = GetUserLevel(order.UserId, false);
                     if(orderUser.UserLevel == 0) 
                     {
                     }
@@ -482,7 +482,7 @@ namespace MySystem
                     decimal BuyPrize = 0; //购机奖励
                     foreach(string ParentId in ParentNavList)
                     {
-                        UserRankItem parentUser = GetUserLevel(int.Parse(ParentId));
+                        UserRankItem parentUser = GetUserLevel(int.Parse(ParentId), index > 0);
                         index += 1;
                         if(index == 1 && (orderUser.LeaderLevel > 0 || orderUser.OperateLevel > 0) && !DirectPrizeFlag)
                         {
@@ -568,13 +568,14 @@ namespace MySystem
         /// <param name="db"></param>
         /// <param name="UserId"></param>
         /// <returns></returns>
-        public UserRankItem GetUserLevel(int UserId)
+        public UserRankItem GetUserLevel(int UserId, bool AuthFlag = true)
         {
             WebCMSEntities db = new WebCMSEntities();
             OpModels.WebCMSEntities opdb = new OpModels.WebCMSEntities();
             UserRankItem dic = new UserRankItem();
             DateTime now = DateTime.Now;
             Users user = db.Users.FirstOrDefault(m => m.Id == UserId && m.AuthFlag == 1 && m.Status > -1) ?? new Users();
+            if(!AuthFlag) user = db.Users.FirstOrDefault(m => m.Id == UserId && 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) ?? new Leaders();
             dic.UserLevel = userWhite.Rank > user.UserLevel ? userWhite.Rank : user.UserLevel;
@@ -600,12 +601,13 @@ namespace MySystem
             return dic;
         }
 
-        public UserRankItem GetUserLevel2(int UserId, DateTime OrderTime)
+        public UserRankItem GetUserLevel2(int UserId, DateTime OrderTime, bool AuthFlag = true)
         {
             WebCMSEntities db = new WebCMSEntities();
             OpModels.WebCMSEntities opdb = new OpModels.WebCMSEntities();
             UserRankItem dic = new UserRankItem();
             Users user = db.Users.FirstOrDefault(m => m.Id == UserId && m.AuthFlag == 1 && m.Status > -1) ?? new Users();
+            if(!AuthFlag) user = db.Users.FirstOrDefault(m => m.Id == UserId && m.Status > -1) ?? new Users();
             UserRankWhite userWhite = db.UserRankWhite.FirstOrDefault(m => m.Id == UserId && m.UpdateDate > OrderTime) ?? new UserRankWhite();
             Leaders leader = db.Leaders.FirstOrDefault(m => m.Id == UserId) ?? new Leaders();
             dic.UserLevel = userWhite.Rank > user.UserLevel ? userWhite.Rank : user.UserLevel;