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