西藏巴青项目

生长与出栏标准管理功能需求.md 15KB

生长与出栏标准管理 — 功能需求

1. 文档说明

说明
模块名称 生长与出栏标准管理
目标 对生长与出栏标准进行增删改查、正文附件与封面管理,并与知识库同步、发布生命周期衔接
关联系统 业务后台、知识库
流程修订依据 同目录 生长与出栏标准管理功能需求-草稿.md;《养殖标准管理功能需求》中业务状态、生命周期、下架回流、删除与知识库通知等语义(本模块与之对齐,领域文案按生长与出栏调整)

本文档仅描述功能需求与业务规则,不涉及库表结构、接口路径、请求体字段命名及技术栈选型。


2. 术语与状态

2.1 标准类型(资讯类别编码,单选)

标准类型持久化与接口传参均为 资讯类别编码varchar)。可选范围由资讯类别子节点维护,本模块取 parentCode=001categoryType=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 节矩阵 为准。

  1. 新建:录入必填项并上传正文(及可选封面)→ 初始为 未发布 + 未同步
  2. 首次入库:在 未发布 + 未同步 下执行「同步知识库」→ 未发布 + 已同步
  3. 迭代编辑:仅在 未发布 + 未同步 下允许修改;已同步须先移出(步骤 7)再编辑。未同步保存仅更新业务侧,仍依赖步骤 2。
  4. 发布:仅在 未发布 + 已同步 下允许 → 已发布 + 已同步
  5. 下架:仅在 已发布 下允许 → 回到 未发布 + 已同步(库内保留条目,非移出)。
  6. 再发布 / 纠错再入库:已同步可直接重复步骤 4;若需改内容则 移出 → 编辑 → 同步 → 发布无须新建记录)。
  7. 彻底移出知识库:在 未发布 + 已同步 下主动「移出」→ 未发布 + 未同步
  8. 删除:在 未同步 下允许直接删除(含删存储文件与通知知识库删除侧条目);若当前为 未发布 + 已同步,须先执行步骤 7,或在「删除」流程中 原子联动 完成库侧清理后再删(见 4.4)。

4. 详细功能需求

4.1 新增长生与出栏标准

字段 规则
标准名称 必填;长度 1~20 个字符(字符计数规则与项目全局一致)
标准类型 必填;单选,取值须为第 2.1 节所列资讯类别编码之一
标准简介 选填;若有内容,长度不超过 50 字(字数口径与项目全局一致)
标准内容 必填;通过单个附件上传;允许后缀:pdfmddocdocxxlsxlsxpptpptx;单文件 ≤ 30 MB
封面 选填;通过单个图片上传;允许后缀:jpgjpegpng(若产品要求支持 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. 错误与提示约定

  • 业务与系统错误宜采用项目统一的 codemsgdata 结构呈现,便于前端与运维识别(不涉及具体协议与路径设计)。
  • 文件相关错误(格式不支持、大小超限、上传失败等)宜有可区分的错误分类或文案。

7. 非功能需求(建议)

类别 建议
权限 菜单与按钮级权限:新增、编辑、删除、发布、下架、同步、移出等是否分角色
审计 关键操作记操作日志(发布、下架、手动同步、移出、删除)
安全 上传文件类型校验、存储路径不可预测、下载鉴权
性能 列表查询避免低效模式;大附件若后续需直传或分片再扩展

8. 修订说明(相对目录内草稿)

  • 将业务状态与《养殖标准管理功能需求》对齐为 上架状态 × 知识库同步状态,给出 合法 / 非法组合下架 ≠ 移出 产品定论;修正草稿中 两条「10.」 的编号问题。
  • 增补 §3.1 业务流程概览§5 操作矩阵;删除、同步、发布、下架与知识库通知语义与养殖标准对齐。
  • 标准类型 改为资讯类别编码(001011 牦牛生长、001012 牦牛出栏;parentCode=001categoryType=4)。
  • 标准简介封面 与养殖标准对齐为 选填;简介若有内容仍受 50 字上限约束。
  • 标准名称 长度为 1~20 字符(与同目录草稿及《养殖标准管理功能需求》一致)。
  • 在本文展开技术栈、库表与接口设计;草稿第 11 条归入 §6;草稿第 12 条技术栈删除(由技术方案或项目统一说明)。