|
|
@@ -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;
|