feat: 完成P10生产硬化与矩阵收口(P10E1-P10G1)
这个提交包含在:
@@ -90,6 +90,29 @@ function getConfig() {
|
||||
ocrMaxAttempts: Number(process.env.OCR_MAX_ATTEMPTS ?? 3),
|
||||
ocrTimeoutMs: Number(process.env.OCR_TIMEOUT_MS ?? 5000),
|
||||
|
||||
invoiceVerificationEnabled: process.env.INVOICE_VERIFICATION_ENABLED === "true",
|
||||
verificationProvider: process.env.VERIFICATION_PROVIDER ?? "mock",
|
||||
verificationPollCron: process.env.VERIFICATION_POLL_CRON ?? "* * * * *",
|
||||
verificationMaxAttempts: Number(process.env.VERIFICATION_MAX_ATTEMPTS ?? 3),
|
||||
verificationRetryCooldownSeconds: Number(
|
||||
process.env.VERIFICATION_RETRY_COOLDOWN_SECONDS ?? 60,
|
||||
),
|
||||
verificationTimeoutMs: Number(process.env.VERIFICATION_TIMEOUT_MS ?? 5000),
|
||||
|
||||
budgetControlMode: process.env.BUDGET_CONTROL_MODE ?? "warn",
|
||||
|
||||
erpSyncEnabled: process.env.ERP_SYNC_ENABLED === "true",
|
||||
erpSyncProvider: process.env.ERP_SYNC_PROVIDER ?? "mock",
|
||||
erpSyncEndpoint: process.env.ERP_SYNC_ENDPOINT ?? "",
|
||||
erpSyncTimeoutMs: Number(process.env.ERP_SYNC_TIMEOUT_MS ?? 5000),
|
||||
erpSyncAuthToken: process.env.ERP_SYNC_AUTH_TOKEN ?? "",
|
||||
travelSyncEnabled: process.env.TRAVEL_SYNC_ENABLED === "true",
|
||||
imNotifierEnabled: process.env.IM_NOTIFIER_ENABLED === "true",
|
||||
integrationOutboxCron: process.env.INTEGRATION_OUTBOX_CRON ?? "* * * * *",
|
||||
integrationOutboxBatchSize: Number(process.env.INTEGRATION_OUTBOX_BATCH_SIZE ?? 20),
|
||||
integrationOutboxMaxAttempts: Number(process.env.INTEGRATION_OUTBOX_MAX_ATTEMPTS ?? 5),
|
||||
integrationOutboxRetrySeconds: Number(process.env.INTEGRATION_OUTBOX_RETRY_SECONDS ?? 120),
|
||||
|
||||
invoiceArchiveCron: process.env.INVOICE_ARCHIVE_CRON ?? "30 2 * * *",
|
||||
invoiceArchiveUnusedDays: Number(process.env.INVOICE_ARCHIVE_UNUSED_DAYS ?? 90),
|
||||
invoiceArchiveBatchSize: Number(process.env.INVOICE_ARCHIVE_BATCH_SIZE ?? 200),
|
||||
|
||||
在新工单中引用
屏蔽一个用户