多等待

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>
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;
foreach (var paidCourse in paidCourses)
// 获取用户已经购买的课程 ID只查类型为2
var userPurchasedIds = await _sportsContext.CurricularPurchaseRecord
.Where(x => x.UserId == userId)
.Select(x => x.TaxonomyId)
.ToListAsync();
// 获取所有类型为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
{
paidCoursesList.Add(new Y_CurricularPurchaseRecord()
{
TaxonomyId = paidCourse.Id,
TaxonomyId = course.Id,
UserId = userId,
RedeemCode = redeemCode,
Remarks = "",
CreateDate = DateTime.Now
});
}
}).ToList();
await _sportsContext.AddRangeAsync(paidCoursesList);
await _sportsContext.AddRangeAsync(newRecords);
return await _sportsContext.SaveChangesAsync() > 0;
}