|
@@ -87,25 +87,23 @@ namespace MySystem
|
|
order.Status = 1;
|
|
order.Status = 1;
|
|
order.PayDate = DateTime.Now;
|
|
order.PayDate = DateTime.Now;
|
|
order.PayStatus = 1;
|
|
order.PayStatus = 1;
|
|
|
|
+ db.SaveChanges();
|
|
if(order.ParentOrderId > 0)
|
|
if(order.ParentOrderId > 0)
|
|
{
|
|
{
|
|
int total = db.Orders.Count(m => m.ParentOrderId == order.ParentOrderId);
|
|
int total = db.Orders.Count(m => m.ParentOrderId == order.ParentOrderId);
|
|
int paycount = db.Orders.Count(m => m.ParentOrderId == order.ParentOrderId && m.Status > 0);
|
|
int paycount = db.Orders.Count(m => m.ParentOrderId == order.ParentOrderId && m.Status > 0);
|
|
if(paycount + 1 >= total)
|
|
if(paycount + 1 >= total)
|
|
{
|
|
{
|
|
- order = db.Orders.FirstOrDefault(m => m.Id == order.ParentOrderId && m.Status == 0);
|
|
|
|
- if (order != null)
|
|
|
|
- {
|
|
|
|
- order.Status = 2;
|
|
|
|
- order.PayDate = DateTime.Now;
|
|
|
|
- order.PayStatus = 1;
|
|
|
|
- OrderId = order.Id;
|
|
|
|
- }
|
|
|
|
|
|
+ // order = db.Orders.FirstOrDefault(m => m.Id == order.ParentOrderId && m.Status == 0);
|
|
|
|
+ // if (order != null)
|
|
|
|
+ // {
|
|
|
|
+ // order.Status = 2;
|
|
|
|
+ // order.PayDate = DateTime.Now;
|
|
|
|
+ // order.PayStatus = 1;
|
|
|
|
+ // OrderId = order.Id;
|
|
|
|
+ // }
|
|
|
|
+ DoOrderV2(db, order.ParentOrderId);
|
|
}
|
|
}
|
|
- }
|
|
|
|
- db.SaveChanges();
|
|
|
|
- if(order.ParentOrderId > 0)
|
|
|
|
- {
|
|
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -124,6 +122,7 @@ namespace MySystem
|
|
order.Status = 2;
|
|
order.Status = 2;
|
|
int BuyCount = pro.ProductCount;
|
|
int BuyCount = pro.ProductCount;
|
|
int Kind = 0;
|
|
int Kind = 0;
|
|
|
|
+ int BeforeLeaderLevel = 0;
|
|
if (pro.ProductId == 10 || pro.ProductId == 34)
|
|
if (pro.ProductId == 10 || pro.ProductId == 34)
|
|
{
|
|
{
|
|
Kind = 1;
|
|
Kind = 1;
|
|
@@ -137,6 +136,7 @@ namespace MySystem
|
|
Users user = db.Users.FirstOrDefault(m => m.Id == order.UserId && m.LeaderLevel == 0);
|
|
Users user = db.Users.FirstOrDefault(m => m.Id == order.UserId && m.LeaderLevel == 0);
|
|
if(user != null)
|
|
if(user != null)
|
|
{
|
|
{
|
|
|
|
+ BeforeLeaderLevel = user.LeaderLevel;
|
|
user.LeaderLevel = 1;
|
|
user.LeaderLevel = 1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -145,6 +145,7 @@ namespace MySystem
|
|
Users user = db.Users.FirstOrDefault(m => m.Id == order.UserId && m.LeaderLevel < 2);
|
|
Users user = db.Users.FirstOrDefault(m => m.Id == order.UserId && m.LeaderLevel < 2);
|
|
if(user != null)
|
|
if(user != null)
|
|
{
|
|
{
|
|
|
|
+ BeforeLeaderLevel = user.LeaderLevel;
|
|
user.LeaderLevel = 2;
|
|
user.LeaderLevel = 2;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -210,22 +211,21 @@ namespace MySystem
|
|
{
|
|
{
|
|
OperateReserveBackFor(db, user.Id, order.TotalPrice);
|
|
OperateReserveBackFor(db, user.Id, order.TotalPrice);
|
|
decimal Prize = decimal.Parse(function.CheckNum(PublicFunction.GetPublicParam(db, "BigLeaderPrize")));
|
|
decimal Prize = decimal.Parse(function.CheckNum(PublicFunction.GetPublicParam(db, "BigLeaderPrize")));
|
|
- if(Prize > 0 && user.LeaderLevel < 2 && user.UserType == 0)
|
|
|
|
|
|
+ if(Prize > 0 && BeforeLeaderLevel < 2 && user.UserType == 0)
|
|
{
|
|
{
|
|
LeaderRecommendPrize(db, order, user.Id, Prize, 122);
|
|
LeaderRecommendPrize(db, order, user.Id, Prize, 122);
|
|
}
|
|
}
|
|
//预设大盟主职级
|
|
//预设大盟主职级
|
|
LeaderPreUserLevel(db, order.UserId, 2);
|
|
LeaderPreUserLevel(db, order.UserId, 2);
|
|
}
|
|
}
|
|
-
|
|
|
|
}
|
|
}
|
|
if (pro.ProductId == 28) //购买小盟主,给上级大盟主返储备金
|
|
if (pro.ProductId == 28) //购买小盟主,给上级大盟主返储备金
|
|
{
|
|
{
|
|
- 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();
|
|
- OperateReserveBackFor(db, user.Id, order.TotalPrice);
|
|
|
|
|
|
+ if (check) OperateReserveBackFor(db, user.Id, order.TotalPrice);
|
|
decimal Prize = decimal.Parse(function.CheckNum(PublicFunction.GetPublicParam(db, "SmallLeaderPrize")));
|
|
decimal Prize = decimal.Parse(function.CheckNum(PublicFunction.GetPublicParam(db, "SmallLeaderPrize")));
|
|
- if(Prize > 0 && user.LeaderLevel < 1 && user.UserType == 0)
|
|
|
|
|
|
+ if(Prize > 0 && BeforeLeaderLevel < 1 && user.UserType == 0)
|
|
{
|
|
{
|
|
LeaderRecommendPrize(db, order, user.Id, Prize, 123);
|
|
LeaderRecommendPrize(db, order, user.Id, Prize, 123);
|
|
}
|
|
}
|
|
@@ -630,10 +630,11 @@ namespace MySystem
|
|
}
|
|
}
|
|
|
|
|
|
//小盟主购买逻辑
|
|
//小盟主购买逻辑
|
|
- public void LeaderBack(WebCMSEntities db, Orders order)
|
|
|
|
|
|
+ public bool LeaderBack(WebCMSEntities db, Orders order)
|
|
{
|
|
{
|
|
int LeaderUserId = order.UserId;
|
|
int LeaderUserId = order.UserId;
|
|
int level = 0;
|
|
int level = 0;
|
|
|
|
+ bool result = true;
|
|
while(LeaderUserId > 0)
|
|
while(LeaderUserId > 0)
|
|
{
|
|
{
|
|
level += 1;
|
|
level += 1;
|
|
@@ -650,6 +651,7 @@ namespace MySystem
|
|
OpReserve(db, order, LeaderUserId, order.TotalPrice, 2, 0, "推荐小盟主");
|
|
OpReserve(db, order, LeaderUserId, order.TotalPrice, 2, 0, "推荐小盟主");
|
|
OpLeaderAccount(db, order, LeaderUserId, order.TotalPrice);
|
|
OpLeaderAccount(db, order, LeaderUserId, order.TotalPrice);
|
|
LeaderUserId = 0;
|
|
LeaderUserId = 0;
|
|
|
|
+ result = false;
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
@@ -670,6 +672,7 @@ namespace MySystem
|
|
LeaderUserId = 0;
|
|
LeaderUserId = 0;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ return result;
|
|
}
|
|
}
|
|
|
|
|
|
//操作储备金
|
|
//操作储备金
|