html: embed_local_images: false embed_svg: true offline: false toc: true
print_background: false export_on_save:
[TOC]
flowchart TD
%% 基础选择流程
Start([开始]) --> A[用户选择服务位置]
A --> B[查询附近技师列表]
B --> C[用户选择技师]
C --> D[展示技师项目列表]
D --> E[用户选择项目]
E --> F[展示项目详情]
F --> G[用户选择服务时间]
G --> H[用户选择营销卷]
H --> I[计算订单费用]
%% 支付流程
I --> J[用户确认下单]
J --> K{支付结果}
%% 支付失败处理
K -->|失败| L[订单状态:待付款]
L --> M[客服跟进]
M --> N{用户选择}
N -->|重新支付| J
N -->|取消订单| O[退款处理]
%% 支付成功处理
K -->|成功| P[订单状态:已支付]
P --> Q[推送订单给技师]
%% 技师处理流程
Q --> R{技师处理}
%% 技师接单分支
R -->|接单| S[订单状态:已接单]
S --> T[技师确认出发]
T --> U[订单状态:已出发]
%% 技师拒单分支
R -->|拒单| V[订单状态:已拒绝]
V --> W[客服处理]
W --> X{处理方案}
X -->|更换技师| Q
X -->|用户退款| O
%% 接单超时处理
R -->|超时| Y[客服跟进]
Y --> Z{处理结果}
Z -->|联系上技师| R
Z -->|更换技师| Q
Z -->|取消订单| O
%% 结束节点
U --> End([开始服务])
O --> Cancel([订单结束])
%% 样式定义
classDef default fill:#f9f9f9,stroke:#333,stroke-width:2px
classDef process fill:#dcedc8,stroke:#33691e
classDef decision fill:#fff3e0,stroke:#e65100
classDef status fill:#e3f2fd,stroke:#0d47a1
%% 应用样式
class K,R,X,Z decision
class L,P,S,U,V status
class A,B,C,D,E,F,G,H,I process
click A,B,C href "#用户选择技师"
click D,E,F href "#用户选择项目"
click G href "#用户选择可服务时间"
click H,I href "#用户选择营销卷"
click J href "#用户点击立即结算"
click L href "#支付失败"
click P href "#支付成功"
click S href "#技师接单"
click V href "#技师拒绝接单"
click X href "#订单超时"
后台逻辑:
后台逻辑:
前端逻辑
后台逻辑:
后台逻辑:
后台逻辑:
后台逻辑:
后台逻辑:
后台逻辑:
后台逻辑:
后台逻辑:
flowchart TD
%% 主流程起点
Start[开始] --> Init[初始化订单]
%% 订单创建阶段
subgraph 订单创建
Init --> A1[获取用户位置]
A1 --> A2[查询区域服务]
A2 --> A3[用户选择服务]
A3 --> A4[选择地址/时间/优惠券]
A4 --> A5[创建空订单]
end
%% 抢单阶段
subgraph 抢单流程
A5 --> B1[进入抢单池]
B1 --> B2[推送给技师]
B2 --> B3{是否有技师抢单?}
B3 -->|是| B4[展示技师列表]
B3 -->|否| B5[等待5-8分钟]
B5 --> B6[客服介入]
end
%% 用户选择阶段
subgraph 用户选择
B4 --> C1{用户是否选择?}
C1 -->|是| C2[锁定技师]
C1 -->|否| C3[等待30分钟]
C2 --> C4[计算费用]
C3 --> B6
end
%% 支付阶段
subgraph 支付流程
C4 --> D1[展示订单详情]
D1 --> D2{用户支付?}
D2 -->|是| D3[支付处理]
D2 -->|否| D4[3分钟超时]
D3 --> D5{支付结果}
D5 -->|成功| D6[更新订单状态]
D5 -->|失败| D7[客服介入]
D4 --> D8[解绑技师]
end
%% 服务阶段
subgraph 服务执行
D6 --> E1[通知技师]
E1 --> jh1[技师拒绝订单]
jh1 --> jh2[客服介入?]
jh2 -->|技师接单| E2[技师出发]
jh2 -->|技师拒单| jh3[客服介入,联系用户?]
jh3 --> jh4[用户接受更换技师]
jh4 --> E2
jh3 --> jh5[用户不接受更换技师]
jh5 --> Cancel
E1 --> E2[技师出发]
E2 --> E3[服务进行中]
E3 --> E4[服务完成]
end
%% 取消订单流程
subgraph 取消处理
Cancel[取消订单] --> F1[客服确认]
F1 --> F2{是否可挽回?}
F2 -->|是| F3[恢复订单]
F2 -->|否| F4[退款处理]
end
%% 异常处理连接
D7 --> Cancel
B6 --> Cancel
D8 --> B1
%% 结束节点
E4 --> End[结束]
F4 --> End
F3 --> D1
%% 样式定义
classDef success fill:#baffc9,stroke:#333,stroke-width:2px;
classDef warning fill:#ffffba,stroke:#333,stroke-width:2px;
classDef error fill:#ffb3ba,stroke:#333,stroke-width:2px;
classDef normal fill:#f9f9f9,stroke:#333,stroke-width:2px;
%% 应用样式
class D6,E4 success;
class D7,B6,Cancel warning;
class F4 error;
class Start,End normal;
click A1,A2,A3 href "#用户选择项目"
click A4,A5,B1,B2 href "#创建抢单类型订单,推送给技师"
click B3,B4 href "#有技师抢单"
click B5,B6 href "#无技师抢单"
click C1,C2,C4 href "#用户选择技师"
click C3,B6 href "#用户不反选技师"
click D2,D3,D6,E1 href "#支付成功"
click jh1,jh2,jh3,jh4,jh5 href "#技师拒绝接单"
click D4,D7,D8 href "#支付失败"
click E2 href "#技师出发"
后台逻辑:
后台逻辑:
后台逻辑:
后台逻辑:
后台逻辑:
后台逻辑:
后台逻辑:
后台逻辑:
后台逻辑:
后台逻辑: