| 项 | 说明 |
|---|---|
| 模块名称 | 养殖标准管理 |
| 目标 | 对养殖标准进行增删改查、附件与封面管理,并与知识库同步、发布生命周期衔接 |
| 关联系统 | 业务后台(RuoYi)、知识库 |
| 流程修订依据 | 同目录 养殖标准管理功能需求-草稿.md:下架回流、删除与知识库通知等 |
标准类型持久化与接口传参均为 资讯类别编码(varchar)。可选范围由资讯类别子节点维护,本模块取 parentCode=001、categoryType=1:
| 编码 | 名称(示例) |
|---|---|
001001 |
繁育作业 |
001002 |
饲养工作 |
001003 |
免疫程序 |
001004 |
环境调控 |
新增/修改保存时编码须在上述有效集合内;列表筛选为 编码精确匹配。
业务状态宜拆成 两个正交维度(可用两个字段分别持久化,字段名与现有表结构对齐即可),避免出现「单枚举无法表达」的组合。
| 取值 | 含义概要 |
|---|---|
| 未发布 | 未对外发布阶段:含「新建草稿」「未同步下编辑」「已从已发布下架回流」等场景;仅未发布且未同步时可编辑;同步/移出/发布/删除规则见 第 4~5 节 |
| 已发布 | 对外可见或可检索(与产品定义一致);不允许修改;不可直接删除,须先执行 下架 |
下架与「已下架」: 执行「下架」后,业务侧不再将本条持久化为单独的「已下架」终态(与历史「下架即终态」方案区分)。下架完成后,上架状态回到 未发布,知识库同步状态为 已同步(见 4.8)。产品定论: 下架后知识库内仍保留与本标准对应的条目副本(条目不删除,可与「对外发布/检索可见」解耦),故业务侧维持 未发布 + 已同步,允许直接再次发布;若需改内容须先 移出知识库 → 未同步下编辑 → 再同步,无须新建一条养殖标准。
若库表仍保留「已下架」枚举值仅作兼容或审计展示,应在实现与数据字典中注明其与上述流程的关系,避免与「下架回流 = 未发布 + 已同步」冲突。
| 取值 | 含义概要 |
|---|---|
| 未同步 | 知识库中无对应有效条目(或已移出);可执行手动「同步知识库」(仅当上架状态为 未发布 时,见 4.6) |
| 已同步 | 知识库侧已有与本条对应的条目;业务侧禁止编辑(须先移出后再改);未发布时可 发布、移出知识库 |
已同步状态下若要改内容: 须 移出知识库 → 未同步 下完成修改 → 再 同步知识库 → 已同步。禁止在「已同步」下直接改业务数据。
「移出知识库」见 4.7:执行后须将本维度置为 未同步。
以下组合允许作为稳态存在;其余组合(如 已发布 + 未同步)视为 非法,不得在数据层出现,接口须校验。
| 上架状态 | 知识库同步 | 说明 |
|---|---|---|
| 未发布 | 未同步 | 初始或移出后;可手动同步、可编辑;未同步条件下允许删除(见 4.4) |
| 未发布 | 已同步 | 已入库(含手动同步、或已发布下架回流);不可编辑、可发布、可移出;删除规则见 4.4 |
| 已发布 | 已同步 | 发布的前提为已同步(4.8);对外展示中,不可改、不可删,仅可下架 |
说明: 按 4.8,下架完成后目标稳态为 未发布 + 已同步:库内保留可编辑副本,不再单独保留「已下架 + 未同步」作为业务必经终态。与「移出知识库」(4.7,删除/下线库侧条目并置 未同步)区分实现。
操作权限与按钮矩阵仍以第 5 节为准;本节用于库表设计与状态校验。
| 字段 | 规则 |
|---|---|
| 标准名称 | 必填;长度 1~20 个字符(字符计数规则与项目全局一致,如按 Unicode 长度或字节需单独约定) |
| 标准类型 | 必填;单选,取值须为第 2.1 节所列资讯类别编码之一 |
| 标准简介 | 选填;若有内容,长度不超过 50 字(字数口径与项目全局一致,如是否含标点、中英文计数方式) |
| 标准内容 | 必填;通过单个附件上传;允许后缀:pdf、md、doc、docx、xls、xlsx、pptx;单文件 ≤ 30 MB |
| 封面 | 通过单个图片上传;允许后缀:jpg、jpeg、png(若有 webp 等产品需求可追加);单文件 ≤ 10 MB |
必填字段汇总: 标准名称、标准类型、标准内容。
校验:
服务端需校验 MIME/后缀与白名单一致,大小超限返回明确错误码与提示;同名策略(全局唯一或租户内唯一)若业务需要应在本节补充。
pageSize=20),默认首页 pageNum=1;单页条数上限若需限制可与 RuoYi 列表规范对齐(例如上限 100)。id 倒序)可在接口文档中写明。publish_status=0 且 kb_sync_status=0)允许修改。已发布或 已同步 状态下不允许修改(列表/详情不提供编辑入口或仅为只读;调用修改类接口须返回明确业务错误,如「知识库已同步状态不允许修改」)。code、msg 明确可区分,支持用户重试。以下便于开发与测试用例编写(具体 boolean 以实现为准)。已移除「已下架」作为独立矩阵行:下架完成后回到 未发布且已同步(库内保留可编辑副本),与第二行合并理解。
| 当前状态(示意) | 修改 | 同步知识库 | 移出知识库 | 发布 | 下架 | 删除 |
|---|---|---|---|---|---|---|
| 未发布且未同步 | ✓ | ✓ | — | — | — | ✓(未同步允许删) |
| 未发布且已同步 | ✗ | — | ✓ | ✓ | — | ✗(须先移出变为未同步,或删除时联动移出/删库) |
| 已发布 | ✗ | — | — | — | ✓(回流为未发布+已同步) | ✗ |
补充: 从「已发布」下架后,记录进入 未发布且已同步,操作权限按上表第二行执行(不可改、可发布、可移出;删除规则同 4.4)。
code、msg、data(与现有 RuoYi / 全局规范一致)。msg 区分格式不支持、大小超限、上传失败等。| 类别 | 建议 |
|---|---|
| 权限 | 菜单与按钮级权限:新增、编辑、删除、发布、下架、同步、移出等是否分角色 |
| 审计 | 关键操作记操作日志(发布、下架、手动同步、移出、删除) |
| 安全 | 上传文件类型校验、存储路径不可预测、下载鉴权 |
| 性能 | 列表接口避免 N+1;大附件走直传或分片若后续有需要再扩展 |
养殖标准管理功能需求-草稿.md 对齐:未同步允许删除;未发布且已同步须先移出或删除联动知识库处理。kb_sync_status 仍为已同步;彻底清除库侧条目须用户主动 移出知识库(非下架自动完成)。养殖标准管理功能需求-草稿.md 及饲喂/疫病/生长出栏等标准模块字段规则对齐。pdf、md、doc、docx、xls、xlsx、pptx(不再支持旧版 ppt);与 BreedingStandardRules、前端 contentFileExts 及通用上传白名单(含 md)一致。