多等待

This commit is contained in:
tanglong 2025-08-06 14:02:46 +08:00
parent f013a45050
commit 4777604596

View File

@ -162,25 +162,37 @@ namespace YD_WeChatApplet.Api.Services.Impl
/// <returns></returns> /// <returns></returns>
public async Task<bool> PaidCoursesBuy(string redeemCode) public async Task<bool> PaidCoursesBuy(string redeemCode)
{ {
var paidCoursesList = new List<Y_CurricularPurchaseRecord>();
var paidCourses = await _sportsContext.CurricularTaxonomy.Where(x => x.CurricularType == 2).ToListAsync();
var userId = UserLoginContext.Current.UserId; var userId = UserLoginContext.Current.UserId;
foreach (var paidCourse in paidCourses) // 获取用户已经购买的课程 ID只查类型为2
{ var userPurchasedIds = await _sportsContext.CurricularPurchaseRecord
paidCoursesList.Add(new Y_CurricularPurchaseRecord() .Where(x => x.UserId == userId)
{ .Select(x => x.TaxonomyId)
TaxonomyId = paidCourse.Id, .ToListAsync();
UserId = userId,
RedeemCode = redeemCode,
Remarks = "",
CreateDate = DateTime.Now
});
}
await _sportsContext.AddRangeAsync(paidCoursesList); // 获取所有类型为2的课程
var paidCourses = await _sportsContext.CurricularTaxonomy
.Where(x => x.CurricularType == 2)
.ToListAsync();
// 找出用户未购买的课程
var newCourses = paidCourses
.Where(x => !userPurchasedIds.Contains(x.Id))
.ToList();
if (!newCourses.Any())
return true; // 全部已购买,无需再加
var newRecords = newCourses.Select(course => new Y_CurricularPurchaseRecord
{
TaxonomyId = course.Id,
UserId = userId,
RedeemCode = redeemCode,
Remarks = "",
CreateDate = DateTime.Now
}).ToList();
await _sportsContext.AddRangeAsync(newRecords);
return await _sportsContext.SaveChangesAsync() > 0; return await _sportsContext.SaveChangesAsync() > 0;
} }