|
@@ -210,10 +210,12 @@ namespace MySystem
|
|
|
{
|
|
|
OperateReserveBackFor(db, user.Id, order.TotalPrice);
|
|
|
decimal Prize = decimal.Parse(function.CheckNum(PublicFunction.GetPublicParam(db, "BigLeaderPrize")));
|
|
|
- if(Prize > 0)
|
|
|
+ if(Prize > 0 && user.LeaderLevel < 2 && user.UserType == 0)
|
|
|
{
|
|
|
LeaderRecommendPrize(db, order, user.Id, Prize, 122);
|
|
|
}
|
|
|
+ //预设大盟主职级
|
|
|
+ LeaderPreUserLevel(db, order.UserId, 2);
|
|
|
}
|
|
|
|
|
|
}
|
|
@@ -223,10 +225,12 @@ namespace MySystem
|
|
|
Users user = db.Users.FirstOrDefault(m => m.Id == order.UserId) ?? new Users();
|
|
|
OperateReserveBackFor(db, user.Id, order.TotalPrice);
|
|
|
decimal Prize = decimal.Parse(function.CheckNum(PublicFunction.GetPublicParam(db, "SmallLeaderPrize")));
|
|
|
- if(Prize > 0)
|
|
|
+ if(Prize > 0 && user.LeaderLevel < 1 && user.UserType == 0)
|
|
|
{
|
|
|
LeaderRecommendPrize(db, order, user.Id, Prize, 123);
|
|
|
}
|
|
|
+ //预设小盟主职级
|
|
|
+ LeaderPreUserLevel(db, order.UserId, 1);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -302,6 +306,7 @@ namespace MySystem
|
|
|
//寻找最近运营中心额度大于0的运营中心
|
|
|
int PUserId = user.Id;
|
|
|
bool OperateFlag = true;
|
|
|
+ bool OncePrizeFlag1 = true;
|
|
|
while(PUserId > 0)
|
|
|
{
|
|
|
Users puser = db.Users.FirstOrDefault(m => m.Id == PUserId);
|
|
@@ -325,12 +330,13 @@ namespace MySystem
|
|
|
}
|
|
|
}
|
|
|
db.SaveChanges();
|
|
|
- if(acccount.LeaderReserve >= 400 * pro.ProductCount)
|
|
|
+ if(acccount.LeaderReserve >= 400 * pro.ProductCount && OncePrizeFlag1)
|
|
|
{
|
|
|
//扣减备用金
|
|
|
OpReserve(db, order, order.UserId, 400 * pro.ProductCount, 2, 0, "商城购机");
|
|
|
//返回到余额
|
|
|
OpLeaderAccount(db, order, order.UserId, 400, pro.ProductCount);
|
|
|
+ OncePrizeFlag1 = false;
|
|
|
}
|
|
|
OperateFlag = false;
|
|
|
}
|
|
@@ -361,6 +367,7 @@ namespace MySystem
|
|
|
//寻找最近储蓄金充足的大盟主
|
|
|
int PUserId = user.Id;
|
|
|
bool LeaderFlag = true;
|
|
|
+ bool OncePrizeFlag2 = true;
|
|
|
while(PUserId > 0)
|
|
|
{
|
|
|
Users puser = db.Users.FirstOrDefault(m => m.Id == PUserId);
|
|
@@ -381,12 +388,13 @@ namespace MySystem
|
|
|
}
|
|
|
db.SaveChanges();
|
|
|
UserAccount acccount = db.UserAccount.FirstOrDefault(m => m.Id == order.UserId) ?? new UserAccount();
|
|
|
- if(acccount.LeaderReserve >= 400 * pro.ProductCount)
|
|
|
+ if(acccount.LeaderReserve >= 400 * pro.ProductCount && OncePrizeFlag2)
|
|
|
{
|
|
|
//扣减备用金
|
|
|
OpReserve(db, order, order.UserId, 400 * pro.ProductCount, 2, 0, "商城购机");
|
|
|
//返回到余额
|
|
|
OpLeaderAccount(db, order, order.UserId, 400, pro.ProductCount);
|
|
|
+ OncePrizeFlag2 = false;
|
|
|
}
|
|
|
LeaderFlag = false;
|
|
|
}
|
|
@@ -405,6 +413,7 @@ namespace MySystem
|
|
|
int PUserId = user.Id;
|
|
|
int LeaderFlag = 0;
|
|
|
bool OperateFlag = true;
|
|
|
+ bool OncePrizeFlag3 = true;
|
|
|
while(PUserId > 0)
|
|
|
{
|
|
|
Users puser = db.Users.FirstOrDefault(m => m.Id == PUserId);
|
|
@@ -428,13 +437,14 @@ namespace MySystem
|
|
|
db.SaveChanges();
|
|
|
}
|
|
|
UserAccount acccount = db.UserAccount.FirstOrDefault(m => m.Id == puser.Id) ?? new UserAccount();
|
|
|
- if(acccount.LeaderReserve >= 400 * pro.ProductCount)
|
|
|
+ if(acccount.LeaderReserve >= 400 * pro.ProductCount && OncePrizeFlag3)
|
|
|
{
|
|
|
//扣减备用金
|
|
|
OpReserve(db, order, puser.Id, 400 * pro.ProductCount, 2, 0, "商城购机");
|
|
|
//返回到余额
|
|
|
OpLeaderAccount(db, order, puser.Id, 400, pro.ProductCount);
|
|
|
LeaderFlag = puser.LeaderLevel;
|
|
|
+ OncePrizeFlag3 = false;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -462,7 +472,7 @@ namespace MySystem
|
|
|
}
|
|
|
}
|
|
|
//运营中心返额度(下单人自己是运营中心)
|
|
|
- OperateReserveBackFor(db, order.UserId, order.TotalPrice);
|
|
|
+ // OperateReserveBackFor(db, order.UserId, order.TotalPrice);
|
|
|
}
|
|
|
return;
|
|
|
}
|
|
@@ -470,6 +480,8 @@ namespace MySystem
|
|
|
// List<int> proids = new List<int>();
|
|
|
// proids.Add(10);
|
|
|
// proids.Add(11);
|
|
|
+ // 普通创客购买600一组的机具券
|
|
|
+ bool OncePrizeFlag4 = true;
|
|
|
while(ParentUserId > 0)
|
|
|
{
|
|
|
Users puser = db.Users.FirstOrDefault(m => m.Id == ParentUserId) ?? new Users();
|
|
@@ -525,13 +537,14 @@ namespace MySystem
|
|
|
OpAccount(db, order, puser.Id, 100, pro.ProductCount);
|
|
|
buyPrize = true;
|
|
|
}
|
|
|
- if(acccount.LeaderReserve >= 400 * pro.ProductCount && puser.LeaderLevel > leaderFlag && leaderFlag < 2)
|
|
|
+ if(acccount.LeaderReserve >= 400 * pro.ProductCount && puser.LeaderLevel > leaderFlag && leaderFlag < 2 && OncePrizeFlag4)
|
|
|
{
|
|
|
//扣减备用金
|
|
|
OpReserve(db, order, puser.Id, 400 * pro.ProductCount, 2, order.UserId, "购机奖励");
|
|
|
//返回到余额
|
|
|
OpLeaderAccount(db, order, puser.Id, 400, pro.ProductCount);
|
|
|
leaderFlag = puser.LeaderLevel;
|
|
|
+ OncePrizeFlag4 = false;
|
|
|
}
|
|
|
//如果是大盟主,则标记大盟主标签
|
|
|
if(couponIds.Count > 0 && puser.LeaderLevel == 2 && acccount.LeaderReserve >= order.TotalPrice && !bigLeaderPrize)
|
|
@@ -575,7 +588,7 @@ namespace MySystem
|
|
|
ParentUserId = puser.ParentUserId;
|
|
|
}
|
|
|
//运营中心返额度
|
|
|
- OperateReserveBackFor(db, order.UserId, order.TotalPrice);
|
|
|
+ // OperateReserveBackFor(db, order.UserId, order.TotalPrice);
|
|
|
}
|
|
|
}
|
|
|
function.WriteLog("\r\n\r\n", "推荐下单奖励监控日志");
|
|
@@ -1040,5 +1053,37 @@ namespace MySystem
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
+
|
|
|
+ #region 购买盟主预设职级
|
|
|
+
|
|
|
+ public void LeaderPreUserLevel(WebCMSEntities db, int UserId, int LeaderKind)
|
|
|
+ {
|
|
|
+ int Month = LeaderKind == 1 ? 6 : 12;
|
|
|
+ int Rank = LeaderKind == 1 ? 5 : 7;
|
|
|
+ UserRankWhite check = db.UserRankWhite.FirstOrDefault(m => m.Id == UserId);
|
|
|
+ if(check == null)
|
|
|
+ {
|
|
|
+ db.UserRankWhite.Add(new UserRankWhite()
|
|
|
+ {
|
|
|
+ CreateDate = DateTime.Now, //设置时间
|
|
|
+ UpdateDate = DateTime.Now.AddMonths(Month), //过期时间
|
|
|
+ Rank = Rank,
|
|
|
+ UserId = UserId, //用户
|
|
|
+ Id = UserId,
|
|
|
+ });
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ if(check.Rank < Rank)
|
|
|
+ {
|
|
|
+ check.Rank = Rank;
|
|
|
+ check.UpdateDate = DateTime.Now.AddMonths(Month);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ db.SaveChanges();
|
|
|
+ }
|
|
|
+
|
|
|
+ #endregion
|
|
|
+
|
|
|
}
|
|
|
}
|