供应商管理 — 功能需求
1. 文档说明
| 项 |
说明 |
| 模块名称 |
供应商管理(交易市场平台) |
| 目标 |
在业务后台维护交易市场供应商主数据(主体信息、联系方式、车辆及收费规则),支撑供应商检索、台账维护及后续交易、结算等业务引用 |
| 关联系统 |
业务后台;本模块为供应商主档维护,不替代交易开单、对账、支付等下游流程(若需与订单/结算联动,另出集成需求) |
| 修订依据 |
同目录 供应商管理-草稿.md、界面原型(供应商管理.png) |
本文档仅描述功能需求与业务规则,不涉及库表结构、接口路径、请求体字段命名、HTTP 报文及技术栈选型。
2. 术语与枚举
2.1 供应商(一条记录)
- 表示交易市场内的一个供货/服务主体(个体户或企业)。
- 由运营人员在后台登记与维护;保存成功后可在列表检索,并供后续业务按编号或名称引用。
- 单条记录包含:编号、名称、类型、身份识别号、联系方式、经营地点、车辆号牌集合、收费方式及与之关联的费率/标准字段。
2.2 供应商类型(单选,必填)
| 类型 |
含义 |
身份识别字段(界面标签) |
| 个体户 |
自然人经营主体 |
身份证号 |
| 企业 |
法人或非法人组织主体 |
主体识别号(统一社会信用代码等,见 §2.5) |
切换类型时,身份识别字段的标签、校验规则随之切换;已填写的识别号在切换类型后须重新校验,不符合新类型规则时拒绝保存并提示。
2.3 收费方式(单选,必填)
| 收费方式 |
含义概要 |
关联必填字段 |
| 按户计费 |
按「户」为单位计费,不依赖头数与交易额比例 |
无额外费率/标准字段 |
| 按头计费 |
按牲畜(或等价「头」)数量计费 |
收费标准(元/头) |
| 按额计费 |
按交易金额比例计费 |
交易费率、管理费率(均为百分比) |
联动原则(保存时):
- 选择 按户计费:不校验、不保存「收费标准」「交易费率」「管理费率」的有效值;界面宜隐藏或清空上述三项,避免误填残留。
- 选择 按头计费:收费标准必填且 > 0;交易费率、管理费率不适用,宜隐藏或清空。
- 选择 按额计费:交易费率、管理费率均必填,取值范围 0~100(单位 %,含 0 与 100 是否允许由产品确认,默认允许 0、不允许超过 100);收费标准不适用,宜隐藏或清空。
说明: 原型辅助说明中曾出现「‰」表述,与表单「%」展示不一致;以百分比(%)为准,全文统一。
2.4 供应商编号
- 系统自动生成,用户不可手工录入或修改(新增弹窗中只读展示,修改时只读)。
- 格式:2 位数字字符串,建议左侧补零(如
01、02 … 99)。
- 全局唯一:同一系统内不得重复;编号用尽(如已达
99)时拒绝继续新增并提示「供应商编号已达上限,请联系管理员」。
- 生成时机:用户点击新增保存且校验通过时分配;未保存前可展示「保存后自动生成」类占位。
2.5 身份识别号校验(摘要)
| 供应商类型 |
规则摘要 |
| 个体户 · 身份证号 |
必填;18 位居民身份证格式及校验位规则(末位可为 X/x),与项目全局身份证校验一致 |
| 企业 · 主体识别号 |
必填;统一社会信用代码 18 位(字符集、校验位与项目全局规则一致);若业务仅采集营业执照注册号,须在评审时单独约定并替换本节 |
2.6 车辆号码
- 一条供应商可登记 0~N 个号牌(N 建议上限 10,评审可调)。
- 通过「新增一行 / +」增加号牌,每行一个;支持删除单行。
- 列表与详情中多个号牌以顿号、逗号或换行等方式展示,风格与项目列表长文本一致。
- 单条号牌格式校验与项目全局车牌规则一致(若暂无全局规则:允许中文省份简称 + 字母数字组合,长度宜 7~8 位,非法格式拒绝保存)。
2.7 平台账号分配
- 列表提供「分配账号」操作:为当前供应商创建若依平台登录用户,供其登录业务后台或关联端使用。
- 默认登录名:供应商名称的汉字拼音首字母(小写,连续拼接)+ 该条记录的数据库主键 id(如名称「扎西供应商」、id=12 →
zxgys12)。
- 默认角色:绑定平台角色编号 103(供应商端角色,以
sys_role.role_id 为准)。
- 仅可成功分配一次:
account_assigned=已分配 后不可再次分配;登录名冲突等失败时不标记为已分配,允许在满足前置条件下重试。
- 删除联动:逻辑删除供应商时,若已分配账号,同时删除关联的
sys_user(与畜牧医疗资源管理一致)。
2.8 删除与可见性
- 删除采用与项目其他业务台账一致的逻辑删除:删除后默认不在列表与常规查询中展示,数据保留供审计。
- 本期不提供回收站界面;物理清除须单独审批。
- 若供应商存在未结算的结算单(
settlement_status=待结算),禁止删除并提示「存在未结算的结算单,无法删除」;仅已完成结算单不阻止删除。
2.9 列表筛选项与记录字段的关系
| 筛选项 |
与记录字段关系 |
| 供应商编号 |
与记录中「供应商编号」完全一致(精确匹配);空则不过滤 |
| 供应商名称 |
与记录中「供应商名称」完全一致(精确匹配);空则不过滤 |
3. 功能范围
本期实现:
| 能力 |
说明 |
| 供应商列表 |
编号、名称精确筛选;分页;见 §5.2 |
| 新增供应商 |
录入业务字段;编号自动生成;见 §5.1 |
| 修改供应商 |
除编号外字段均可改;收费方式联动校验;见 §5.3 |
| 查看详情 |
只读展示全部业务字段;见 §5.4 |
| 删除供应商 |
单条删除;见 §5.5 |
| 分配账号 |
为供应商创建平台用户;每条仅成功一次;见 §5.6 |
| 工具栏 |
搜索、重置、新增 |
本期不实现(除非后续单独立项):
- 供应商准入审批流、黑名单、资质证照附件上传与到期提醒
- 供应商批量导入/导出、编号手工指定或跳号规则配置界面
- 与交易订单、结算单、对账单的自动联动(仅维护主档)
- 供应商评分、合同管理、银行账户子模块
- 按区域、收费方式的列表筛选(原型未要求则不做)
4. 业务流程概览
flowchart TD
A[进入供应商管理] --> B{用户操作}
B -->|登记| C[新增供应商]
C --> D[选择类型与收费方式]
D --> E[填写并联动校验]
E -->|通过| F[系统分配编号并保存]
E -->|未通过| C
F --> G[返回列表]
B -->|检索| H[输入编号/名称]
H --> I[搜索列表]
I --> J{行操作}
J -->|查看| K[只读详情]
J -->|编辑| L[修改供应商]
L --> E
J -->|分配账号| Q[创建平台用户]
Q --> G
J -->|删除| M[二次确认]
M -->|允许| N[逻辑删除]
M -->|有关联| O[提示不可删]
N --> G
K --> I
B -->|重置| P[清空筛选]
P --> I
典型使用顺序:
- 运营人员新增供应商,选择个体户/企业与收费方式,填写身份号、联系方式及按收费方式要求的费率/标准。
- 系统自动分配两位编号并落库。
- 日常按编号或名称精确查询台账。
- 需要供应商登录平台时,对未分配行执行分配账号。
- 信息变更时修改(编号不变);无效或重复登记删除(无关联时)。
- 需要核对完整收费规则时查看详情。
5. 详细功能需求
5.1 新增供应商
5.1.1 业务字段
| 字段 |
必填 |
规则摘要 |
| 供应商编号 |
— |
只读;保存成功后展示系统生成的 2 位数字编号 |
| 供应商名称 |
是 |
1~20 个字符(与草稿「限制 20 字」一致);去除首尾空白后非空 |
| 供应商类型 |
是 |
个体户 / 企业,单选 |
| 身份证号 / 主体识别号 |
是 |
标签随类型切换;校验见 §2.5 |
| 联系方式 |
是 |
中国大陆手机号格式校验(11 位、号段与项目全局一致) |
| 经营地点 |
否 |
文本;长度宜 0~50 字(有内容时按 1~50 校验) |
| 车辆号码 |
否 |
0~N 个;见 §2.6 |
| 收费方式 |
是 |
按户计费 / 按头计费 / 按额计费,单选 |
| 收费标准 |
条件 |
按头计费时必填;数值 > 0;单位展示 元/头 |
| 交易费率 |
条件 |
按额计费时必填;0~100,单位 % |
| 管理费率 |
条件 |
按额计费时必填;0~100,单位 % |
5.1.2 界面联动(与原型一致)
| 用户操作 |
界面行为 |
| 选择「个体户」 |
身份字段标签为「身份证号」 |
| 选择「企业」 |
身份字段标签为「主体识别号」 |
| 选择「按户计费」 |
隐藏或禁用「收费标准」「交易费率」「管理费率」 |
| 选择「按头计费」 |
显示「收费标准(元/头)」;隐藏或禁用两项费率 |
| 选择「按额计费」 |
显示「交易费率(%)」「管理费率(%)」;隐藏或禁用「收费标准」 |
5.1.3 保存与取消
| 操作 |
行为 |
| 确定 |
全量校验通过后保存;分配供应商编号;关闭弹窗并刷新列表 |
| 取消 |
关闭弹窗,不保存 |
5.1.4 校验摘要
| 规则 |
说明 |
| 收费方式联动 |
未选收费方式或条件字段缺失/非法时拒绝保存 |
| 必填 |
任一必填为空或仅空白时拒绝保存 |
| 名称唯一 |
若业务要求供应商名称不可重复,须在评审时确认;默认建议名称唯一,重复时提示「供应商名称已存在」 |
| 身份号唯一 |
若业务要求同一身份识别号不可重复登记,须在评审时确认;默认建议唯一 |
5.2 查询供应商列表
5.2.1 筛选
| 条件 |
规则 |
| 供应商编号 |
选填;精确匹配;空则不过滤 |
| 供应商名称 |
选填;精确匹配;空则不过滤 |
支持编号 + 名称组合筛选(同时满足)。
5.2.2 列表规则
- 默认每页 20 条。
- 默认排序:供应商编号升序(或 创建时间倒序,产品择一后全文一致;默认建议编号升序便于人工查找)。
- 工具栏:搜索、重置、新增。
5.2.3 展示列(与原型一致)
供应商编号、供应商名称、供应商类型、身份证号/主体识别号、联系方式、经营地点、车辆号码、收费方式、账号分配、操作。
| 列 |
展示说明 |
| 供应商类型 |
中文:个体户 / 企业 |
| 身份证号/主体识别号 |
列表统一列展示对应类型的识别号;无则「—」 |
| 经营地点 |
过长时省略,详情可看全 |
| 车辆号码 |
多个号牌合并展示;无则「—」 |
| 收费方式 |
中文:按户计费 / 按头计费 / 按额计费 |
| 账号分配 |
未分配显示「否」;已分配显示「是」及登录名(若有) |
| 操作 |
查看、编辑、删除;未分配时显示「分配账号」(权限见 §6) |
说明: 列表可不单独展示「收费标准」「交易费率」「管理费率」列,以免过宽;完整数值在详情中展示(见 §5.4)。若产品要求在列表增加摘要列(如「10元/头」或「交易2%/管理1%」),可评审后补充。
5.3 修改供应商
| 项 |
要求 |
| 入口 |
列表「编辑」;详情页可提供「编辑」快捷入口(与列表等价) |
| 不可改字段 |
供应商编号(只读) |
| 可改范围 |
§5.1.1 中其余全部字段 |
| 类型/收费方式变更 |
切换后按 §5.1.2 联动显示与 §2.3 重新校验;不适用字段须清空,避免脏数据 |
| 校验 |
与新增 §5.1.4 一致 |
| 保存 |
确定 保存并刷新列表;取消 放弃修改 |
5.4 查看供应商详情
| 项 |
要求 |
| 展示内容 |
§5.1.1 全部字段;按收费方式展示适用的收费标准或费率;车辆号码全文展示;是否已分配账号、已分配登录名(若有) |
| 只读 |
全部字段不可编辑 |
| 操作 |
可提供 编辑、删除(权限与列表一致);未分配时可提供 分配账号;关闭 返回列表 |
| 收费规则展示示例 |
按头:收费标准:XX 元/头;按额:交易费率:XX%;管理费率:XX%;按户:仅展示收费方式,不展示费率行 |
宜含创建人、创建时间、修改人、修改时间等审计信息(与项目其他台账一致)。
5.5 删除供应商
| 项 |
要求 |
| 入口 |
列表「删除」;详情可提供「删除」 |
| 确认 |
删除前二次确认(宜展示编号、名称) |
| 删除方式 |
逻辑删除(§2.7) |
| 关联约束 |
存在未结算结算单时拒绝删除,提示「存在未结算的结算单,无法删除」 |
| 批量删除 |
本期不提供 |
6. 操作与权限矩阵(汇总)
在已授权前提下:
| 操作 |
列表/详情 |
说明 |
| 查询列表、筛选 |
✓ |
需列表查询权限 |
| 新增 |
工具栏「新增」 |
需新增权限 |
| 查看 |
行内/详情 |
需查看权限 |
| 修改 |
行内/详情 |
需修改权限;编号不可改 |
| 删除 |
行内/详情 |
需删除权限;受关联约束 |
| 分配账号 |
行内/详情 |
需分配账号权限;仅未分配行可用 |
无权限的按钮不展示或禁用(与若依按钮权限惯例一致)。
7. 收费方式与字段适用对照(自查)
| 收费方式 |
收费标准 |
交易费率 |
管理费率 |
| 按户计费 |
不适用 |
不适用 |
不适用 |
| 按头计费 |
必填(元/头,>0) |
不适用 |
不适用 |
| 按额计费 |
不适用 |
必填(%,0~100) |
必填(%,0~100) |
8. 异常与提示(业务侧)
面向使用方的提示须可读、可区分,例如:
| 场景 |
提示方向(示例) |
| 手机号格式错误 |
请输入正确的手机号码 |
| 身份证/主体识别号错误 |
请输入正确的身份证号 / 主体识别号 |
| 收费方式未选 |
请选择收费方式 |
| 按头未填收费标准 |
请填写收费标准(元/头) |
| 按额未填费率 |
请填写交易费率 / 管理费率 |
| 费率超范围 |
费率须在 0~100% 之间 |
| 名称/身份号重复 |
供应商名称已存在 / 该身份识别号已登记 |
| 编号用尽 |
供应商编号已达上限,请联系管理员 |
| 删除受阻 |
存在未结算的结算单,无法删除 |
| 车牌格式错误 |
请输入正确的车辆号码 |
| 重复分配账号 |
该供应商已分配账号,不可重复分配 |
| 账号创建失败 |
账号创建失败:登录名已存在 / 用户保存失败 |
本期不涉及统一 HTTP 响应结构、错误码表等技术约定。
9. 非功能需求(摘要)
| 项 |
要求 |
| 易用性 |
类型、收费方式切换时联动及时,避免用户填写无效字段 |
| 一致性 |
校验规则、逻辑删除、分页默认值与项目其他台账模块保持一致 |
| 安全 |
联系方式、身份识别号在列表是否脱敏由项目统一规范(默认列表不脱敏、按角色可扩展脱敏) |
10. 修订记录
| 版本 |
说明 |
| 1.0 |
初稿:依据草稿与原型整理;明确收费方式联动、编号自动生成、类型与身份字段切换;剔除接口与技术栈描述 |
| 1.1 |
新增 §2.7、§5.6 分配账号:拼音首字母+id 登录名、角色 103、仅一次;删除联动删平台用户 |
| 1.3 |
§2.8、§5.5:存在未结算结算单时禁止删除 |