商户管理产品需求文档
版本:2026-09-11 更新版
本模块帮助平台运营建立、查找和维护商户档案,并让商户用户维护自己的联系资料与故障通知配置。本次重点纳入手动填写商户编号、编号唯一性校验、创建后锁定编号、关联删除保护与保存冲突提示。
1 目标与范围
平台超级管理员通过「基础信息管理 → 商户管理」管理全部商户;所属商户已确定的普通用户通过「我的商户」查看和维护本商户资料。
本期覆盖商户列表、搜索、新增、编辑、删除、我的商户、故障推送渠道和配置变更记录。点位、设备、人员的建立与关联分别在对应模块完成。本页负责维护商户档案及保护已有业务关联。
当前界面仍混用「客户」和「商户」:例如「新增客户」「客户编号」均指商户。本需求统一使用商户称谓,截图保留当前界面原文。
2 角色与操作边界
| 操作 | 平台超级管理员 | 所属商户用户 |
|---|---|---|
| 查看范围 | 全部商户列表和统计 | 仅本商户资料卡 |
| 新增、搜索和删除 | 支持,删除受关联限制 | 无入口 |
| 修改商户名称 | 支持 | 只读,提示联系平台运营 |
| 设置商户编号 | 新增时可填写,创建后只读 | 只读 |
| 修改联系方式、地址、备注和推送配置 | 支持 | 可维护本商户 |
| 查看推送配置变更记录 | 支持 | 无入口 |
本角色矩阵描述产品访问要求。不能以隐藏按钮作为跨商户权限验收的唯一依据。
3 平台查看与查找商户
3.1 查看商户列表
进入商户管理后,显示客户总数、合作中、点位总数和设备总数四项概览。列表按头像、客户编号、客户信息、状态、操作展示;客户信息包含名称、联系人、电话与故障推送渠道。状态区分「合作中」与「已暂停」。
商户编号独立成列,便于平台识别同名或相似名称的商户。推送渠道展示邮箱推送、公众号推送或未配置推送;邮箱渠道同时显示通知邮箱。
3.2 搜索商户
在搜索框输入商户名称、联系人或电话,列表随输入过滤;清空后恢复全部商户。英文名称与联系人搜索不区分大小写。没有匹配项时显示「暂无客户数据」。当前搜索不支持按商户编号检索,统计卡不会随搜索结果变化。
4 新增商户与编号规则
4.1 新增流程
- 平台超级管理员点击「新增客户」。
- 填写商户名称、商户编号、联系人和联系电话;四项均为必填。
- 按需填写地址、备注并配置邮箱推送;新商户需先保存基础资料,再在人员管理配置公众号接收员工。
- 点击保存。校验成功后关闭弹窗、显示成功提示并更新列表及统计;新商户默认「合作中」,记录创建日期。
- 点击取消或关闭按钮放弃本次未保存内容。
4.2 商户编号
| 规则 | 用户可感知的行为 |
|---|---|
| 建议值 | 打开新增弹窗时提供未占用的建议编号,如 C005;用户可改为符合规范的自定义编号 |
| 格式 | 字母 C 加至少三位数字,总长度最多 32 个字符,如 C005、C1000 |
| 输入整理 | 保存时去掉首尾空格,小写 c 转为大写 C |
| 唯一性 | 不得与已有商户编号重复,判断不区分大小写 |
| 历史关联占用 | 即使商户已不在当前列表,只要点位、员工或设备仍引用该编号,仍视为占用 |
| 创建后锁定 | 编辑时编号只读,不能通过编辑商户资料更换编号 |
| 历史兼容 | 历史商户的既有编号保留,不因新编号格式要求而阻止维护其他资料 |
建议编号从 C001 开始寻找未占用值,不保证按最后一条记录递增。建议值也必须在保存时再次校验。
4.3 校验与错误反馈
缺少必填项时提示「请填写必填项」;新编号格式不符时提示「商户编号格式不正确,请输入 C 加至少三位数字」;编号已占用时提示「商户编号已存在,请更换」。失败时保留弹窗和已输入内容,不新增商户。
5 编辑资料与我的商户
5.1 平台编辑商户
点击列表中的编辑按钮,弹窗带入现有资料。平台可修改商户名称、联系人、电话、通知配置、地址和备注;商户编号保持只读,并说明创建后不可修改。成功保存后显示「商户信息已更新」。平台修改名称后,已有商户相关展示名称应同步更新,商户身份与关联保持不变。
5.2 我的商户
商户用户进入后仅显示本商户资料卡,包括名称、编号、合作状态、合作模式、联系人、联系电话、故障通知邮箱、故障推送渠道、地址、入驻时间和备注。未填写的一般信息显示短横线,未设置邮箱显示「未设置」。
点击「编辑资料」后可以维护联系资料和通知配置,名称与编号只读。商户名称下方提示由平台运营维护。保存后仍回到本商户资料卡。若找不到所属商户,显示「未找到你所属的商户信息,请联系管理员」。
6 故障推送配置
邮箱推送与公众号推送可以同时启用,也可以均不启用。列表与资料卡应反映已保存的配置;截图中的邮箱均为演示地址。
6.1 邮箱推送
勾选邮箱推送后可填写通知邮箱,启用该渠道必须提供格式合法的邮箱。关闭邮箱推送时邮箱输入框禁用。当前保存还会校验已有的非空邮箱格式,邮箱不合法时阻止保存并提示检查。
6.2 公众号推送
公众号接收人从本商户员工中确定,员工必须账号启用、具有故障接收权限并已登记公众号接收身份。配置动作在人员管理完成,本商户表单不手动填写接收人名单。
新增商户尚未保存、或本商户没有符合条件的接收员工时,不允许新勾选公众号推送,并提示先保存商户基础资料或前往人员管理补充接收人。保存时重新检查,不能保存没有可达接收人的公众号推送配置。
6.3 自动调整与变更记录
当系统核对到已启用公众号推送的商户没有可达接收人时,自动关闭该渠道,保留其他渠道并记录调整。平台可通过「推送配置变更记录」查看最近记录和数量。记录包含时间、商户、调整类型与原因,最多保留最近 20 条;无记录时提示「暂无自动调整记录」。查看后确认可清空记录,取消则保留。
本页配置验收与实际消息送达验收分开进行;页面截图不作为消息已送达的证据。
7 删除与异常保护
7.1 删除商户
平台点击删除时,先判断是否仍关联点位、员工或设备。有任一关联时直接阻止,并提示「该商户仍被点位、员工或设备引用,请先解除关联」。没有关联时弹出删除确认;取消保留数据,确认且保存成功后移除商户并更新统计。
7.2 保存冲突与失败
如果当前页面打开后商户资料已在其他页面更新,保存和删除均应阻止覆盖,提示「商户数据已在其他页面更新,请刷新后重试」。保存失败时提示「商户数据保存失败,请重试」,原数据保留,不显示成功结果;编辑弹窗保留,便于用户处理后重试。
8 验收清单与本期边界
| 场景 | 验收结果 |
|---|---|
| 平台进入商户管理 | 可见统计、完整商户列表、编号列和管理入口 |
| 商户用户进入 | 仅见所属商户;无全平台列表和新增删除入口 |
| 新增并手填 c1000 | 保存后编号为 C1000,商户出现在列表 |
| 编号为空、格式错误或重复 | 阻止保存,错误提示清晰,保留输入 |
| 历史编号仍有关联 | 不能被新商户复用 |
| 编辑已有商户 | 编号不可改变;商户用户也不能改名称 |
| 商户名称由平台修改 | 相关展示名称同步,原业务关联不变 |
| 邮箱推送未填合法邮箱 | 阻止保存 |
| 公众号推送没有有效接收员工 | 不允许新启用,保存时再次阻止无效配置 |
| 商户仍关联点位、员工或设备 | 禁止删除并解释原因 |
| 删除确认取消 | 不删除、不改变统计 |
| 其他页面先更新或保存失败 | 不覆盖新数据、不虚报成功 |
| 所属商户不存在 | 显示联系管理员的空状态 |
当前页面只展示合作模式和合作状态,未提供编辑合作模式、暂停或恢复合作的操作入口;本次不将这些操作写成已支持。当前也未提供分页、批量导入导出和按编号搜索。
统计卡中点位和设备数量存在演示兜底数据。正式验收须使用真实业务数据确认统计口径,不能将截图中的 8 个点位、15 台设备视为真实统计结果。
9 本次更新与截图说明
本次纳入商户编号手动输入、格式整理与唯一性、历史关联占用、编号不可变更、删除关联保护、跨页面保存冲突、角色区分和故障通知渠道。
截图于 2026-09-11 从当前本地原型实际采集,使用演示商户,桌面视口为 1440 × 1080。图1至图6依次对应平台列表、新增表单、重复编号、平台编辑、我的商户与商户编辑。截图反映当前界面,移动端效果需另行验收。
10 页面字段字典
本字典覆盖商户管理列表、我的商户资料卡、新增与编辑弹窗、统计及推送变更记录。同一业务字段在不同位置使用不同名称时合并说明;按钮与页面标识另表说明,避免与商户档案字段混淆。图1至图6可作为下表对应区域的参考截图。
「必填」指保存商户资料时必须提供;「只读」指本页不能修改;未单列长度限制的字段,当前页面未提供明确的最大长度约束。示例仅用于解释含义。
10.1 商户档案字段
对应图1的列表、图2和图4的管理表单、图5和图6的我的商户。
| 页面字段及别名 | 业务含义与示例 | 填写与编辑规则 | 显示与空值规则 |
|---|---|---|---|
| 商户名称/客户名称 | 商户对外或运营使用的名称,如「星巴克咖啡」;不是唯一身份凭证 | 必填;去除首尾空格;平台可新增和修改;商户用户只读。当前不校验名称唯一性 | 显示在列表客户信息、资料卡标题及名称行;资料卡缺失时显示「-」 |
| 商户编号/客户编号/编号 | 区分商户并维系点位、员工和设备归属的唯一编号,如 C001 | 必填;平台新增时提供可修改的建议值;C 加至少三位数字,总长不超过32字符;去首尾空格并将字母转大写;重复或仍有关联的历史编号不可使用;创建后所有角色只读 | 列表独立编号列、资料卡标题与编号行、表单中均展示同一编号;历史编号原样保留 |
| 联系人 | 负责本商户日常业务沟通的人员姓名,如「张经理」;填写联系人不会自动建立员工账号或故障接收权限 | 必填;去除首尾空格;平台和本商户用户可编辑 | 列表、资料卡与表单显示;资料卡缺失时显示「-」 |
| 联系电话/列表中的电话 | 联系人的业务联系电话,如 13800138001;不是自动开通的登录账号 | 必填;去除首尾空格;平台和本商户用户可编辑;当前仅检查非空,不限定为11位手机号,也不校验唯一性 | 列表、资料卡与表单显示;资料卡缺失时显示「-」 |
| 客户地址/商户地址 | 商户的联系或经营地址,如「上海市浦东新区」;不等同于旗下所有设备点位地址 | 选填;去除首尾空格;平台和本商户用户可编辑;本页不要求地图定位 | 表单与资料卡显示;资料卡为空时显示「-」 |
| 备注 | 商户档案补充说明,如「重点客户」;不作为权限或合作状态的判断条件 | 选填;多行文本;去除首尾空格;平台和本商户用户可编辑 | 资料卡备注行及顶部摘要展示;备注行为空时显示「-」,顶部不拼接空备注 |
| 合作模式 | 商户与平台的经营合作分类,枚举值为「自营」「独立」「代理」 | 本页只读,没有新增或修改入口;新增商户当前不会自动填写合作模式 | 我的商户资料卡与顶部摘要展示;缺失时字段显示「-」,摘要省略该项 |
| 状态/合作状态 | 商户档案的合作状态,当前展示「合作中」「已暂停」;不是设备在线状态或员工账号状态 | 本页只读,没有暂停或恢复入口;新增商户默认合作中 | 列表与资料卡显示状态标识;合作中为绿色,已暂停为灰色。当前未提供未知状态标签 |
| 入驻时间/入驻日期 | 商户档案记录的入驻日期,如 2024-01-15;新增时记录创建日期,不代表合同生效日 | 系统填写,本页只读;既有档案保留已有日期 | 我的商户资料卡及顶部摘要展示,精确到日;缺失时字段显示「-」,摘要省略该项。当前新增日期按 UTC 日期生成,跨时区日期口径需在正式验收中确认 |
| 头像/商户首字标识 | 帮助识别商户的文字图标,不是上传的商户 Logo | 系统生成,只读,本页没有上传入口 | 列表取商户名称首字;资料卡优先取名称首字,名称缺失时取编号首字,两者都缺失时显示问号 |
| 客户信息 | 列表中的组合展示区,不是需要单独填写的字段 | 自动组合商户名称、联系人、电话和通知渠道 | 对应图1;各项含义及修改规则见本字典,不单独保存一份「客户信息」 |
| 资料卡顶部摘要 | 合作模式、入驻日期和备注的简要汇总 | 系统组合,只读;修改可维护的原字段后相应更新 | 对应图5;各项以分隔符连接,省略空项;全部缺失时显示「尚未填写补充信息」 |
10.2 故障通知字段
对应图1的渠道标签、图2和图4的表单、图5和图6的商户资料。渠道配置表示接收意愿和可达条件,不表示故障消息已经发送或送达。
| 页面字段及选项 | 业务含义 | 填写与编辑规则 | 显示与空值规则 |
|---|---|---|---|
| 故障推送渠道 | 选择商户希望通过哪些方式接收设备故障通知 | 选填、多选;支持邮箱推送、公众号推送,可同时选择或都不选;平台和本商户用户可维护 | 表单以复选框显示;列表和资料卡以渠道标签显示;均未选择时显示「未配置推送」 |
| 邮箱推送 | 是否通过故障通知邮箱接收故障信息 | 开关选项;新增默认不勾选;勾选后邮箱可输入且必须合法;取消勾选后邮箱框禁用,不自动清除已填邮箱 | 已启用时显示「邮箱推送」并附邮箱地址;保留邮箱但关闭渠道,不代表仍启用邮件通知 |
| 故障通知邮箱 | 接收该商户设备故障通知的邮箱,如 ops@example.com;独立于联系人的电话和员工账号 | 开启邮箱推送时条件必填;应填写一个合法邮箱;保存时去除首尾空格;即使关闭邮箱渠道,已有非空邮箱仍会进行格式检查 | 表单和资料卡显示;资料卡为空时显示「未设置」;邮箱推送标签在启用时附带该地址 |
| 公众号推送 | 是否向本商户符合条件的员工发送公众号故障通知 | 开关选项;新增时不可勾选,须先保存商户再配置员工;没有可达接收人时不可新启用;保存时重新检查 | 启用后显示「公众号推送」标签;不可启用时选项置灰并给出原因;已启用但接收人失效时可能被自动关闭并记入变更记录 |
| 公众号接收人说明 | 说明接收人员由本商户旗下账号启用、拥有故障接收权限且登记了公众号接收身份的员工构成 | 是说明文字,不是本页可填写的名单;人员信息须在人员管理中维护 | 对应图2、图4、图6的渠道下方说明;本页不逐一列出员工姓名或接收身份值 |
10.3 统计与搜索字段
对应图1。统计为平台商户管理视图的整体概览,不随名称、联系人或电话的搜索结果变化;我的商户不展示这组统计。
| 页面字段 | 业务含义与单位 | 当前计算或输入规则 | 默认值与边界 |
|---|---|---|---|
| 客户总数 | 当前商户档案总量,单位:个商户 | 包含合作中与已暂停商户;成功新增或删除后更新 | 不是当前搜索命中数量,也不是历史累计入驻量 |
| 合作中(统计卡) | 合作状态为合作中的商户数量,单位:个商户 | 仅统计合作中的商户,不包含已暂停商户 | 与列表行的合作状态含义一致,数字本身只读 |
| 点位总数 | 平台概览中的点位数量,单位:个点位 | 当前原型依据设备数据中出现的点位去重统计,并非直接清点全部点位档案 | 没有可统计点位时当前显示演示值8;无设备点位可能不计入。正式验收需确认真实业务口径,不将演示值作为真实结果 |
| 设备总数 | 平台概览中的设备数量,单位:台 | 当前原型按设备数据记录数量统计,不按合作状态或搜索条件过滤 | 无设备记录时当前显示演示值15;正式验收应核实实际数量及零值表现 |
| 搜索客户名称、联系人、电话 | 用于快速缩小商户列表的查询词,不属于商户档案 | 选填;输入即过滤;支持名称、联系人、电话的包含匹配;名称和联系人中的英文字母不区分大小写;不支持按商户编号查找 | 空输入显示全部商户;无匹配时显示「暂无客户数据」;不修改商户资料和统计卡 |
10.4 推送配置变更记录字段
平台通过页面右上角「推送配置变更记录」查看,记录反映渠道调整,不是故障事件列表、消息送达记录或全部商户操作日志。
| 页面字段 | 业务含义 | 来源与显示规则 | 空值或保留规则 |
|---|---|---|---|
| 变更记录数量 | 当前保留的渠道配置调整记录条数 | 按记录条数显示在入口角标,不按受影响商户去重 | 0条时隐藏角标;最多保留最近20条;不代表未读数量 |
| 记录序号 | 当前记录列表中的阅读顺序 | 从1开始编号,新记录优先显示 | 仅帮助阅读,不是持久业务编号 |
| 调整时间 | 本次渠道自动调整或运营确认的发生时间 | 自动记录,展示日期与时间,按当前查看环境的本地时间显示 | 时间缺失时显示「-」 |
| 商户 | 本次调整影响的商户 | 优先显示记录中的商户名称,缺少名称时显示商户编号 | 属于记录当时的商户标识,不是可编辑输入框 |
| 调整类型 | 区分由系统自动校对产生的变更与运营确认的变更 | 当前界面显示「自动校对」或「运营确认」 | 只读,不提供类型筛选或手动改写 |
| 调整原因 | 解释为什么改变推送渠道,例如没有可达的公众号接收员工 | 来自本次变更记录;当前弹窗可能直接显示内部原因标记,产品含义按本字段说明理解 | 不代表实际故障原因;可读原因文案仍需完善,不能将内部标记视为面向用户的最终文案 |
10.5 页面标识与操作入口
下列元素不属于商户档案字段,但会影响字段展示或保存,补充说明其用途。
| 页面名称或控件 | 含义与操作结果 | 适用范围及限制 |
|---|---|---|
| 商户管理/我的商户 | 同一模块按角色显示不同标题和资料范围 | 平台超级管理员查看商户管理,所属商户用户查看我的商户 |
| 新增客户 | 打开空白新增表单并提供建议商户编号 | 仅平台;不代表点击后就已创建商户 |
| 操作列中的编辑 | 打开当前行商户的资料表单 | 仅平台列表;编号只读 |
| 操作列中的删除 | 请求删除当前行商户 | 仅平台;先检查点位、员工和设备关联,再要求确认 |
| 编辑资料 | 打开当前所属商户的编辑表单 | 我的商户视图;商户名称和编号只读 |
| 保存 | 校验必填项、编号、邮箱和推送条件后保存资料 | 成功后关闭弹窗并更新页面;失败时保留输入,避免误认为已经保存 |
| 取消/关闭按钮 | 关闭新增或编辑弹窗 | 放弃本次未保存修改,不删除原商户 |
| 必填星号 | 标识保存所需的基础字段 | 名称、编号、联系人、联系电话带星号;邮箱属于随渠道启用条件变化的必填字段 |
| 名称锁定说明/编号锁定说明 | 解释字段不能修改的原因 | 名称说明用于商户用户;编号说明用于编辑已有商户 |
| 推送配置变更记录 | 打开最近的渠道调整记录 | 仅平台;无记录时提示暂无自动调整记录;查看后确定清空,取消保留 |
| 删除确认中的确定/取消 | 决定是否执行已通过关联检查的删除 | 确定才尝试删除;取消保持原数据 |
| 成功或错误提示 | 告知保存、删除是否成功或被什么规则阻止 | 临时反馈,不是商户档案字段;具体情形见第4和第7节 |
| 未找到所属商户/暂无客户数据 | 解释资料卡或列表没有可展示记录的原因 | 前者引导联系管理员;后者用于空列表或搜索无结果,两者不应混为同一业务状态 |
页面公共框架中的登录姓名、登录电话用于识别当前登录者,不是正在查看的商户联系人;「中文/EN」用于切换界面语言,「退出」用于退出当前登录,「☰」用于小屏幕展开或收起导航。这些公共控件不属于商户资料编辑范围。
11 商户关联模块补充需求
商户功能上线后,点位、人员和设备不能继续按平台全量数据独立展示。三类数据都必须有清晰的商户归属,且列表、统计、创建、编辑、删除和详情操作使用同一套归属规则。本节是对点位管理、人员管理和设备管理的补充要求,不改变前文商户档案的字段定义。
当前检查结论如下:
| 模块 | 现有基础 | 需要补充的重点 | 优先级 |
|---|---|---|---|
| 点位管理 | 已有所属客户、点位编码、分类、地址、负责人等字段 | 商户隔离、商户绑定、编码唯一性、设备引用保护、人员责任关系 | P0 |
| 人员管理 | 已有角色、商户范围、指定设备范围、故障通知接收条件 | 平台管理员跨商户视图、商户状态联动、点位责任范围、变更审计 | P1 |
| 设备管理 | 已有按人员设备范围过滤的列表和点位快速创建入口 | 详情与操作的二次权限校验、商户和点位标识统一、转移与历史保护 | P0 |
11.1 三类数据的归属关系
| 关系 | 产品规则 | 验收要求 |
|---|---|---|
| 商户—点位 | 一个点位只能归属一个商户,也可以暂时处于「待分配」状态。普通商户用户只能看到本商户点位;平台管理员可查看全部点位,包括待分配和归属异常的点位 | 用两个商户账号分别登录,列表、搜索、统计、编辑和删除都不能看到或影响对方点位;平台管理员可以找到异常数据并完成归属修复 |
| 商户—人员 | 人员账号必须有稳定的商户归属。平台级人员可以不绑定具体商户;商户人员只能服务一个商户,不能通过修改表单跨商户转移 | 商户编号变化只更新展示,不改变人员归属;人员编辑、禁用和删除均按当前商户权限校验 |
| 商户—设备 | 设备必须有唯一、可追溯的商户身份,设备列表、详情、故障、销售、远程控制和配置操作都使用同一商户归属 | 商户、点位和设备数据出现编号不一致时,禁止继续产生新的关联,并给平台管理员显示修复提示;不能因为页面参数变化绕过商户限制 |
| 点位—设备 | 设备可以绑定一个点位;修改点位时保留变更前后的点位、操作人和时间。删除点位前必须处理设备引用 | 被设备使用的点位不能直接删除;先完成设备换绑或解除绑定后才允许删除,历史记录仍能还原原点位 |
当前原型同时出现了商户编号和设备侧历史商户键两种表达方式。正式实现前必须确定一个正式商户编号作为跨模块关联依据,并由所有模块统一使用;历史数据需要提供一次性映射和异常清单,不能由各页面各自猜测对应关系。
11.2 点位管理补充需求(P0)
11.2.1 列表和统计
- 普通商户用户进入点位管理后,只展示本商户点位;搜索、分类筛选、状态筛选和统计卡都只计算本商户数据。
- 平台管理员可以按商户筛选,也可以查看全部点位。待分配点位和商户归属异常点位只对平台管理员可见,并显示明确的异常状态。
- 点位总数、运营中点位数和设备总数必须使用真实的商户范围数据计算;没有数据时显示 0,不使用演示数字代替真实结果。
- 点位列表至少展示商户名称或商户编号,避免平台管理员在不同商户存在同名点位时无法区分。
11.2.2 新增和编辑
- 商户用户新增点位时,商户归属自动使用当前商户且不可修改;表单不提供切换到其他商户的入口。
- 平台管理员新增点位时,商户归属为必填;如果选择待分配,必须填写待分配原因和后续处理人。
- 编辑点位时重新校验当前用户是否仍有该商户权限。通过列表隐藏点位不能替代保存时的权限校验。
- 点位编码在同一平台内必须唯一,比较时忽略首尾空格和英文字母大小写;保存失败时明确指出冲突的商户和点位。
- 已被设备使用的点位编码原则上不可直接修改。确需修改时,要同步更新设备当前关联并保留点位变更历史,不能产生无归属设备。
- 经度和纬度必须成对填写并在有效范围内;只填写一项、超出范围或定位失败时不得保存为有效坐标。
- 「负责人」建议从同一商户的人员账号中选择,并保存人员编号和当时的展示姓名;如本期仍保留自由文本,必须在字段说明中明确它只是联系电话快照,不代表权限或责任授权。
11.2.3 删除和异常处理
- 被设备引用的点位不可直接删除,删除提示需列出受影响设备数量,并引导先换绑或解除设备。
- 没有设备引用的点位删除后仍需保留操作记录,包括点位编号、原商户、操作人、时间和删除原因。
- 商户暂停或删除时,旗下点位进入只读或待处理状态,具体状态必须在商户生命周期策略中统一定义,不能继续被普通用户新增设备绑定。
11.3 人员管理补充需求(P1)
- 商户管理员和普通商户人员只能查看、编辑本商户人员;平台管理员需要提供「全部商户」和按商户筛选的人员视图,不能默认只显示某一个当前商户。
- 创建人员时,非平台管理员的商户归属固定为当前商户;平台管理员可以选择商户或平台级角色。保存、编辑、禁用和删除时都要再次检查商户权限。
- 人员可以被授权访问本商户的设备,但设备选择器只能显示同一商户设备;保存时重新检查设备仍属于该商户,不能只依赖页面上的已选列表。
- 角色和设备范围之外,补充可选的「负责点位」范围。启用后,人员只能查看和处理其负责点位下的设备及故障;平台级角色可跨点位处理。若本期不做点位级权限,应在页面上明确负责人字段不产生访问权限。
- 商户暂停时,商户人员的登录和操作状态需要有明确策略:默认停止新增和变更操作,并给出暂停原因;是否允许只读查看由业务确认。商户恢复后按暂停前账号状态恢复,不能自动启用原本已禁用的账号。
- 商户删除前必须检查人员引用;删除或迁移人员时,需要处理其负责点位、设备范围和故障通知接收资格,不能留下失效的故障接收人。
- 人员的商户、角色、点位范围、设备范围、故障通知资格和账号状态变更必须记录操作人、时间、变更前后值和原因,便于追查越权或漏通知问题。
11.4 设备管理补充需求(P0)
11.4.1 可见范围和操作权限
| 角色或范围 | 可见设备 | 可执行操作 |
|---|---|---|
| 平台管理员 | 全部设备,包括未分配和归属异常设备 | 查看、修复归属、换绑点位、处理设备配置和平台允许的远程操作 |
| 平台运营人员 | 按平台授权查看设备 | 仅执行已授权的设备、故障和运营操作;不能借此修改人员商户归属 |
| 商户管理员 | 本商户全部设备 | 查看和管理本商户设备及点位绑定 |
| 指定设备人员 | 已分配给本人且仍属于本商户的设备 | 仅查看和处理授权设备;不能通过详情链接访问其他设备 |
列表过滤只是入口体验,设备详情、销售开关、远程操作、录入信息、广告屏、温度、物料和故障记录等操作都必须再次校验当前人员和设备的商户、点位及设备范围。无权访问时统一提示「无权操作该设备」,不返回设备敏感信息。
11.4.2 点位绑定、转移和历史
- 从设备详情快速创建点位时,点位商户自动使用设备商户;普通商户用户不能选择其他商户,也不能通过修改地址或名称改变商户归属。
- 设备选择点位时,只显示同一商户且状态可用的点位;点位归属异常、商户已暂停或待删除时不可新绑定。
- 设备转移商户必须由平台管理员发起,采用「原商户—目标商户—生效时间—原因—影响人员」的确认流程;转移后原商户人员立即失去设备访问权。
- 设备换绑点位时保留历史点位和变更原因;点位删除、编码变更或商户转移不能静默改写历史故障、销售和维护记录。
- 未录入、离线或归属异常设备要有单独状态,不应通过「未关联点位」掩盖商户归属问题;平台管理员可批量查看待处理清单。
11.4.3 数据和统计
- 商户详情中的设备总数、点位设备数和设备状态统计必须按商户真实数据计算,并与设备管理筛选结果一致。
- 设备的商户编号、点位编码和页面展示名称必须来自同一关联关系;发现设备指向不存在点位、点位指向不同商户或商户不存在时,显示归属异常并阻止继续产生关联。
- 设备批量导入、批量换绑和批量配置(若后续提供)必须逐条校验商户范围,部分失败时返回逐条失败原因,不能整批静默成功。
11.5 跨模块验收清单
| 场景 | 预期结果 |
|---|---|
| 商户 A 登录查看点位、人员和设备 | 只看到商户 A 数据,统计与列表行数一致 |
| 商户 A 直接打开商户 B 的设备详情或操作链接 | 被拒绝且不返回商户 B 的设备信息 |
| 商户 A 尝试把点位或人员保存到商户 B | 保存失败,商户归属保持不变并给出原因 |
| 平台管理员筛选商户 B | 点位、人员、设备三个模块均只展示商户 B;切换「全部商户」后可查看待分配和异常数据 |
| 删除仍被设备使用的点位 | 删除被阻止,提示受影响设备并引导换绑 |
| 商户暂停 | 新增绑定、人员变更和设备运营操作按统一策略被限制;页面说明限制原因 |
| 商户编号、点位编码或设备归属不一致 | 标记归属异常,禁止继续建立新的跨商户关联,并提供平台修复入口 |
| 人员失去设备或故障通知权限 | 立即停止对应设备操作和通知接收,记录变更,不能继续使用旧页面完成操作 |
本节完成后,点位、人员和设备才具备与商户管理一致的租户边界。实现阶段应优先完成点位商户隔离、设备详情操作复核和关联标识统一,再补充人员的点位责任范围、商户状态联动和审计记录。