修复bug
This commit is contained in:
parent
b7440c99ab
commit
0041776c98
@ -2027,35 +2027,44 @@ public class UnifiedRegistrationService : ITransient
|
||||
var project = projects.FirstOrDefault(p => p.Id == eventProject.ProjectId);
|
||||
if (project == null) continue;
|
||||
|
||||
// ==================== 项目完成人数验证 ====================
|
||||
// 只要项目配置了完成人数(单一值或范围值),就进行验证
|
||||
// 不再依赖 isTeamProject 判断,确保所有类型的项目都能正确验证
|
||||
bool hasValidCompletionConfig = false;
|
||||
// ==================== 项目类型判断 ====================
|
||||
// 个人项目不进行完成人数限制
|
||||
var isTeamProject = project.IsTeamProject();
|
||||
if (!isTeamProject)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// ==================== 完成人数配置解析 ====================
|
||||
// 解析完成人数范围(单一值模式:min==max;范围值模式:min<max)
|
||||
int completionMin = 0;
|
||||
int completionMax = 0;
|
||||
bool hasValidCompletionConfig = false;
|
||||
|
||||
if (project.CompletionCountType == 0)
|
||||
{
|
||||
// 单一值模式
|
||||
if (project.CompletionCount > 0)
|
||||
{
|
||||
hasValidCompletionConfig = true;
|
||||
completionMin = project.CompletionCount;
|
||||
completionMax = project.CompletionCount;
|
||||
hasValidCompletionConfig = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
else if (project.CompletionCountType == 1)
|
||||
{
|
||||
// 范围值模式
|
||||
// 范围值模式 — 必须同时配置 Min/Max 且 Min <= Max
|
||||
if (project.CompletionCountMin.HasValue && project.CompletionCountMax.HasValue &&
|
||||
project.CompletionCountMin.Value > 0 && project.CompletionCountMax.Value > 0)
|
||||
project.CompletionCountMin.Value > 0 && project.CompletionCountMax.Value > 0 &&
|
||||
project.CompletionCountMin.Value <= project.CompletionCountMax.Value)
|
||||
{
|
||||
hasValidCompletionConfig = true;
|
||||
completionMin = project.CompletionCountMin.Value;
|
||||
completionMax = project.CompletionCountMax.Value;
|
||||
hasValidCompletionConfig = true;
|
||||
}
|
||||
}
|
||||
|
||||
// 未配置有效完成人数时跳过
|
||||
if (!hasValidCompletionConfig)
|
||||
{
|
||||
continue;
|
||||
@ -2065,7 +2074,7 @@ public class UnifiedRegistrationService : ITransient
|
||||
if (teams.Count > 0)
|
||||
{
|
||||
// ========== 多团队模式 ==========
|
||||
// 对每个团队单独验证人数是否在范围内(或等于单一值)
|
||||
// 对每个团队单独验证人数是否在范围内
|
||||
foreach (var team in teams)
|
||||
{
|
||||
var teamMemberCount = team.Persons?.Count ?? 0;
|
||||
|
||||
@ -1405,11 +1405,12 @@ public class UserEventRegistrationService : IDynamicApiController, ITransient
|
||||
completionMax = project.CompletionCount;
|
||||
}
|
||||
}
|
||||
else
|
||||
else if (project.CompletionCountType == 1)
|
||||
{
|
||||
// 范围值模式
|
||||
// 范围值模式 — 必须同时配置 Min/Max 且 Min <= Max
|
||||
if (project.CompletionCountMin.HasValue && project.CompletionCountMax.HasValue &&
|
||||
project.CompletionCountMin.Value > 0 && project.CompletionCountMax.Value > 0)
|
||||
project.CompletionCountMin.Value > 0 && project.CompletionCountMax.Value > 0 &&
|
||||
project.CompletionCountMin.Value <= project.CompletionCountMax.Value)
|
||||
{
|
||||
hasValidCompletionConfig = true;
|
||||
completionMin = project.CompletionCountMin.Value;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user