← 返回文档中心

工单系统

工单系统(Ticket System)

问题追踪 + AI 自动诊断。

流程图:工单处理流程

flowchart TD
    A[工单创建] --> B{来源?}
    B -->|代理商提交| C[API 接收]
    B -->|手动创建| D[飞书消息自动转工单]
    B -->|监控触发| E[异常事件自动生成]
    C --> F[AI 自动诊断]
    D --> F
    E --> F
    F --> G[关联数据
订单/酒店/供应商/代理商] G --> H[拉取全链路 Trace] H --> I[分析根因] I --> J[生成诊断报告] J --> K{是否可自动解决?} K -->|是| L{需要审批?} L -->|是 L3| M[推送建议等待确认] L -->|否 L1/L2| N[自动执行修复] K -->|否| M M --> O{用户响应?} O -->|确认执行| N O -->|转人工| P[升级为人工处理] N --> Q[记录修复结果] Q --> R[更新知识库] R --> S[关闭工单] P --> T[人工处理后关闭] T --> R class B,K,L,O decision class S done class J,N,P,Q warning class A,C,D,E,F,G,H,I,M,R,T 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  tickets (
    id              BIGSERIAL PRIMARY KEY,
    ticket_no       VARCHAR(32) NOT NULL UNIQUE,  -- TK-20260415-001
    title           VARCHAR(256) NOT NULL,
    description     TEXT NOT NULL,
    source          VARCHAR(32) NOT NULL,  -- agent/manual/monitor
    priority        VARCHAR(8) NOT NULL,    -- P0/P1/P2/P3
    status          VARCHAR(32) DEFAULT 'open',
    -- open/diagnosing/pending_approval/resolved/closed
    related_type    VARCHAR(32),            -- order/hotel/supplier/agent
    related_id      VARCHAR(64),
    diagnosis       JSONB,                   -- AI 自动诊断结果
    suggestion      TEXT,                    -- AI 建议
    resolution      TEXT,
    assigned_to     VARCHAR(64),
    created_by      VARCHAR(64),
    created_at      TIMESTAMPTZ DEFAULT now(),
    resolved_at     TIMESTAMPTZ,
    closed_at       TIMESTAMPTZ
);

CREATE TABLE ticket_timeline (
    id              BIGSERIAL PRIMARY KEY,
    ticket_id       BIGINT REFERENCES tickets(id),
    action          VARCHAR(64) NOT NULL,    -- created/diagnosed/suggested/replied/resolved
    operator_type   VARCHAR(16),             -- ai/human/system
    operator_id     VARCHAR(64),
    content         JSONB NOT NULL,
    created_at      TIMESTAMPTZ DEFAULT now()
);

API 接口

方法 路径 说明
POST /api/tickets 创建工单
GET /api/tickets 获取工单列表
GET /api/tickets/{id} 获取工单详情
POST /api/tickets/{id}/diagnose 触发 AI 诊断
PUT /api/tickets/{id}/resolve 解决工单

业务逻辑

工单可通过人工创建(source=manual)、AI Agent 自动创建(source=agent)或监控系统触发(source=monitor)。创建后自动进入 open 状态,AI 根据工单描述和关联数据执行自动诊断,结果写入 diagnosissuggestion 字段,同时记录 ticket_timeline。P0 工单自动升级通知,P3 工单可异步处理。解决后记录 resolutionresolved_at,关闭时记录 closed_at