/// <summary> /// 更新腻所有会员等级 /// </summary> /// <param name="db"></param> /// <param name="memberId"></param> /// <param name="shopId"></param> /// <returns></returns> public static async Task UpdateAllMemberLevel(ShopDbContext db, ShopMemberSet shopMemberSet, int shopId, ILogger _logger) { var shopMembers = db.ShopMembers.Where(m => !m.IsDel && m.ShopId.Equals(shopId)); foreach (var member in shopMembers) { await UpdateMemberLevel(db, shopMemberSet, member.MemberId, shopId, _logger); } }
/// <summary> /// 获取积分比率 /// </summary> /// <param name="db"></param> /// <param name="shopId"></param> /// <returns></returns> private async static Task <decimal> GetShopMemberSet(ShopDbContext db, ShopMemberSet shopMemberSet, int shopId, ILogger _logger) { if (shopMemberSet.ConsumeAmount == 0 || shopMemberSet.GetIntegral == 0) { return(0M); } var rate = shopMemberSet.GetIntegral / (shopMemberSet.ConsumeAmount / 100.00M); return(await Task.FromResult(rate)); }
/// <summary> /// 更新腻会员等级 /// </summary> /// <param name="db"></param> /// <param name="memberId"></param> /// <param name="shopId"></param> /// <returns></returns> public static async Task UpdateMemberLevel(ShopDbContext db, ShopMemberSet shopMemberSet, int memberId, int shopId, ILogger _logger) { int count = await ShopIntegralRechargeServer.GetMemberIntegral(db, memberId, shopId, _logger); var shopmember = await db.ShopMembers.FirstOrDefaultAsync(m => m.MemberId.Equals(memberId) && m.ShopId.Equals(shopId) && !m.IsDel); ShopMemberLevel shopMemberLevels = null; if (shopMemberSet.IsSavaLevel) { shopMemberLevels = await GetLevelByIntegral(db, count, shopId, _logger); } else { shopMemberLevels = await GetLevelUp(db, count, shopId, shopmember, _logger); } if (shopMemberLevels == null) { return; } shopmember.ShopMemberLevelId = shopMemberLevels.Id; await db.SaveChangesAsync(); }