{
  "id": "xia-acceptance-user-stories",
  "title": "龙虾供应链配送系统用户故事与测试用例验收包",
  "generatedAt": "2026-04-29 08:55",
  "decision": "READY_FOR_USER_STORY_ACCEPTANCE_NOT_PRODUCTION_GO_LIVE",
  "publicSmoke": "250/250 PASS",
  "consistency": "461/461 PASS",
  "relay": "pc1",
  "summary": {
    "stories": 12,
    "testCases": 14,
    "accounts": 5,
    "p0Stories": 10,
    "p0Cases": 11
  },
  "entryUrl": "https://xia.shenliu.cc/xia-acceptance-user-stories/",
  "related": {
    "commandCenter": "https://xia.shenliu.cc/xia-test-acceptance-command-center/",
    "caseMatrix": "https://xia.shenliu.cc/xia-acceptance-case-matrix/",
    "issueLedger": "https://xia.shenliu.cc/xia-acceptance-issue-ledger/",
    "acceptanceReady": "https://xia.shenliu.cc/xia-acceptance-ready/",
    "board": "https://xia.shenliu.cc/xia-board/"
  },
  "accounts": [
    {
      "role": "运营后台管理员",
      "username": "admin",
      "password": "123456",
      "url": "https://xia.shenliu.cc/xia-admin/",
      "scope": "查看全部后台模块、权限矩阵、生产化检查和验收数据。"
    },
    {
      "role": "运营主管",
      "username": "operator",
      "password": "123456",
      "url": "https://xia.shenliu.cc/xia-admin/",
      "scope": "订单履约、配送调度、财务、佣金、UAT 工作台。"
    },
    {
      "role": "龙虾供应商",
      "username": "lobster_supplier",
      "password": "123456",
      "url": "https://xia.shenliu.cc/xia-supplier/",
      "scope": "龙虾供货、履约和 A 结算。"
    },
    {
      "role": "配料供应商",
      "username": "ingredient_supplier",
      "password": "123456",
      "url": "https://xia.shenliu.cc/xia-supplier/",
      "scope": "配料商品、履约、扣佣和净额结算。"
    },
    {
      "role": "门店角色预览",
      "username": "store_admin / store_buyer / store_finance",
      "password": "123456",
      "url": "https://xia.shenliu.cc/xia-store-preview/",
      "scope": "门店下单、签收、账单、预存款和子角色口径。"
    }
  ],
  "stories": [
    {
      "id": "US-STORE-01",
      "role": "龙虾门店下单员",
      "story": "作为门店下单员，我要按龙虾品类和配料一起下单，并看到龙虾按报价规则生效的价格。",
      "acceptance": [
        "可选择大青、小青等龙虾品类和配料商品。",
        "龙虾成交价遵循“今日录入报价对应后天，今日下单取前天已生效价”。",
        "配料按供应商自主标价展示。"
      ],
      "entry": "https://xia.shenliu.cc/xia-store-preview/",
      "priority": "P0"
    },
    {
      "id": "US-STORE-02",
      "role": "龙虾门店收货人",
      "story": "作为门店收货人，我要在收货时拍照签收，并能处理部分签收和异常签收。",
      "acceptance": [
        "支持整单签收、部分签收和异常签收。",
        "签收凭证必须包含照片或凭证占位。",
        "签收后订单状态和财务待结算状态可追踪。"
      ],
      "entry": "https://xia.shenliu.cc/xia-store-preview/",
      "priority": "P0"
    },
    {
      "id": "US-STORE-03",
      "role": "门店财务员",
      "story": "作为门店财务员，我要查看预存款、账单、结算周期和逾期提醒。",
      "acceptance": [
        "可查看充值、消费、余额与账单。",
        "默认次日结，支持 N 日结口径。",
        "到期未结账需要进入预警或待办。"
      ],
      "entry": "https://xia.shenliu.cc/xia-store-preview/",
      "priority": "P0"
    },
    {
      "id": "US-OP-01",
      "role": "系统运营商 A",
      "story": "作为运营商，我要自动拆分门店订单为龙虾订单和配料订单，并追踪履约。",
      "acceptance": [
        "龙虾订单分给龙虾供应商。",
        "配料订单分给对应配料供应商。",
        "分单、导单、制单和状态追踪可在后台验证。"
      ],
      "entry": "https://xia.shenliu.cc/xia-admin/",
      "priority": "P0"
    },
    {
      "id": "US-OP-02",
      "role": "系统运营商 A",
      "story": "作为运营商，我要配置价格、佣金、提成、结算周期和运费规则。",
      "acceptance": [
        "龙虾浮动定价规则可解释。",
        "配料供应商佣金比例可配置。",
        "运费按龙虾重量免运门槛和公里计费规则展示。"
      ],
      "entry": "https://xia.shenliu.cc/xia-admin/#/rule-summary",
      "priority": "P0"
    },
    {
      "id": "US-OP-03",
      "role": "配送调度员",
      "story": "作为配送调度员，我要查看门店地图地址、配送路线和运费计算结果。",
      "acceptance": [
        "门店地址可维护并可用于地图查看。",
        "订单龙虾重量达到门槛免运费。",
        "未达到门槛按公里计费。"
      ],
      "entry": "https://xia.shenliu.cc/xia-admin/#/operations",
      "priority": "P1"
    },
    {
      "id": "US-SUP-01",
      "role": "龙虾供应商",
      "story": "作为龙虾供应商，我只和运营商 A 按供货价结算，不直接面对门店定价。",
      "acceptance": [
        "供应商端可查看龙虾供货单。",
        "结算展示 A 与供应商供货价。",
        "不可看到门店终端定价权限。"
      ],
      "entry": "https://xia.shenliu.cc/xia-supplier/",
      "priority": "P0"
    },
    {
      "id": "US-SUP-02",
      "role": "配料供应商",
      "story": "作为配料供应商，我要自主标价并查看平台扣佣后的到账金额。",
      "acceptance": [
        "配料商品可体现自主标价口径。",
        "结算展示营业额、佣金、净额。",
        "订单履约与异常可追踪。"
      ],
      "entry": "https://xia.shenliu.cc/xia-supplier/",
      "priority": "P0"
    },
    {
      "id": "US-SALES-01",
      "role": "运营商业务员",
      "story": "作为业务员，我要绑定开发门店，并按首笔实收回款当月开始计算阶梯提成。",
      "acceptance": [
        "业务员与门店绑定关系可追溯。",
        "首笔实收回款当月为第一个月。",
        "第 1 月、第 2 月、第 3 月及以后比例递减且后台可配置。"
      ],
      "entry": "https://xia.shenliu.cc/xia-admin/#/commission-config",
      "priority": "P1"
    },
    {
      "id": "US-ADMIN-01",
      "role": "系统管理员",
      "story": "作为系统管理员，我要管理多角色权限并隔离运营商、供应商、门店角色数据。",
      "acceptance": [
        "门店管理员、下单员、财务员权限隔离。",
        "供应商仅能查看自身业务数据。",
        "后台权限矩阵可验证角色边界。"
      ],
      "entry": "https://xia.shenliu.cc/xia-admin/#/permission-matrix",
      "priority": "P0"
    },
    {
      "id": "US-UAT-01",
      "role": "验收负责人",
      "story": "作为验收负责人，我要按故事执行测试、登记缺陷、复测关闭并形成签收资料。",
      "acceptance": [
        "每个 P0/P1 用户故事有测试用例。",
        "缺陷进入反馈台账并分级。",
        "P0/P1 未关闭不得进入生产上线。"
      ],
      "entry": "https://xia.shenliu.cc/xia-test-acceptance-command-center/",
      "priority": "P0"
    },
    {
      "id": "US-PROD-01",
      "role": "生产上线决策人",
      "story": "作为上线决策人，我要区分客户测试验收和生产上线放行。",
      "acceptance": [
        "当前可进入客户测试验收。",
        "生产上线保持 NO-GO，需另行完成微信小程序资料、生产 MySQL、地图 Key、对象存储、支付和回滚责任链。",
        "生产化 P0 包只作为阻断跟踪，不作为 GO 放行。"
      ],
      "entry": "https://xia.shenliu.cc/xia-production-go-live-decision/",
      "priority": "P0"
    }
  ],
  "testCases": [
    {
      "id": "TC-001",
      "story": "US-STORE-01",
      "title": "门店龙虾与配料合并下单",
      "precondition": "使用门店角色预览或门店账号。",
      "steps": [
        "进入门店下单页面。",
        "选择龙虾品类和配料。",
        "核对价格、重量和订单金额。",
        "提交订单。"
      ],
      "expected": "订单可提交，龙虾与配料后续可分单追踪。",
      "evidence": "订单截图、价格截图",
      "priority": "P0"
    },
    {
      "id": "TC-002",
      "story": "US-STORE-01",
      "title": "龙虾价格生效规则核对",
      "precondition": "准备今日、前天、后天报价样例。",
      "steps": [
        "查看报价规则说明。",
        "创建今日订单。",
        "核对订单龙虾价格取前天已生效价。"
      ],
      "expected": "成交价口径与需求确认摘要一致。",
      "evidence": "报价与订单价格截图",
      "priority": "P0"
    },
    {
      "id": "TC-003",
      "story": "US-STORE-02",
      "title": "整单签收拍照",
      "precondition": "存在待签收订单。",
      "steps": [
        "进入签收页。",
        "上传或选择签收照片。",
        "确认整单签收。"
      ],
      "expected": "订单变为已签收并留存凭证。",
      "evidence": "签收凭证截图",
      "priority": "P0"
    },
    {
      "id": "TC-004",
      "story": "US-STORE-02",
      "title": "部分签收与异常签收",
      "precondition": "存在配送订单。",
      "steps": [
        "选择部分签收。",
        "录入异常原因。",
        "提交异常签收。"
      ],
      "expected": "系统记录部分签收数量和异常原因，后台可追踪。",
      "evidence": "异常签收截图",
      "priority": "P0"
    },
    {
      "id": "TC-005",
      "story": "US-OP-01",
      "title": "订单自动拆分",
      "precondition": "门店订单包含龙虾和多个配料。",
      "steps": [
        "提交混合订单。",
        "进入运营后台订单履约。",
        "核对龙虾单和配料单归属。"
      ],
      "expected": "龙虾分给龙虾供应商，配料分给对应配料供应商。",
      "evidence": "分单结果截图",
      "priority": "P0"
    },
    {
      "id": "TC-006",
      "story": "US-OP-02",
      "title": "运费规则按龙虾重量计算",
      "precondition": "准备低于和高于免运门槛订单。",
      "steps": [
        "查看运费规则。",
        "核对高于门槛订单。",
        "核对低于门槛订单按公里计费。"
      ],
      "expected": "只按龙虾重量判断免运，配料不计入免运门槛。",
      "evidence": "运费计算截图",
      "priority": "P0"
    },
    {
      "id": "TC-007",
      "story": "US-SUP-01",
      "title": "龙虾供应商结算隔离",
      "precondition": "使用 lobster_supplier。",
      "steps": [
        "登录供应商端。",
        "查看供货单和结算。",
        "确认看不到门店终端售价设置。"
      ],
      "expected": "龙虾供应商只与 A 按供货价结算。",
      "evidence": "供应商端截图",
      "priority": "P0"
    },
    {
      "id": "TC-008",
      "story": "US-SUP-02",
      "title": "配料供应商自主标价与扣佣",
      "precondition": "使用 ingredient_supplier。",
      "steps": [
        "登录供应商端。",
        "查看商品、订单和结算。",
        "核对营业额、佣金、到账净额。"
      ],
      "expected": "配料供应商按自主售价履约，平台按比例扣佣。",
      "evidence": "结算截图",
      "priority": "P0"
    },
    {
      "id": "TC-009",
      "story": "US-SALES-01",
      "title": "业务员阶梯提成起算",
      "precondition": "存在业务员绑定门店和首笔实收回款。",
      "steps": [
        "查看业务员配置。",
        "核对首笔实收回款月份。",
        "核对第 1/2/3 月提成比例。"
      ],
      "expected": "以门店首笔实收回款当月为第一个月。",
      "evidence": "提成配置截图",
      "priority": "P1"
    },
    {
      "id": "TC-010",
      "story": "US-ADMIN-01",
      "title": "角色权限隔离",
      "precondition": "准备 admin、operator、supplier、store 子角色。",
      "steps": [
        "分别登录不同角色。",
        "查看菜单和数据范围。",
        "尝试访问无权限模块。"
      ],
      "expected": "权限完全隔离，仅可见自身业务数据。",
      "evidence": "权限矩阵截图",
      "priority": "P0"
    },
    {
      "id": "TC-011",
      "story": "US-UAT-01",
      "title": "缺陷登记与复测关闭",
      "precondition": "发现一条验收问题。",
      "steps": [
        "进入反馈或问题登记入口。",
        "按 P0/P1/P2/P3 分级登记。",
        "复测后更新状态。"
      ],
      "expected": "问题进入台账，状态可追踪到关闭。",
      "evidence": "问题编号和复测截图",
      "priority": "P0"
    },
    {
      "id": "TC-012",
      "story": "US-PROD-01",
      "title": "生产上线边界核对",
      "precondition": "进入生产化相关公开页。",
      "steps": [
        "查看客户测试验收入口。",
        "查看生产上线决策页。",
        "核对 P0 阻断项。"
      ],
      "expected": "测试验收可开始，但生产上线保持 NO-GO。",
      "evidence": "NO-GO 截图",
      "priority": "P0"
    },
    {
      "id": "TC-013",
      "story": "US-STORE-03",
      "title": "门店账单与预存款核对",
      "precondition": "存在门店账单和预存款记录。",
      "steps": [
        "进入门店财务页。",
        "核对充值、消费、余额。",
        "核对结算周期和逾期提示。"
      ],
      "expected": "门店财务可独立完成账单核对。",
      "evidence": "账单截图",
      "priority": "P1"
    },
    {
      "id": "TC-014",
      "story": "US-OP-03",
      "title": "配送地址与路线规划核对",
      "precondition": "门店维护地图地址。",
      "steps": [
        "进入配送调度页。",
        "查看门店地址。",
        "核对路线和距离。"
      ],
      "expected": "配送路线和距离可用于运费计算与调度。",
      "evidence": "路线截图",
      "priority": "P1"
    }
  ],
  "executionOrder": [
    "先确认公网入口和账号可登录。",
    "按 P0 用户故事优先执行 TC-001 至 TC-012。",
    "每条用例保存截图、订单号、问题编号或 API 响应作为证据。",
    "P0/P1 问题进入问题台账并复测关闭。",
    "客户测试验收通过后再进入签收资料归档；生产上线另行 GO/NO-GO 决策。"
  ],
  "boundary": [
    "本资料包用于客户测试验收，不代表生产上线放行。",
    "微信小程序正式发布、生产 MySQL、地图 Key、对象存储、支付回款、值班与回滚责任链仍属于生产上线前置项。",
    "P0/P1 验收问题未关闭前不得进入生产 GO 决策。"
  ]
}