按 examId 延迟加载成绩工作区,未选择考试时不执行排名计算
单条及批量成绩草稿、发布 特长分单条及批量维护 成绩复议多级审批、终审改分、归档锁定 排名、等级、单科达线和考试汇总 成绩台账 Excel 导出 管理范围、超级管理员写权限及事务审计 独立开关 ADMIN_NATIVE_RESULTS_ENABLED
This commit is contained in:
@@ -164,6 +164,44 @@ public static class NativeAdminReadEndpoints
|
||||
(HttpContext context, string registrationId, IAdminArrangementService service, CancellationToken cancellationToken) =>
|
||||
Execute(context, service.RetiredSingleAsync(Token(context), cancellationToken)));
|
||||
}
|
||||
|
||||
if (options.NativeResultsEnabled)
|
||||
{
|
||||
endpoints.MapGet("/api/admin/results",
|
||||
(HttpContext context, IAdminResultService service, CancellationToken cancellationToken) =>
|
||||
Execute(
|
||||
context,
|
||||
service.GetAsync(
|
||||
Token(context),
|
||||
context.Request.Query["examId"].ToString(),
|
||||
cancellationToken)));
|
||||
endpoints.MapPost("/api/admin/results",
|
||||
(HttpContext context, JsonObject body, IAdminResultService service, CancellationToken cancellationToken) =>
|
||||
Execute(context, service.SaveAsync(Token(context), body, cancellationToken)));
|
||||
endpoints.MapPost("/api/admin/results/bulk",
|
||||
(HttpContext context, JsonObject body, IAdminResultService service, CancellationToken cancellationToken) =>
|
||||
Execute(context, service.SaveBulkAsync(Token(context), body, cancellationToken)));
|
||||
endpoints.MapPost("/api/admin/feature-scores/bulk",
|
||||
(HttpContext context, JsonObject body, IAdminResultService service, CancellationToken cancellationToken) =>
|
||||
Execute(context, service.SaveFeatureBulkAsync(Token(context), body, cancellationToken)));
|
||||
endpoints.MapPatch("/api/admin/registrations/{registrationId}/feature-score",
|
||||
(HttpContext context, string registrationId, JsonObject body, IAdminResultService service, CancellationToken cancellationToken) =>
|
||||
Execute(context, service.SaveFeatureAsync(Token(context), registrationId, body, cancellationToken)));
|
||||
endpoints.MapPatch("/api/admin/score-appeals/{resultId}",
|
||||
(HttpContext context, string resultId, JsonObject body, IAdminResultService service, CancellationToken cancellationToken) =>
|
||||
Execute(context, service.ReviewAppealAsync(Token(context), resultId, body, cancellationToken)));
|
||||
endpoints.MapPost("/api/admin/results/cache/refresh",
|
||||
(HttpContext context, IAdminResultService service, CancellationToken cancellationToken) =>
|
||||
Execute(context, service.RefreshCacheAsync(Token(context), cancellationToken)));
|
||||
endpoints.MapGet("/api/admin/excel/results",
|
||||
(HttpContext context, IAdminResultService service, CancellationToken cancellationToken) =>
|
||||
ExecuteDocument(
|
||||
context,
|
||||
service.ExportAsync(
|
||||
Token(context),
|
||||
context.Request.Query["examId"].ToString(),
|
||||
cancellationToken)));
|
||||
}
|
||||
return endpoints;
|
||||
}
|
||||
|
||||
|
||||
+10
-1
@@ -56,7 +56,8 @@ var adminMigrationOptions = AdminMigrationOptions.FromEnvironment(
|
||||
builder.Configuration.GetValue<bool>("AdminMigration:NativeRegistrationPaymentWritesEnabled"),
|
||||
builder.Configuration.GetValue<bool>("AdminMigration:NativeWorkflowOperationsEnabled"),
|
||||
builder.Configuration.GetValue<bool>("AdminMigration:NativeExamManagementEnabled"),
|
||||
builder.Configuration.GetValue<bool>("AdminMigration:NativeArrangementsEnabled"));
|
||||
builder.Configuration.GetValue<bool>("AdminMigration:NativeArrangementsEnabled"),
|
||||
builder.Configuration.GetValue<bool>("AdminMigration:NativeResultsEnabled"));
|
||||
builder.Services.AddEisInfrastructure(
|
||||
DatabaseOptions.FromEnvironment(applicationRoot, builder.Environment.IsProduction()),
|
||||
DocumentVerificationOptions.FromEnvironment(builder.Environment.IsProduction()),
|
||||
@@ -122,6 +123,7 @@ app.MapGet("/health/migration", async (LegacyApiProxy proxy, CancellationToken c
|
||||
nativeWorkflowOperationsEnabled = adminMigrationOptions.NativeWorkflowOperationsEnabled,
|
||||
nativeExamManagementEnabled = adminMigrationOptions.NativeExamManagementEnabled,
|
||||
nativeArrangementsEnabled = adminMigrationOptions.NativeArrangementsEnabled,
|
||||
nativeResultsEnabled = adminMigrationOptions.NativeResultsEnabled,
|
||||
nativeRoutes = (adminMigrationOptions.NativeReadsEnabled
|
||||
? new[] { "GET context", "GET dashboard", "GET schools", "GET school-organization", "GET admins", "GET exams" }
|
||||
: [])
|
||||
@@ -166,6 +168,13 @@ app.MapGet("/health/migration", async (LegacyApiProxy proxy, CancellationToken c
|
||||
"GET admission exports"
|
||||
}
|
||||
: [])
|
||||
.Concat(adminMigrationOptions.NativeResultsEnabled
|
||||
? new[]
|
||||
{
|
||||
"GET/POST results", "POST result bulk", "POST/PATCH feature scores",
|
||||
"PATCH score appeals", "GET result Excel export"
|
||||
}
|
||||
: [])
|
||||
.ToArray()
|
||||
},
|
||||
features = MigrationFeatureCatalog.Current(authenticationOptions.NativeEnabled, candidateMigrationOptions.NativeEnabled)
|
||||
|
||||
@@ -21,7 +21,8 @@
|
||||
"NativeRegistrationPaymentWritesEnabled": false,
|
||||
"NativeWorkflowOperationsEnabled": false,
|
||||
"NativeExamManagementEnabled": false,
|
||||
"NativeArrangementsEnabled": false
|
||||
"NativeArrangementsEnabled": false,
|
||||
"NativeResultsEnabled": false
|
||||
},
|
||||
"Logging": {
|
||||
"LogLevel": {
|
||||
|
||||
Reference in New Issue
Block a user