diff --git a/docs/需求文档-PRD.md b/docs/需求文档-PRD.md index 3d82ecb..71692dd 100644 --- a/docs/需求文档-PRD.md +++ b/docs/需求文档-PRD.md @@ -873,8 +873,36 @@ ### 4.2 数据规则 -1. **订单号生成规则**:渠道号(2位) + 日期(8位) + 序列号(8位) -2. **外部业务号生成规则**:订单号 + 随机数(4位),保证唯一性和幂等性 +1. **订单号生成规则(order_no)**: + - 格式:`{YYMMDDHHmmss}{machineId}{sequence}` + - 长度:20位 + - 结构: + - 时间戳(12位):YYMMDDHHmmss,例如 `260313142530` + - 机器ID(2位):`01-99`,支持多实例部署 + - 序列号(6位):`000001-999999`,每秒重置 + - 示例:`26031314253001000001` + - 特点:按时间排序、可读性强、全局唯一 + +2. **外部业务号生成规则(out_biz_no)**: + - 用途:调用蓝色兄弟接口的幂等标识 + - 格式:`{order_no}{service_type}` + - 长度:26位(在蓝色兄弟2~32位限制内) + - 结构: + - 订单号(20位):上述order_no + - 服务类型(6位):邮储服务编码,例如 `310001` + - 示例:`26031314253001000001310001` + - 特点:包含业务信息、可追溯、幂等 + +3. **合作方交易流水号生成规则(partner_tx_sri_no)**: + - 用途:调用邮储服务开放平台接口 + - 格式:`{tranChnl}{YYYYMMDD}{sequence}` + - 长度:18位(邮储接口规范要求) + - 结构: + - 渠道号(2位):12-手机银行,17-电话银行,41-CRM零售 + - 日期(8位):YYYYMMDD,例如 `20260313` + - 序列号(8位):`00000001-99999999`,每日重置 + - 示例:`122026031300000001` + - 特点:符合邮储规范、包含渠道信息 3. **状态流转**: - 100(未预约) → 200(已预约):预约成功 - 200(已预约) → 300(已完成):券码核销