报名人数去重

This commit is contained in:
马梓彭 2026-04-28 01:38:06 +08:00
parent 1042e7a0a6
commit 6836fa235f

View File

@ -749,7 +749,7 @@ public class UnifiedRegistrationService : ITransient
var regItems = new List<EventRegistrationItem>(); var regItems = new List<EventRegistrationItem>();
var persons = new List<EventRegistrationPerson>(); var persons = new List<EventRegistrationPerson>();
int totalPersonCount = 0; var uniqueUserIds = new HashSet<long>(); // 用于去重的用户ID集合
foreach (var item in input.Items) foreach (var item in input.Items)
{ {
@ -782,8 +782,6 @@ public class UnifiedRegistrationService : ITransient
}; };
regItems.Add(regItem); regItems.Add(regItem);
totalPersonCount += team.Persons.Count;
foreach (var pInput in team.Persons) foreach (var pInput in team.Persons)
{ {
persons.Add(new EventRegistrationPerson persons.Add(new EventRegistrationPerson
@ -806,6 +804,12 @@ public class UnifiedRegistrationService : ITransient
CreatedUserId = input.CreatedUserId, CreatedUserId = input.CreatedUserId,
CreatedTime = DateTime.Now CreatedTime = DateTime.Now
}); });
// 将用户ID添加到去重集合中
if (pInput.UserId.HasValue)
{
uniqueUserIds.Add(pInput.UserId.Value);
}
} }
} }
} }
@ -813,9 +817,10 @@ public class UnifiedRegistrationService : ITransient
await _registrationItemRepository.InsertRangeAsync(regItems); await _registrationItemRepository.InsertRangeAsync(regItems);
await _registrationPersonRepository.InsertRangeAsync(persons); await _registrationPersonRepository.InsertRangeAsync(persons);
var totalAmount = CalculateTotalAmount(feeConfig, eventProjects, input.Items, totalPersonCount); // 使用去重后的用户数量计算金额
var totalAmount = CalculateTotalAmount(feeConfig, eventProjects, input.Items, uniqueUserIds.Count);
return (totalAmount, totalPersonCount); return (totalAmount, uniqueUserIds.Count);
} }
/// <summary> /// <summary>