主题
业务流程图
来源:05-portal-cart.md, 06-portal-order.md, 07-portal-member.md, 08-portal-aftersale.md, 13-admin-promotion.md 适用:理解核心业务场景的完整操作路径和决策节点
1. 购物下单主流程
从浏览商品到支付成功的完整链路。
mermaid
flowchart TD
A["进入商城"] --> B{"浏览方式"}
B -->|"首页推荐"| C["查看商品"]
B -->|"分类导航"| C
B -->|"关键词搜索"| C
B -->|"品牌/专题"| C
C --> D["商品详情页"]
D --> E{"选择规格"}
E --> F["加入购物车"]
F --> G{"继续购物?"}
G -->|"是"| B
G -->|"否"| H["进入购物车"]
H --> I{"选择商品"}
I --> J["点击去结算"]
J --> K["确认订单页"]
K --> L["选择收货地址"]
K --> M["选择优惠券"]
K --> N["积分抵扣"]
L & M & N --> O["系统计算应付金额"]
O --> P{"库存校验"}
P -->|"充足"| Q["提交订单"]
P -->|"不足"| R["提示库存不足<br/>禁用提交"]
R --> H
Q --> S["生成订单号<br/>扣减库存<br/>清理购物车"]
S --> T["支付页面"]
T --> U{"用户支付"}
U -->|"支付成功"| V["订单状态→待发货<br/>赠送积分和成长值"]
U -->|"放弃支付"| W{"超时?"}
W -->|"是"| X["自动关闭订单<br/>释放库存"]
W -->|"否"| T
V --> Y["等待商家发货"]
关键业务规则:
- 应付金额 = 商品总额 - 促销优惠 - 优惠券抵扣 - 积分抵扣 + 运费
- 订单超时时间由后台配置(普通订单默认120分钟,秒杀订单默认60分钟)
- 支付成功后系统自动赠送积分和成长值
2. 售后退货流程
从用户发起退货申请到退款完成的完整链路。
mermaid
flowchart TD
A["用户查看订单详情"] --> B["点击申请售后"]
B --> C["选择退货商品"]
C --> D["选择退货原因"]
D --> E["填写退款金额<br/>默认为实付金额"]
E --> F["填写问题描述<br/>选填"]
F --> G["上传凭证图片<br/>选填, 最多3张"]
G --> H["提交退货申请"]
H --> I{"系统校验"}
I -->|"订单状态=已完成<br/>无重复申请"| J["申请提交成功<br/>状态=待审核"]
I -->|"校验失败"| K["提示错误原因"]
J --> L{"管理员审核"}
L -->|"通过"| M["通知用户审核通过"]
L -->|"拒绝"| N["通知用户拒绝原因"]
N --> O["流程结束"]
M --> P["用户寄回商品"]
P --> Q["填写退货物流单号"]
Q --> R["管理员确认收货"]
R --> S["处理退款"]
S --> T["退款完成<br/>状态=已完成"]
T --> U["流程结束"]
关键业务规则:
- BR-AS-01:仅"已完成"状态的订单可申请退货
- BR-AS-03:退款金额默认为实付金额,可向下调整
- BR-AS-07:同一商品不可重复申请
- 审核拒绝时必须附带拒绝原因
3. 订单全生命周期
从购物车到订单完结的完整路径,包含所有分支。
mermaid
flowchart TD
A["购物车选中商品"] --> B["提交订单"]
B --> C["锁定库存<br/>快照商品信息<br/>计算金额"]
C --> D["订单状态: 待付款"]
D --> E{"用户操作"}
E -->|"支付"| F["订单状态: 待发货"]
E -->|"取消"| G["释放库存<br/>订单状态: 已关闭"]
E -->|"超时未支付"| G
F --> H["管理员发货<br/>填写物流公司+运单号"]
H --> I["订单状态: 已发货"]
I --> J{"用户操作"}
J -->|"确认收货"| K["订单状态: 已完成"]
J -->|"超时未确认<br/>默认15天"| K
K --> L{"用户操作"}
L -->|"申请退货"| M["进入售后流程"]
L -->|"评价商品"| N["提交评论<br/>赠送积分和成长值"]
L -->|"无操作"| O["订单归档"]
M --> P{"审核结果"}
P -->|"通过并完成退款"| Q["订单状态: 已关闭"]
P -->|"拒绝"| R["订单保持已完成"]
G --> S["订单归档"]
Q --> S
O --> S
操作日志要求:
- 所有状态变更必须记录到
oms_order_operate_history - 日志格式:操作人 + 时间 + 操作后状态 + 备注
- 发货日志格式:"发货:{物流公司},运单号:{运单号}"
4. 会员注册与等级升降
从注册到持续消费过程中的等级变化路径。
mermaid
flowchart TD
A["访客注册"] --> B["输入手机号+密码+验证码"]
B --> C{"校验"}
C -->|"通过"| D["创建会员<br/>等级=普通会员<br/>积分=0, 成长值=0"]
C -->|"失败"| E["提示错误"]
D --> F["开始购物"]
F --> G["消费累积成长值"]
G --> H{"系统定期检查"}
H --> I{"成长值 >= 银卡门槛?"}
I -->|"是"| J["自动升级为银卡"]
I -->|"否"| K{"成长值 < 当前等级门槛?"}
K -->|"是"| L["自动降级"]
K -->|"否"| M["等级不变"]
J --> N["享受银卡权益<br/>会员价/优惠券等"]
N --> F
L --> O{"降级到普通会员?"}
O -->|"是"| P["等级=普通会员"]
O -->|"否"| Q["降一级"]
P --> F
Q --> F
M --> F
等级机制说明:
- 成长值来源:消费金额、签到、评论等行为
- 升级:成长值达到上一级门槛时自动触发
- 降级:成长值低于当前等级门槛时自动触发
- 等级权益:会员专属价格、优惠券领取资格、免运费门槛等
- 等级配置由后台管理员在"会员等级"页面维护
5. 秒杀与优惠券流程
5.1 秒杀活动流程
mermaid
flowchart TD
subgraph Admin["管理员配置"]
A1["创建秒杀活动<br/>设定时间范围"] --> A2["创建场次<br/>如10:00/14:00/20:00"]
A2 --> A3["添加秒杀商品<br/>设置秒杀价+秒杀库存+限购数"]
end
subgraph User["用户抢购"]
B1["查看秒杀页面"] --> B2["选择商品"]
B2 --> B3["点击立即购买"]
B3 --> B4{"校验"}
B4 -->|"在活动时间内<br/>秒杀库存充足<br/>未超限购"| B5["以秒杀价加入购物车"]
B4 -->|"不在时间内"| B6["提示活动未开始/已结束"]
B4 -->|"库存不足"| B7["提示已售罄"]
B4 -->|"超限购"| B8["提示已达限购上限"]
B5 --> B9["进入结算支付"]
end
A3 -.->|"活动上线"| B1
5.2 优惠券生命周期
mermaid
flowchart TD
subgraph Admin["管理员创建"]
C1["创建优惠券<br/>类型/面额/门槛/有效期/发行量"]
end
subgraph User["用户领取"]
C2["浏览可领优惠券"] --> C3["点击领取"]
C3 --> C4{"校验"}
C4 -->|"未超领取上限<br/>未领完"| C5["领取成功<br/>进入我的优惠券"]
C4 -->|"已领完"| C6["提示已领完"]
C4 -->|"已达上限"| C7["提示已达领取上限"]
end
subgraph Trade["下单使用"]
C5 --> C8["确认订单页选择优惠券"]
C8 --> C9{"校验"}
C9 -->|"满足门槛<br/>在有效期内<br/>适用商品匹配"| C10["抵扣金额<br/>标记已使用"]
C9 -->|"不满足"| C11["优惠券置灰<br/>提示不可用原因"]
end
C1 -.->|"配置完成"| C2