生长与出栏标准管理 — 功能需求
1. 文档说明
| 项 |
说明 |
| 模块名称 |
生长与出栏标准管理 |
| 目标 |
对生长与出栏标准进行增删改查、正文附件与封面管理,并与知识库同步、发布生命周期衔接 |
| 关联系统 |
业务后台、知识库 |
| 流程修订依据 |
同目录 生长与出栏标准管理功能需求-草稿.md;《养殖标准管理功能需求》中业务状态、生命周期、下架回流、删除与知识库通知等语义(本模块与之对齐,领域文案按生长与出栏调整) |
本文档仅描述功能需求与业务规则,不涉及库表结构、接口路径、请求体字段命名及技术栈选型。
2. 术语与状态
2.1 标准类型(资讯类别编码,单选)
标准类型持久化与接口传参均为 资讯类别编码(varchar)。可选范围由资讯类别子节点维护,本模块取 parentCode=001、categoryType=4:
| 编码 |
名称(示例) |
001011 |
牦牛生长 |
001012 |
牦牛出栏 |
新增/修改保存时编码须在上述有效集合内;列表筛选为 编码精确匹配。
2.2 业务状态(与养殖标准一致的两维模型)
业务状态拆成 上架状态 与 知识库同步状态 两个正交维度,避免出现单一枚举无法表达的非法组合;两维度在系统中如何记录由实现决定,本文只约定语义、合法组合与操作后果。
2.2.1 上架状态(互斥,单值)
| 取值 |
含义概要 |
| 未发布 |
未对外发布阶段:含新建草稿、未同步下编辑、已从已发布下架回流等;仅未发布且未同步时可编辑;同步 / 移出 / 发布 / 删除规则见 第 4~5 节 |
| 已发布 |
对外可见或可检索(与产品定义一致);不允许修改;不可直接删除,须先执行 下架 |
下架与「已下架」稳态: 执行「下架」后,业务侧不将本条单独固化为「已下架」业务终态。下架完成后,上架状态为 未发布,知识库同步状态为 已同步(见 4.8)。产品定论(与养殖标准一致): 下架后知识库内仍保留与本标准对应的可编辑副本(条目不删除,可与「对外发布 / 检索可见」解耦),业务侧稳态为 未发布 + 已同步,允许直接再次发布;若需改内容须先 移出知识库 → 未同步下编辑 → 再同步,无须新建一条生长与出栏标准。
若历史版本或展示层曾出现「已下架」表述,须在说明中与「下架回流 = 未发布 + 已同步」的关系写清,避免与当前流程冲突。
2.2.2 知识库同步状态(与上架状态正交,单值)
| 取值 |
含义概要 |
| 未同步 |
知识库中无对应有效条目(或已移出);在满足矩阵规则下可执行手动「同步知识库」(仅当上架状态为 未发布 时,见 4.6) |
| 已同步 |
知识库侧已有与本条对应的条目;业务侧禁止编辑(须先移出后再改);未发布时可 发布、移出知识库 |
已同步状态下若要改内容: 须 移出知识库 → 未同步 下完成修改 → 再 同步知识库 → 已同步。
「移出知识库」见 4.7:执行后须将本维度置为 未同步。
2.2.3 合法组合(上架 × 知识库)
以下组合允许作为稳态存在;其余组合(例如 已发布 + 未同步)视为 非法,不得在业务流程中作为稳态出现;各入口须拒绝导致非法组合的操作。
| 上架状态 |
知识库同步 |
说明 |
| 未发布 |
未同步 |
初始或移出后;可手动同步、可编辑;未同步条件下允许删除(见 4.4) |
| 未发布 |
已同步 |
已入库(含手动同步、或已发布下架回流);不可编辑、可发布、可移出;删除规则见 4.4 |
| 已发布 |
已同步 |
发布的前提为已同步(4.8);对外展示中,不可改、不可删,仅可下架 |
说明: 按 4.8,下架完成后的目标稳态为 未发布 + 已同步(库内保留可编辑副本),不将「已下架 + 未同步」作为下架必经业务终态。须与「移出知识库」(4.7,库侧条目删除或下线并置 未同步)严格区分。
操作可用性以第 5 节矩阵为准。
3. 功能范围
- 生长与出栏标准的新增、修改、删除、分页列表查询、详情查看
- 标准正文附件(非结构化文档)与封面图的上传、替换、展示及删除时的存储联动清理
- 与知识库的同步、移出
- 发布、下架及与知识库的一致性处理
- 面向使用方的错误信息呈现约定(见第 6 章)
3.1 业务流程概览(与养殖标准一致)
下列顺序描述典型闭环;具体操作禁忌以 第 5 节矩阵 为准。
- 新建:录入必填项并上传正文(及可选封面)→ 初始为 未发布 + 未同步。
- 首次入库:在 未发布 + 未同步 下执行「同步知识库」→ 未发布 + 已同步。
- 迭代编辑:仅在 未发布 + 未同步 下允许修改;已同步须先移出(步骤 7)再编辑。未同步保存仅更新业务侧,仍依赖步骤 2。
- 发布:仅在 未发布 + 已同步 下允许 → 已发布 + 已同步。
- 下架:仅在 已发布 下允许 → 回到 未发布 + 已同步(库内保留条目,非移出)。
- 再发布 / 纠错再入库:已同步可直接重复步骤 4;若需改内容则 移出 → 编辑 → 同步 → 发布(无须新建记录)。
- 彻底移出知识库:在 未发布 + 已同步 下主动「移出」→ 未发布 + 未同步。
- 删除:在 未同步 下允许直接删除(含删存储文件与通知知识库删除侧条目);若当前为 未发布 + 已同步,须先执行步骤 7,或在「删除」流程中 原子联动 完成库侧清理后再删(见 4.4)。
4. 详细功能需求
4.1 新增长生与出栏标准
| 字段 |
规则 |
| 标准名称 |
必填;长度 1~20 个字符(字符计数规则与项目全局一致) |
| 标准类型 |
必填;单选,取值须为第 2.1 节所列资讯类别编码之一 |
| 标准简介 |
选填;若有内容,长度不超过 50 字(字数口径与项目全局一致) |
| 标准内容 |
必填;通过单个附件上传;允许后缀:pdf、md、doc、docx、xls、xlsx、ppt、pptx;单文件 ≤ 30 MB |
| 封面 |
选填;通过单个图片上传;允许后缀:jpg、jpeg、png(若产品要求支持 webp 等可追加);单文件 ≤ 10 MB |
必填字段汇总: 标准名称、标准类型、标准内容。
校验:
须校验文件类型(后缀与白名单 / MIME 策略以项目安全规范为准)与大小;超限或格式不符时给出可区分的错误分类提示。若业务要求标准名称在适用范围(如租户 / 组织)内唯一,应在评审时单独约定并写入本节。
初始状态: 新建成功后,上架状态为 未发布,知识库同步状态为 未同步(与养殖标准初始化规则一致,除非产品另有统一约定)。
4.2 查询生长与出栏标准列表
- 关键字: 对「标准名称」或「标准简介」模糊匹配(二者为 OR 关系)。
- 标准类型: 精确匹配筛选。
- 分页: 支持分页;默认 每页 20 条,默认首页为第一页;单页条数上限与后台列表通用规范一致(若有)。
- 排序: 默认按 创建时间倒序(最新在前);次要排序键与项目列表规范一致(若有)。
列表宜展示上架状态、知识库同步状态,便于用户理解当前可执行操作。
4.3 修改生长与出栏标准
- 状态约束: 仅未发布且未同步 允许修改。已发布或 已同步 不允许修改(须返回明确业务原因,如「知识库已同步状态不允许修改」)。
- 可修改项: 标准名称、标准类型、标准简介、标准内容(附件)、封面。
- 保存约束: 标准名称、标准类型、标准内容 始终保持必填(提交时不得为空、不得因操作导致无正文附件);标准简介仍为选填。
- 与知识库一致性: 未同步状态下保存仅更新业务侧,不自动写入知识库,仍依赖 4.6。已同步须先 移出知识库(4.7)后再编辑。
4.4 删除生长与出栏标准
- 删除本条业务记录时,须同步删除关联存储中的标准内容文件与封面文件;并通知知识库删除与本标准对应的条目,避免孤儿数据。
- 允许删除: 未同步 的标准允许删除(典型为 未发布 + 未同步,含移出后的情形)。
- 不允许删除: 已发布 的标准;须先执行「下架」(4.8)回到 未发布 后再按本条处理。
- 未发布且已同步: 不得在无知识库处理的前提下直接删除;须先 移出知识库(4.7)使同步维度变为 未同步 后再删;或在「删除」流程内 原子联动 完成知识库侧删除 / 下线后再删除业务记录与文件。
4.5 查看生长与出栏标准详情
- 展示:标准名称、标准类型、标准简介、标准内容(附件下载或预览入口)、正文附件原始名称(与上传文件名一致,便于识别)、封面;宜展示当前 上架状态 与 知识库同步状态。
- 已发布或 已同步 场景下详情为 只读;未发布且未同步 在具备编辑权限时可进入编辑流程。
- 在线预览能力(如 PDF、图片)若需要,可作为迭代项单列。
4.6 同步至知识库(手动)
- 适用: 标准为 未发布 且 未同步 时,由用户触发「同步知识库」,将当前标准首次写入知识库(或对接语义下的首次挂载)。已发布 不适用本入口(须先下架回到 未发布 后再视同步维度操作)。
- 结果: 手动同步成功后,知识库同步维度为 已同步,为发布做准备;此后若需改内容须先 移出知识库(4.7)。
- 失败: 须给出明确、可区分的失败原因,支持用户重试。
4.7 移出知识库
- 语义区分: 「移出知识库」为主动删除或下线知识库侧对应条目;与「下架」(4.8)不同——下架不删除库内副本,业务侧仍为 已同步。
- 前置: 仅 未发布 且 已同步 时可提供「移出知识库」。已发布 不提供「移出」;须先 下架 回到 未发布 + 已同步 后,用户再按需执行「移出」(非下架自动移出)。
- 结果: 知识库侧对应条目删除或下线完成后,业务侧知识库同步维度须为 未同步;后续操作见 第 5 节 矩阵。
4.8 发布与下架
- 发布:
- 仅当标准已同步知识库且上架状态为 未发布 时,允许「发布」。
- 发布后上架状态为 已发布,知识库同步状态为 已同步。
- 下架:
- 已发布 的标准可「下架」。
- 下架时须完成与知识库的一致性处理:结束对外发布 / 对外检索可见 等,但不删除知识库内与本标准对应的条目——库内保留可编辑副本,以便后续修改与再次发布(知识库侧「可见性 / 发布态」以与知识库的对接约定为准)。
- 下架完成后的业务状态: 上架状态为 未发布,知识库同步状态为 已同步;允许用户直接再次发布;若需改内容须先 移出知识库,无须新建记录。
- 若需从库内彻底清除条目,须由用户在 未发布 + 已同步 下主动执行 移出知识库(4.7),而非由下架子流程替代。
5. 状态与操作矩阵(汇总)
以下便于评审与测试映射。已移除「已下架」作为独立矩阵行:下架完成后回到 未发布且已同步(库内保留可编辑副本),与第二行合并理解。
| 当前状态(示意) |
修改 |
同步知识库 |
移出知识库 |
发布 |
下架 |
删除 |
| 未发布且未同步 |
✓ |
✓ |
— |
— |
— |
✓(未同步允许删) |
| 未发布且已同步 |
✗ |
— |
✓ |
✓ |
— |
✗(须先移出或删除时联动库侧清理) |
| 已发布 |
✗ |
— |
— |
— |
✓(回流为未发布+已同步) |
✗ |
补充: 从「已发布」下架后,记录进入 未发布且已同步,操作权限按上表第二行执行(不可改、可发布、可移出;删除规则同 4.4)。
6. 错误与提示约定
- 业务与系统错误宜采用项目统一的
code、msg、data 结构呈现,便于前端与运维识别(不涉及具体协议与路径设计)。
- 文件相关错误(格式不支持、大小超限、上传失败等)宜有可区分的错误分类或文案。
7. 非功能需求(建议)
| 类别 |
建议 |
| 权限 |
菜单与按钮级权限:新增、编辑、删除、发布、下架、同步、移出等是否分角色 |
| 审计 |
关键操作记操作日志(发布、下架、手动同步、移出、删除) |
| 安全 |
上传文件类型校验、存储路径不可预测、下载鉴权 |
| 性能 |
列表查询避免低效模式;大附件若后续需直传或分片再扩展 |
8. 修订说明(相对目录内草稿)
- 将业务状态与《养殖标准管理功能需求》对齐为 上架状态 × 知识库同步状态,给出 合法 / 非法组合 与 下架 ≠ 移出 产品定论;修正草稿中 两条「10.」 的编号问题。
- 增补 §3.1 业务流程概览、§5 操作矩阵;删除、同步、发布、下架与知识库通知语义与养殖标准对齐。
- 标准类型 改为资讯类别编码(
001011 牦牛生长、001012 牦牛出栏;parentCode=001、categoryType=4)。
- 标准简介、封面 与养殖标准对齐为 选填;简介若有内容仍受 50 字上限约束。
- 标准名称 长度为 1~20 字符(与同目录草稿及《养殖标准管理功能需求》一致)。
- 不在本文展开技术栈、库表与接口设计;草稿第 11 条归入 §6;草稿第 12 条技术栈删除(由技术方案或项目统一说明)。