← 返回文档中心

供应商自动接入流水线

供应商自动接入流水线

供应商接入标准化流程:商务签约 → 技术适配 → 自动测试 → 灰度上线。

流程图:供应商接入流程

flowchart TD
    A[商务签约完成] --> B[提交 API 文档和测试凭证]
    B --> C[创建 supplier_onboarding]
    C --> D[AI 生成适配器代码]
    D --> E[Mock 测试
基于模拟数据] E --> F{测试通过?} F -->|否| G[AI 修复代码] G --> E F -->|是| H[集成测试
连接真实供应商测试环境] H --> I{集成测试通过?} I -->|否| J[生成诊断报告] J --> K[通知人工介入] K --> H I -->|是| L[数据质量校验] L --> M{质量达标?} M -->|否| N[标记问题
部分上线] N --> O M -->|是| O[灰度发布 5%流量] O --> P[监控灰度指标
响应时间/错误率/数据质量] P --> Q{灰度正常?} Q -->|否| R[自动回滚] R --> H Q -->|是| S[逐步扩大流量
10%→30%→50%→100%] S --> T[正式上线] T --> U[进入每日回归测试] class F,I,M,Q decision class A,T,U done class R error class G,J,K,N warning class B,C,D,E,H,L,O,P,S process classDef process fill:#1a2744,stroke:#58a6ff,stroke-width:1px,color:#c9d1d9 classDef decision fill:#3a2a1a,stroke:#f0883e,stroke-width:2px,color:#f0883e classDef done fill:#1a3a2a,stroke:#3fb950,stroke-width:1px,color:#3fb950 classDef error fill:#3a1a1a,stroke:#f85149,stroke-width:2px,color:#f85149 classDef warning fill:#3a2a1a,stroke:#d29922,stroke-width:1px,color:#d29922 classDef skip fill:#21262d,stroke:#484f58,color:#8b949e

数据模型

CREATE TABLE  supplier_onboarding (
    id              BIGSERIAL PRIMARY KEY,
    supplier_id     BIGINT REFERENCES suppliers(id),
    status          VARCHAR(32) DEFAULT 'pending',
    -- pending/adapter_dev/mock_test/integration_test/staging/production/failed
    api_doc_url     VARCHAR(512),
    test_credentials JSONB,
    adapter_code    TEXT,
    test_results    JSONB,
    staging_config  JSONB,
    production_config JSONB,
    health_score    DECIMAL(5,2),
    started_at      TIMESTAMPTZ,
    completed_at    TIMESTAMPTZ,
    notes           TEXT
);

CREATE TABLE supplier_test_suite (
    id              BIGSERIAL PRIMARY KEY,
    onboarding_id   BIGINT REFERENCES supplier_onboarding(id),
    test_type       VARCHAR(32) NOT NULL,  -- mock/integration/regression
    test_name       VARCHAR(128) NOT NULL,
    status          VARCHAR(16),           -- passed/failed/skipped
    duration_ms     INT,
    error_detail    TEXT,
    executed_at     TIMESTAMPTZ DEFAULT now()
);

API 接口

方法 路径 说明
POST /api/suppliers/onboarding 创建供应商接入任务
PUT /api/suppliers/onboarding/{id}/advance 推进到下一阶段
GET /api/suppliers/onboarding/{id}/test-results 获取测试结果

业务逻辑

创建 supplier_onboarding 记录后,状态机驱动整个流程。每个阶段有对应的自动化任务:adapter_dev 阶段根据 API 文档自动生成适配器骨架代码;mock_test 阶段运行 Mock 测试用例;integration_test 阶段对接真实供应商沙箱环境;staging 阶段小流量灰度验证;全部通过后进入 production。任何阶段失败进入 failed 状态,记录 notes 供人工排查。