产品需求文档:复制商品流程
1. 介绍 / 概述
当前业务场景下,咖啡机商品与配方、制作逻辑、标签、多语言信息高度绑定,单纯“新增一个空商品”没有实际业务意义,也容易导致配置不完整。因此,商品新增应统一改为“复制商品”模式:先选择一个已有商品作为模板,再在复制过程中修改目标商品信息,最后创建新商品。
本文档定义“复制商品”这一完整流程,覆盖同设备复制、跨设备复制到单台目标设备的场景,并要求在正式创建前提供最终变更对比确认页。
复制商品入口位于“菜单管理”页面下的“商品管理”工作区,包含以下两个入口:
- 商品列表上方工具栏右侧的“复制商品”按钮。
- 当前分类商品列表中的“复制商品”快捷卡片入口。
入口截图:
2. 目标
- 让运营人员可以基于已有商品快速创建新商品,而不是从空白状态配置。
- 支持同设备复制,以及跨设备复制到一台目标设备,避免一次误复制到多台机器。
- 支持在复制过程中直接编辑商品基本信息、分类归属、多语言、标签和配方。
- 在最终提交前提供清晰的变更对比,降低误操作风险。
- 确保复制流程不会误影响原商品,也不会误触发“批量同步其他商品”的逻辑。
3. 用户故事
US-001: 从菜单管理进入复制商品流程
描述: 作为设备运营人员,我希望在菜单管理中通过“复制商品”入口开始创建商品,这样我可以基于已有商品快速完成新增。
验收标准:
- □ “复制商品”入口位于“菜单管理”页面下的“商品管理”工作区。
- □ 商品列表上方工具栏右侧提供“复制商品”按钮。
- □ 当前分类商品列表区域提供“复制商品”快捷卡片入口。
- □ 不再提供“空白新增商品”的主流程入口。
- □ 页面头部不再保留重复的“复制商品”入口。
- □ 进入复制流程时,系统要求先选择复制范围,而不是直接进入编辑。
US-002: 选择复制范围和目标设备
描述: 作为设备运营人员,我希望先明确是复制到本设备还是其他设备,这样我可以避免复制到错误的设备。
验收标准:
- □ 第一步必须先选择复制范围:本设备 / 其他设备。
- □ 选择“其他设备”时,必须且只能选择一台目标设备。
- □ 未选择目标设备时,不能进入下一步;已选择一台目标设备后,不允许再追加第二台设备。
- □ 本设备复制与跨设备复制应使用同一套主流程,但文案和字段按场景差异化展示。
参考截图:
US-003: 选择模板商品并设置目标分类
描述: 作为设备运营人员,我希望先选择一个已有商品作为复制模板,并设置复制后的分类归属,这样新商品从一开始就落到正确分类中。
验收标准:
- □ 第一步中必须可选择来源商品。
- □ 来源商品列表应展示足够识别的信息,至少包含商品名称和完整商品描述。
- □ 复制时必须支持设置目标分类归属。
- □ 目标分类支持多选。
- □ 若当前不存在需要的分类,流程内应提供新增分类入口。
- □ 跨设备复制时,如目标设备缺少来源分类,不应阻断复制,运营人员可重新指定目标分类。
参考截图:
US-004: 编辑复制后的商品基本信息
描述: 作为设备运营人员,我希望在复制流程中修改商品基本信息,这样复制结果能直接作为新商品使用。
验收标准:
- □ 复制流程第二步允许编辑商品基本信息。
- □ 可编辑内容至少包括商品名称、商品描述、商品图片、价格相关信息以及分类归属。
- □ 图片替换后应即时展示新的结果图。
- □ 本步骤中的编辑只作用于待复制的新商品草稿,不影响来源商品。
参考截图:
US-005: 编辑复制后的多语言和标签信息
描述: 作为设备运营人员,我希望在复制过程中调整多语言内容和标签内容,这样新商品在不同语言和点单界面中显示正确。
验收标准:
- □ 复制流程第二步中可编辑商品多语言信息。
- □ 复制流程第二步中可编辑标签文案及相关设置。
- □ 保存标签变更时,不弹出“同步其他同标签商品”的批量更新逻辑。
- □ 所有变更仅写入当前待复制商品草稿。
参考截图:
US-006: 编辑复制后的配方信息
描述: 作为设备运营人员,我希望在复制流程中调整配方和配方项,这样新商品可以适配新的制作规则。
验收标准:
- □ 复制流程第三步允许编辑配方配置。
- □ 配方项、默认选项、浓度加减百分比等配置可按当前商品编辑能力进行调整。
- □ 保存配方变更时,不弹出“关联饮品同步确认”或类似的批量影响弹窗。
- □ 所有配方变更仅写入当前待复制商品草稿。
参考截图:
US-007: 在最终确认页查看变更对比
描述: 作为设备运营人员,我希望在复制前看到来源商品与新商品之间的主要差异,这样可以确认自己修改的是不是正确。
验收标准:
- □ 复制流程包含单独的最终确认步骤。
- □ 确认页需要展示来源商品与待复制商品之间的关键差异。
- □ 变更对比至少覆盖:商品基本信息、多语言信息、标签信息、分类归属、配方信息。
- □ 若商品图片未发生变化,不展示图片新旧对比区域。
- □ 若商品图片发生变化,应清晰展示原图与新图对比。
- □ 默认选项的变化需要明确展示“原默认项”与“新默认项”。
- □ 配方相关对比需要能识别浓度加减百分比等关键差异。
- □ 确认页只展示当前商品的变更,不展示批量同步其他商品的提示。
参考截图:
最终确认页核心变更表:
| 模块 | 字段 | 原值展示 | 变更值展示 | 测试重点 |
|---|---|---|---|---|
| 基本信息 | 商品名称 | 展示来源商品当前语言名称 | 展示复制后商品当前语言名称 | 两侧文案必须与编辑结果一一对应 |
| 基本信息 | 商品图片 | 展示来源商品图片缩略图 | 展示复制后商品图片缩略图 | 仅图片发生变化时展示该对比 |
| 分类归属 | 所属分类 | 展示来源商品所属分类 | 展示复制后商品所属分类 | 新值侧需完整展示多分类结果 |
| 标签 | 标签文案 | 展示来源商品的标签文案 | 展示复制后商品的标签文案 | 只核对当前复制商品,不出现批量同步说明 |
| 配方 | 默认选项 | 展示来源商品各配方组默认项 | 展示复制后各配方组默认项 | 必须能一眼看出“原默认项/新默认项” |
| 配方 | 浓度加减百分比 | 展示来源商品浓度加减百分比 | 展示复制后浓度加减百分比 | 必须明确展示正负号和百分比数值 |
US-008: 完成复制并返回菜单管理
描述: 作为设备运营人员,我希望确认后系统创建一个新的商品,并能在返回列表后看到结果,这样我可以继续后续管理。
验收标准:
- □ 点击最终确认后,系统创建一个新的商品编号。
- □ 来源商品数据保持不变。
- □ 新商品应挂载到所选分类中;若选择多个分类,应在多个分类中可见。
- □ 每次复制只能生成一台目标设备的复制结果;如需复制到多台机器,运营人员必须分别发起多次复制。
- □ 返回菜单管理页后,应给出清晰的复制结果反馈。
参考截图:
US-009: 在复制流程中安全返回上一步或取消
描述: 作为设备运营人员,我希望在复制过程中可以返回上一步或取消,但不要因为误点丢失重要编辑。
验收标准:
- □ 复制流程支持按步骤返回上一步。
- □ 从编辑步骤返回复制范围步骤前,需要有明确确认,避免误丢失已编辑内容。
- □ 顶部步骤条仅用于展示当前进度,不作为主要跳转入口。
- □ 主要流程导航由底部操作按钮承担。
参考截图:
4. 功能需求
- FR-1: 系统必须将“新增商品”的主流程改为“复制商品”。
- FR-2: 复制商品入口必须位于“菜单管理”页面下的“商品管理”工作区。
- FR-3: 系统必须提供两个复制商品入口:商品列表工具栏右侧按钮,以及当前分类商品列表中的快捷卡片入口。
- FR-4: 页面头部不得保留重复的复制商品入口。
- FR-5: 系统必须允许用户在复制开始时选择复制范围:本设备或其他设备。
- FR-6: 选择“其他设备”时,系统必须且只能选择一台目标设备,不支持一次复制到多台机器。
- FR-7: 系统必须要求用户选择一个现有商品作为复制模板。
- FR-8: 系统必须支持为新商品设置一个或多个目标分类。
- FR-9: 系统必须在复制流程中支持新增分类,以满足目标分类不存在的场景。
- FR-10: 系统必须在复制流程第二步支持编辑商品基本信息。
- FR-11: 系统必须在复制流程第二步支持编辑商品多语言信息。
- FR-12: 系统必须在复制流程第二步支持编辑标签信息。
- FR-13: 复制流程中的标签编辑不得触发“批量更新其他商品”逻辑。
- FR-14: 系统必须在复制流程第三步支持编辑配方信息。
- FR-15: 复制流程中的配方编辑不得触发“关联商品同步”或“批量影响确认”逻辑。
- FR-16: 系统必须提供最终变更对比确认页,作为正式提交前的必要步骤。
- FR-17: 最终确认页必须展示原商品与新商品之间的关键差异。
- FR-18: 图片未变化时,最终确认页不得展示图片对比模块。
- FR-19: 图片已变化时,最终确认页必须展示原图与新图对比。
- FR-20: 默认选项变更必须在最终确认页中明确展示原值与新值。
- FR-21: 配方中的关键变更必须可识别展示,包括浓度加减百分比等内容。
- FR-22: 点击最终确认后,系统必须创建新商品,而不是覆盖原商品。
- FR-23: 新商品必须继承并保存用户在复制流程中确认的基本信息、分类、多语言、标签和配方结果。
- FR-24: 每次复制只允许生成一台目标设备的复制结果;如需复制到多台机器,必须逐台重复发起复制流程。
- FR-25: 顶部步骤条仅用于展示进度,不应承担主要跳转逻辑。
- FR-26: 复制流程中的截图相关操作不得出现。
- FR-27: 最终确认页中的核心信息必须按照“原值”和“变更值”双列结构展示,便于用户和测试人员逐项对照。
- FR-28: 同一字段在“原值”和“变更值”两列中的展示格式必须一致,避免因展示形式不同造成误判。
- FR-29: 多语言字段在最终确认页中必须按语言逐项展示,便于测试逐语言核对。
- FR-30: 最终确认页必须支持基于下表进行逐字段测试核对。
4.1 最终确认页完整测试核对表
| 模块 | 字段/场景 | 展示条件 | 原值展示 | 变更值展示 | 未变更时规则 | 测试通过标准 |
|---|---|---|---|---|---|---|
| 基本信息 | 商品图片 | 仅图片发生变化时展示 | 显示来源商品图片缩略图 | 显示复制后商品图片缩略图 | 图片未变化时整块隐藏 | 未改图时页面不出现图片对比;改图后前后图片对应正确 |
| 基本信息 | 商品名称(各语言) | 对应语言已配置名称时展示 | 按语言显示来源商品名称,例如中文、英文 | 按语言显示复制后商品名称 | 未变更时两侧相同 | 各语言逐行可核对,不丢语言、不串语言 |
| 基本信息 | 商品描述(各语言) | 对应语言存在描述时展示 | 按语言显示来源商品描述 | 按语言显示复制后商品描述 | 未变更时两侧相同 | 描述内容与编辑页完全一致 |
| 基本信息 | 售价 | 始终展示 | 显示来源商品售价 | 显示复制后商品售价 | 未变更时两侧相同 | 金额格式一致,数值与编辑结果一致 |
| 基本信息 | 原价 | 配置原价时展示 | 显示来源商品原价 | 显示复制后商品原价 | 未变更时两侧相同;无值时按空值规则展示 | 原价有值、无值、修改三种情况都能核对 |
| 分类归属 | 所属分类 | 始终展示 | 以分类列表或分类标签形式展示来源分类 | 以分类列表或分类标签形式展示复制后分类 | 未变更时两侧相同 | 多分类时新值侧必须完整展示所有目标分类 |
| 标签 | 标签文案(各语言) | 商品存在标签配置时展示 | 按语言显示来源商品标签文案 | 按语言显示复制后标签文案 | 未变更时两侧相同 | 仅显示当前复制商品的标签变化,不出现批量同步提示 |
| 标签 | 标签附加价格 | 标签配置了附加价格能力时展示 | 显示来源商品标签附加价格 | 显示复制后标签附加价格 | 未变更时两侧相同 | 金额格式正确,支持默认值 0 的核对 |
| 配方 | 配方组与选项内容 | 商品存在配方组时展示 | 显示来源商品的配方组、选项名和选项内容 | 显示复制后商品的配方组、选项名和选项内容 | 未变更时两侧相同 | 配方组、选项名称、内容顺序与编辑结果一致 |
| 配方 | 默认选项 | 每个存在默认值的配方组都展示 | 明确显示来源商品默认项 | 明确显示复制后默认项 | 未变更时两侧相同 | 测试人员可以直接判断默认项是否发生变化;默认项不应出现“未设置”的异常状态 |
| 配方 | 浓度加减百分比 | 存在浓度调节配置时展示 | 显示来源商品浓度加减百分比 | 显示复制后浓度加减百分比 | 未变更时两侧相同 | 百分比符号、数值、正负方向都正确 |
| 配方 | 其他配方参数变更 | 配方项存在可编辑参数时展示 | 显示来源商品对应参数值 | 显示复制后对应参数值 | 未变更时两侧相同 | 每个参数都能找到原值和新值的一一对应关系 |