|
@@ -89,6 +89,7 @@ namespace MySystem
|
|
|
{
|
|
|
PreUserLevel(db, order.UserId, 1, DateTime.Parse("2025-01-01 00:00:00"));
|
|
|
}
|
|
|
+ List<string> codes = order.SnNos.Split(',').ToList();
|
|
|
string ParentNav = orderUser.ParentNav + "," + orderUser.Id + ",";
|
|
|
string[] ParentNavList = ParentNav.Trim(',').Replace(",,", ",").Split(',');
|
|
|
Array.Reverse(ParentNavList);
|
|
@@ -155,12 +156,15 @@ namespace MySystem
|
|
|
}
|
|
|
|
|
|
//给券打大盟主标记
|
|
|
- if(parentUser.LeaderLevel == 2 && !BigLeaderFlag)
|
|
|
+ if(parentUser.LeaderLevel == 1 && CheckLeaderReserve(db, order.BuyCount, parentUser.Id) && !BigLeaderFlag)
|
|
|
+ {
|
|
|
+ BigLeaderFlag = CheckPosCouponLeaderFlag(db, parentUser.Id, order.BuyCount, codes);
|
|
|
+ }
|
|
|
+ else if(parentUser.LeaderLevel == 2 && !BigLeaderFlag)
|
|
|
{
|
|
|
BigLeaderFlag = true;
|
|
|
if(!string.IsNullOrEmpty(order.SnNos))
|
|
|
{
|
|
|
- List<string> codes = order.SnNos.Split(',').ToList();
|
|
|
List<int> couponIds = db.PosCoupons.Where(m => codes.Contains(m.ExchangeCode)).OrderBy(m => m.Id).Take(CouponCount).ToList().Select(m => m.Id).ToList();
|
|
|
SetPosCouponLeaderFlag(db, parentUser.Id, order.BuyCount, couponIds);
|
|
|
}
|
|
@@ -969,7 +973,40 @@ namespace MySystem
|
|
|
foreach(int couponId in couponIds)
|
|
|
{
|
|
|
PosCoupons coupon = db.PosCoupons.FirstOrDefault(m => m.Id == couponId);
|
|
|
- if(coupon != null && pacccount.LeaderReserve >= 400 * Count)
|
|
|
+ decimal LeaderReserve = pacccount.LeaderReserve;
|
|
|
+ decimal CheckReserve = 400 * Count;
|
|
|
+ // if(LeaderReserve < CheckReserve)
|
|
|
+ // {
|
|
|
+ // LeaderReserveRecord ReserveRecord = db.LeaderReserveRecord.FirstOrDefault(m => m.UserId == LeaderUserId && m.Remark == "推荐小盟主" && m.ChangeAmt - m.UsedReserve > 0);
|
|
|
+ // if(ReserveRecord != null)
|
|
|
+ // {
|
|
|
+ // if(ReserveRecord.ChangeAmt - ReserveRecord.UsedReserve >= CheckReserve)
|
|
|
+ // {
|
|
|
+ // LeaderReserve = CheckReserve;
|
|
|
+ // ReserveRecord.UsedReserve += CheckReserve;
|
|
|
+ // }
|
|
|
+ // else
|
|
|
+ // {
|
|
|
+ // decimal OtherLeaderReserve = ReserveRecord.ChangeAmt - ReserveRecord.UsedReserve;
|
|
|
+ // ReserveRecord.UsedReserve += OtherLeaderReserve;
|
|
|
+ // LeaderReserveRecord ReserveRecord2 = db.LeaderReserveRecord.FirstOrDefault(m => m.Id > ReserveRecord.Id && m.UserId == LeaderUserId && m.Remark == "推荐小盟主" && m.ChangeAmt - m.UsedReserve > 0);
|
|
|
+ // if(ReserveRecord2 != null)
|
|
|
+ // {
|
|
|
+ // if(ReserveRecord2.ChangeAmt - ReserveRecord2.UsedReserve >= CheckReserve - OtherLeaderReserve)
|
|
|
+ // {
|
|
|
+ // LeaderReserve = CheckReserve - OtherLeaderReserve;
|
|
|
+ // ReserveRecord2.UsedReserve += CheckReserve - OtherLeaderReserve;
|
|
|
+ // }
|
|
|
+ // else
|
|
|
+ // {
|
|
|
+ // OtherLeaderReserve = ReserveRecord2.ChangeAmt - ReserveRecord2.UsedReserve;
|
|
|
+ // ReserveRecord2.UsedReserve += OtherLeaderReserve;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ if(coupon != null && LeaderReserve >= CheckReserve)
|
|
|
{
|
|
|
coupon.LeaderUserId = LeaderUserId;
|
|
|
SetCount += 1;
|
|
@@ -979,6 +1016,55 @@ namespace MySystem
|
|
|
return SetCount;
|
|
|
}
|
|
|
|
|
|
+ public bool CheckPosCouponLeaderFlag(WebCMSEntities db, int UserId, int Count, List<string> codes)
|
|
|
+ {
|
|
|
+ int SetCount = 0;
|
|
|
+ decimal CheckReserve = 400 * Count;
|
|
|
+ // decimal LeaderReserve = 0;
|
|
|
+ LeaderReserveRecord ReserveRecord = db.LeaderReserveRecord.FirstOrDefault(m => m.SourceUserId == UserId && m.Remark == "推荐小盟主" && m.ChangeAmt - m.UsedReserve > CheckReserve);
|
|
|
+ if(ReserveRecord != null)
|
|
|
+ {
|
|
|
+ int LeaderUserId = ReserveRecord.UserId;
|
|
|
+ // if(ReserveRecord.ChangeAmt - ReserveRecord.UsedReserve >= CheckReserve)
|
|
|
+ // {
|
|
|
+ // LeaderReserve = CheckReserve;
|
|
|
+ ReserveRecord.UsedReserve += CheckReserve;
|
|
|
+ // }
|
|
|
+ // else
|
|
|
+ // {
|
|
|
+ // decimal OtherLeaderReserve = ReserveRecord.ChangeAmt - ReserveRecord.UsedReserve;
|
|
|
+ // ReserveRecord.UsedReserve += OtherLeaderReserve;
|
|
|
+ // LeaderReserveRecord ReserveRecord2 = db.LeaderReserveRecord.FirstOrDefault(m => m.Id > ReserveRecord.Id && m.UserId == LeaderUserId && m.Remark == "推荐小盟主" && m.ChangeAmt - m.UsedReserve > 0);
|
|
|
+ // if(ReserveRecord2 != null)
|
|
|
+ // {
|
|
|
+ // if(ReserveRecord2.ChangeAmt - ReserveRecord2.UsedReserve >= CheckReserve - OtherLeaderReserve)
|
|
|
+ // {
|
|
|
+ // LeaderReserve = CheckReserve - OtherLeaderReserve;
|
|
|
+ // ReserveRecord2.UsedReserve += CheckReserve - OtherLeaderReserve;
|
|
|
+ // }
|
|
|
+ // else
|
|
|
+ // {
|
|
|
+ // OtherLeaderReserve = ReserveRecord2.ChangeAmt - ReserveRecord2.UsedReserve;
|
|
|
+ // ReserveRecord2.UsedReserve += OtherLeaderReserve;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+
|
|
|
+ List<int> couponIds = db.PosCoupons.Where(m => codes.Contains(m.ExchangeCode)).OrderBy(m => m.Id).ToList().Select(m => m.Id).ToList();
|
|
|
+ foreach(int couponId in couponIds)
|
|
|
+ {
|
|
|
+ PosCoupons coupon = db.PosCoupons.FirstOrDefault(m => m.Id == couponId);
|
|
|
+ if(coupon != null)
|
|
|
+ {
|
|
|
+ coupon.LeaderUserId = LeaderUserId;
|
|
|
+ SetCount += 1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ db.SaveChanges();
|
|
|
+ }
|
|
|
+ return SetCount > 0;
|
|
|
+ }
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 获取购机奖金额
|
|
|
/// </summary>
|