进出场逻辑流程.md 1.6 KB

进出场逻辑流程图

更新日期:2026-08-07 本文档为流程总览;字段和异常细节见 进出场流程详解

1. 统一流程

flowchart TD
    A[设备事件或人工录入] --> B[校验车辆标识]
    B --> C[通过设备编码定位设备和通道]
    C --> D{通道方向}
    D -->|入场| E[定位未关闭停车会话]
    E -->|不存在| F[创建停车会话和数字票]
    E -->|已存在| G[拒绝重复入场]
    F --> H[保存入口通道和设备快照]
    H --> I[请求开闸]
    D -->|出场| J[定位停车会话和数字票]
    J --> K[预览停车费用]
    K --> L{数字票是否已支付}
    L -->|否| M[按入口和方式完成支付]
    M --> N[写支付流水并更新会话和数字票]
    L -->|是| O[复用既有支付结果]
    N --> P[保存出口通道和设备快照]
    O --> P
    P --> Q[关闭会话并标记数字票已离场]
    Q --> R[请求开闸]

2. 状态约束

操作 前置状态 成功后的状态
入场 不存在未关闭会话 会话在场,数字票 pending_payment
支付 会话在场且未支付 会话已支付,数字票 paid
出场 会话在场且已支付,或合法零费用放行 会话关闭,数字票 exited
再次支付/出场 已支付或已关闭 拒绝,不产生新流水

3. 设备失败原则

业务数据事务成功后才请求开闸。开闸失败不回滚已完成的支付或出场,而是返回设备失败状态,由操作员重试开闸或按异常流程处理。