# 进出场逻辑流程图 > 更新日期:2026-08-07 > 本文档为流程总览;字段和异常细节见 [进出场流程详解](进出场流程详解.md)。 ## 1. 统一流程 ```mermaid 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. 设备失败原则 业务数据事务成功后才请求开闸。开闸失败不回滚已完成的支付或出场,而是返回设备失败状态,由操作员重试开闸或按异常流程处理。