graph TD
Start((开始)) --> A[用户发起预约订气请求]
A --> B{检查客户是否存在?}
B -->|是| C[获取客户信息:名称、地址、部门、所属片区]
B -->|否| D[提示:客户不存在,需先注册]
D --> End((结束))
C --> E{验证预约日期是否合法?}
E -->|是| F[生成预约编号]
E -->|否| G[提示:预约日期无效,请重新选择]
G --> End((结束))
F --> H[录入订单明细:总金额、备注]
H --> I{检查总金额是否大于0?}
I -->|是| J[关联操作员与所属片区]
I -->|否| K[提示:总金额必须大于0]
K --> End((结束))
J --> L{验证所属片区与部门是否匹配?}
L -->|是| M[保存预约订单]
L -->|否| N[提示:片区与部门不匹配]
N --> End((结束))
M --> O{是否触发9条业务规则检查?}
O -->|是| P[执行规则引擎:校验库存、信用额度、配送能力等]
O -->|否| Q[跳过规则检查]
P --> R{所有规则校验通过?}
R -->|是| S[订单状态标记为“待确认”]
R -->|否| T[记录失败规则并提示用户]
T --> End((结束))
S --> U[返回预约成功信息]
U --> End((结束))
Q --> S