import type { PrecheckDecision, PrecheckResponse } from "../api/feeControl"; function decisionLabel(decision: PrecheckDecision) { if (decision === "pass") return "通过"; if (decision === "warn") return "预警"; if (decision === "manual_review") return "需人工复核"; return "阻断"; } export function buildPrecheckDialogMessage(precheck: PrecheckResponse) { const lines = [`提交前校验结果:${decisionLabel(precheck.decision)}`]; if (precheck.matchedBudgetControlRule) { lines.push(`命中规则:${precheck.matchedBudgetControlRule.name}(${precheck.matchedBudgetControlRule.controlMode})`); } if (precheck.blockingReasons.length) { lines.push("", "阻断原因:"); precheck.blockingReasons.forEach((item, index) => { lines.push(`${index + 1}. ${item.title}${item.detail ? `:${item.detail}` : ""}`); }); } if (precheck.warnings.length) { lines.push("", "预警信息:"); precheck.warnings.forEach((item, index) => { lines.push(`${index + 1}. ${item.title}${item.detail ? `:${item.detail}` : ""}`); }); } if (precheck.riskFlags.length) { lines.push("", "风险项:"); precheck.riskFlags.forEach((item, index) => { lines.push(`${index + 1}. [${item.level}] ${item.title}${item.detail ? `:${item.detail}` : ""}`); }); } if (precheck.nextActions.length) { lines.push("", "下一步建议:"); precheck.nextActions.forEach((item, index) => { lines.push(`${index + 1}. ${item}`); }); } return lines.join("\n"); }