```mermaid --- title: 12.客户端订单流程 --- flowchart TD 开始((开始)) --> 客户登录[客户登录并进入资产购买页面] 客户登录 --> 资产可购校验{资产状态是否允许购买?} 资产可购校验 -->|否| 不可购买结束[当前资产不可购买 流程终止] 资产可购校验 -->|是| 选择套餐[查看并选择可购买套餐] 选择套餐 --> 套餐类型校验{本次购买主套餐还是加油包?} 套餐类型校验 -->|主套餐| 主套餐购买准备[主套餐可继续下单] 套餐类型校验 -->|加油包| 加油包前置校验{当前是否已有主套餐?} 加油包前置校验 -->|否| 无主套餐结束[无主套餐不可购买加油包] 加油包前置校验 -->|是| 加油包购买准备[加油包可继续下单] 主套餐购买准备 --> 实名策略判断{当前资产实名认证策略是什么?} 加油包购买准备 --> 实名策略判断 实名策略判断 -->|无需实名| 下单前校验 实名策略判断 -->|先实名后购买| 实名状态校验{当前是否已实名?} 实名状态校验 -->|否| 先去实名[先完成实名认证] 先去实名 --> 选择套餐 实名状态校验 -->|是| 下单前校验 实名策略判断 -->|先购买后实名| 下单前校验[允许先下单购买] 下单前校验 --> 强充判断{是否命中强充规则?} 强充判断 -->|否| 直接下单[创建套餐订单并支付] 强充判断 -->|是| 强充下单[先创建充值单并完成充值] subgraph 强充购买链路 强充下单 --> 强充支付结果{充值支付是否成功?} 强充支付结果 -->|否| 强充失败处理[充值失败可重试] 强充失败处理 --> 强充下单 强充支付结果 -->|是| 自动续购[按充值结果继续完成套餐购买] end subgraph 直接购买链路 直接下单 --> 套餐支付结果{套餐支付是否成功?} 套餐支付结果 -->|否| 直接失败处理[支付失败可重试] 直接失败处理 --> 直接下单 套餐支付结果 -->|是| 直接支付成功[套餐订单支付成功] end 自动续购 --> 强充购包结果{套餐购买是否成功?} 强充购包结果 -->|否| 强充购包失败[记录失败并进入人工处理] 强充购包失败 --> 异常处理 强充购包结果 -->|是| 强充购包成功[套餐购买成功] 直接支付成功 --> 套餐处理{本次是主套餐还是加油包?} 强充购包成功 --> 套餐处理 套餐处理 -->|主套餐| 主套餐处理判断{当前是否已有生效主套餐?} 主套餐处理判断 -->|是| 主套餐排队处理[新主套餐进入排队 待当前主套餐结束后生效] 主套餐处理判断 -->|否| 主套餐立即生效处理[主套餐立即生效] 套餐处理 -->|加油包| 加油包立即生效处理[加油包立即生效 有效期与当前主套餐一致] 主套餐排队处理 --> 进入验收[进入订单验收] 主套餐立即生效处理 --> 进入验收 加油包立即生效处理 --> 进入验收 subgraph 验收阶段 进入验收 --> 后置实名核查{是否需要购买后补实名?} 后置实名核查 -->|否| 核对订单状态[核对订单状态和金额明细] 后置实名核查 -->|是| 补实名校验{当前是否已完成实名认证?} 补实名校验 -->|否| 引导补实名[引导客户完成实名认证] 引导补实名 --> 补实名校验 补实名校验 -->|是| 核对订单状态 核对订单状态 --> 核对生效方式[核对本单是立即生效还是进入排队] 核对生效方式 --> 核对加油包有效期[若为加油包 核对有效期与当前主套餐一致] 核对加油包有效期 --> 核对套餐生效[核对套餐已生效并可使用] 核对套餐生效 --> 验收结果{验收是否通过?} 验收结果 -->|否| 异常处理[记录异常并返回订单处理] 异常处理 --> 选择套餐 验收结果 -->|是| 结束([流程结束]) end %% ==================== 样式美化 ==================== style 开始 fill:#90EE90,stroke:#2E7D32,stroke-width:2px style 结束 fill:#FF9999,stroke:#C62828,stroke-width:2px style 不可购买结束 fill:#FFCDD2,stroke:#D32F2F style 无主套餐结束 fill:#FFCDD2,stroke:#D32F2F style 强充失败处理 fill:#FFCCBC,stroke:#E64A19 style 直接失败处理 fill:#FFCCBC,stroke:#E64A19 style 强充购包失败 fill:#FFCCBC,stroke:#E64A19 style 异常处理 fill:#FFCCBC,stroke:#E64A19 classDef decision fill:#FFF3E0,stroke:#F57C00,stroke-width:2px class 资产可购校验,套餐类型校验,加油包前置校验,实名策略判断,实名状态校验,强充判断,强充支付结果,套餐支付结果,强充购包结果,套餐处理,主套餐处理判断,后置实名核查,补实名校验,验收结果 decision ```