畜牧科技资源管理 — 功能需求
1. 文档说明
| 项 |
说明 |
| 模块名称 |
畜牧科技资源管理(牧业养殖科技服务) |
| 目标 |
在业务后台统一维护专家、技术成果、共享仪器、视频课程四类科技资源,支持分库检索、发布至移动端展示,并为科技咨询预约、仪器借用、在线学习及专家端登录等下游能力提供主数据 |
| 关联系统 |
业务后台;移动端资源展示;平台账号体系 |
| 修订依据 |
同目录 畜牧科技资源管理功能需求-草稿.md、界面原型(列表 Tab、新增动态表单) |
本文档仅描述功能需求与业务规则,不涉及数据库表结构、接口路径、请求体字段命名、HTTP 报文、权限标识命名及技术栈选型。
2. 术语与业务对象
2.1 科技资源(一条台账记录)
- 表示可在后台登记、经发布后在移动端对外展示的一类牧业养殖科技服务资源。
- 由授权用户在后台手工维护;外部系统自动落账可在实施阶段扩展,本期默认手工登记为主。
- 每条记录归属唯一资源类型;类型在首次保存后不可变更(若需改类型,应删除后按新类型重新登记)。
2.2 资源类型(固定四类)
类型编码来自资讯类别 parentCode=004、categoryType=7(接口 GET /category/informationCategory/children),落库字段 resource_type 为 varchar,存叶子 code。
code |
类型名称 |
业务定位 |
典型用途 |
004005 |
专家 |
个体科技服务专家 |
展示专业能力与服务时段;支持分配登录账号 |
004006 |
技术成果 |
科研成果或适用技术条目 |
展示研究方向、技术要点与优势,供浏览与引用 |
004007 |
共享仪器 |
可预约借用的仪器设备 |
展示仪器信息、地点、预约流程与借用计费 |
004008 |
视频课程 |
在线培训课程 |
提供课程简介与视频内容,供移动端学习 |
用户不可自定义第五类或修改上述类型含义(扩展须单独立项;须在 biz_information_category 维护后由接口返回)。
2.3 界面组织方式
| 形态 |
规则 |
| 分库列表 |
四个 Tab:专家库、技术成果库、共享仪器库、视频课程库;切换 Tab 即切换当前资源类型,列表仅展示该类型 |
| 资源类型筛选 |
顶部下拉与 Tab 联动:切换 Tab 时下拉同步;在下拉选择类型时切换到对应 Tab |
| 动态表单 |
新增/编辑时按资源类型切换字段集;不得混用其他类型的必填项 |
2.4 发布状态与移动端
用发布状态控制移动端是否展示,并与后台「能否改删」绑定(见 §6)。
| 状态 |
含义 |
移动端 |
后台维护(摘要) |
| 未发布 |
已保存,未对外开放 |
不可见 |
可查看、编辑、删除、发布;专家可「分配账号」(未分配过) |
| 已发布 |
已对移动端生效 |
可见、可被下游引用 |
仅可查看、下架;不可编辑、删除、新分配账号 |
| 已下架 |
曾发布,已撤回对外展示 |
不可见 |
权限同未发布:可编辑、删除、再次发布;列表宜显示「已下架」标签 |
允许的状态迁移:
stateDiagram-v2
[*] --> 未发布: 新增保存
未发布 --> 已发布: 发布
已发布 --> 已下架: 下架
已下架 --> 已发布: 再次发布
已发布期间:修改、删除、分配账号均应拒绝,并提示先下架。
2.5 删除与可见性
- 采用逻辑删除:删除后默认不在列表展示,数据保留供审计;本期无回收站。
- 已发布须先下架再删除。
- 已分配账号(专家):删除资源时同时删除关联的平台用户账号(与草稿 §10 一致)。
- 若存在有效预约、借用或学习记录等下游引用,宜禁止删除并提示「存在关联业务,无法删除」(默认建议)。
2.6 列表筛选
| 筛选项 |
规则 |
| 资源类型 |
与当前 Tab 一致;精确匹配 |
| 资源名称 |
选填;对展示名称(专家姓名/成果名称/仪器名称/课程标题)模糊匹配 |
| 发布状态 |
选填;未发布 / 已发布 / 已下架 精确筛选;空则不过滤 |
3. 功能范围
3.1 本期实现
| 能力 |
说明 |
| 四类资源 Tab 列表 |
分页、筛选;§5.1 |
| 新增 |
动态表单;保存为 未发布;§5.2~§5.7 |
| 修改 |
仅 未发布、已下架;§5.8 |
| 查看 |
全状态只读;§5.9 |
| 逻辑删除 |
仅 未发布、已下架;§5.10 |
| 发布 / 下架 |
同步/撤回移动端;§5.11 |
| 分配账号 |
仅专家;每条仅成功一次;§5.12 |
| 附件上传 |
图片、视频按类型要求;§5.2 |
3.2 本期不实现
- 地图标点(共享仪器库原型有入口,本期隐藏或置灰并说明后续提供)
- 移动端页面本身、仪器借用执行、视频播放统计、专家排班自动调度
- 技术成果 / 共享仪器 / 视频课程的账号分配
- 批量导入导出、资源类型自定义
4. 业务流程
4.1 模块总览
flowchart TD
A[进入模块] --> B[选择 Tab / 资源类型]
B --> C[列表查询]
C --> D{操作}
D --> E[新增 → 未发布]
D --> F[查看]
D --> G[编辑]
D --> H[删除]
D --> I[发布]
D --> J[下架]
D --> K[分配账号]
G --> L{未发布或已下架?}
L -->|否| M[拒绝]
L -->|是| N[保存]
H --> O{未发布或已下架?}
O -->|否| P[拒绝]
O -->|是| Q[逻辑删除]
I --> R[已发布 → 同步移动端]
J --> S[已下架 → 撤回移动端]
4.2 典型运营顺序
- 在对应 Tab 新增,上传照片/视频/封面(如有)→ 保存为 未发布。
- (可选)专家 分配账号。
- 发布 → 移动端可见。
- 内容需调整 → 下架 → 编辑 → 再次发布。
- 废弃资源 → 若仍 已发布 则先 下架 → 删除。
4.3 新增流程
用户点击 新增 → 必选资源类型 → 展示对应字段集 → 校验通过 → 保存为 未发布(类型保存后不可改)。
5. 详细功能需求
5.1 列表与查询
| 项 |
规则 |
| Tab |
四个固定 Tab,与四类资源一一对应 |
| 分页 |
默认每页 20 条 |
| 排序 |
默认 创建时间倒序 |
| 展示列 |
通用:资源类型、展示名称、发布状态、创建时间、操作。分类型(与原型一致,长文本可省略):专家介绍、联系方式、隶属单位、详细地址、研究方向、仪器型号、课程主题等 |
| 工具栏 |
搜索、重置、新增 |
| 操作列 |
见 §6;各状态均宜有 查看 |
5.2 新增(通用规则)
| 项 |
规则 |
| 资源类型 |
必选;决定表单字段;保存后不可改 |
| 初始状态 |
未发布 |
| 图片 |
单图;jpg / jpeg / png;≤ 10MB(专家照片、仪器照片、技术成果封面、课程封面等适用) |
| 视频 |
仅视频课程:单文件;mp4;≤ 30MB |
| 联系方式 |
该类型要求的字段若填写须符合大陆手机号格式 |
| 文本 |
字数按字符计;提交前 trim;空字符串视为未填 |
5.3 字段适用矩阵
| 业务字段 |
专家 |
技术成果 |
共享仪器 |
视频课程 |
| 展示名称 |
✓ |
✓ |
✓ |
✓ |
| 主图/照片 |
○ |
— |
○ |
— |
| 封面 |
— |
○ |
— |
○ |
| 介绍/摘要类长文本 |
○ |
○(多项) |
○ |
○ |
| 联系方式 |
○ |
— |
○ |
— |
| 隶属单位 |
○ |
— |
○ |
— |
| 详细地址 |
○ |
— |
— |
— |
| 服务区域 |
○ |
— |
— |
— |
| 收费标准/借用金额(元/小时,正数) |
○ |
— |
○ |
— |
| 服务时段 / 服务周日 |
○ |
— |
○ |
— |
| 研究方向 |
— |
✓ |
— |
— |
| 关键技术原理 / 技术优势 |
— |
○ |
— |
— |
| 完成单位 |
— |
○ |
— |
— |
| 仪器型号 |
— |
— |
○ |
— |
| 存放地点 / 预约流程 / 负责人 |
— |
— |
○ |
— |
| 课程主题 |
— |
— |
— |
✓ |
| 视频文件 |
— |
— |
— |
✓ |
○ 表示选填;✓ 表示该类型下必填(若列有对应字段)。各类型资料类字段见 §5.4~§5.7。
5.4 专家
| 字段 |
规则 |
| 专家姓名 |
必填;1~10 字 |
| 专家照片 |
选填;若上传须符合 §5.2 图片规则 |
| 专家介绍 |
选填;若有内容 ≤500 字;宜包含资质、从业年限、专业领域、研究方向、技术特长等 |
| 联系方式 |
选填;若填写须为大陆手机号 |
| 隶属单位 |
选填;若有内容 ≤20 字 |
| 详细地址 |
选填;若有内容 ≤100 字 |
| 服务区域 |
选填;若有内容 ≤100 字 |
| 收费标准 |
选填;若填写须为正数;单位 元/小时 |
| 服务时段 |
选填;若填写须为 HH:mm 起止;结束时间 ≥ 开始时间 |
| 服务周日 |
选填;多选 周一至周日 |
5.5 技术成果
| 字段 |
规则 |
| 成果名称 |
必填;1~20 字 |
| 研究方向 |
必填;可输入下拉;预设:繁育、饲养、防疫、粪污处理;可输入其他方向;1~20 字 |
| 成果摘要 |
选填;若有内容 ≤500 字 |
| 关键技术原理 |
选填;若有内容 ≤500 字 |
| 技术优势 |
选填;若有内容 ≤500 字 |
| 完成单位 |
选填;若有内容 ≤20 字 |
| 封面 |
选填;§5.2 图片规则 |
5.6 共享仪器
| 字段 |
规则 |
| 仪器名称 |
必填;1~10 字 |
| 仪器型号 |
选填;若有内容 ≤10 字 |
| 仪器照片 |
选填;若上传须符合 §5.2 图片规则 |
| 仪器介绍 |
选填;若有内容 ≤500 字 |
| 隶属单位 |
选填;若有内容 ≤20 字 |
| 存放地点 |
选填;若有内容 ≤100 字 |
| 预约流程 |
选填;若有内容 ≤500 字 |
| 负责人 |
选填;若有内容 ≤10 字 |
| 联系方式 |
选填;若填写须为大陆手机号 |
| 借用金额 |
选填;若填写须为正数;单位 元/小时 |
| 服务时段 |
选填;若填写须为 HH:mm 起止;结束时间 ≥ 开始时间 |
| 服务周日 |
选填;多选 周一至周日 |
5.7 视频课程
| 字段 |
规则 |
| 课程标题 |
必填;1~20 字 |
| 课程简介 |
选填;若有内容 ≤500 字 |
| 课程主题 |
必填;下拉单选;选项来自 GET /category/informationCategory/children?parentCode=005&categoryType=8(展示 name,落库 code,如 005001 基础养殖) |
| 视频文件 |
必填;§5.2 视频规则 |
| 封面 |
选填;§5.2 图片规则 |
5.8 修改
| 项 |
规则 |
| 允许 |
未发布、已下架 |
| 拒绝 |
已发布 → 「已发布资源请先下架后再编辑」 |
| 范围 |
除资源类型外,该类型全部字段可改;校验同新增 |
| 保存后 |
不自动发布;替换图片/视频/封面时,旧附件按平台文件管理惯例处理 |
5.9 查看
- 任意状态可查看;只读展示该类型全部业务字段、发布状态、是否已分配账号(专家)、创建/更新等审计信息。
- 已发布:不提供编辑入口;未发布 / 已下架 可提供「编辑」。
5.10 逻辑删除
| 项 |
规则 |
| 允许 |
未发布、已下架 |
| 拒绝 |
已发布 → 须先下架 |
| 方式 |
本期单条;二次确认;确认文案展示资源名称 |
| 副作用 |
del_flag 置删除;删除照片/封面/视频物理文件;若专家 account_assigned=已分配,同步删除 sys_user 对应账号 |
5.11 发布与下架
| 操作 |
前置 |
结果 |
| 发布 |
未发布 或 已下架;数据完整且校验通过 |
已发布;同步移动端 |
| 发布(拒绝) |
当前已为 已发布 |
「该资源已发布」 |
| 下架 |
当前为 已发布 |
已下架;撤回移动端 |
| 下架(拒绝) |
未发布 或 已下架 |
「仅已发布资源可下架」 |
发布、下架操作宜二次确认。已下架 记录允许 再次发布。
5.12 分配账号(专家)
| 项 |
规则 |
| 范围 |
仅 专家库 |
| 次数 |
每条仅成功分配一次;已分配后不可重复 |
| 默认登录名 |
专家姓名汉字拼音首字母(小写、连续拼接)+ 该条记录数据库主键 id(如「张专家」、id=12 → zzj12) |
| 默认角色 |
权限字符 exp(sys_role.role_key);须预置对应角色,常见 role_id=101 |
| 与发布状态 |
未发布、已下架 且未分配时可操作;已发布 不可新分配 |
| 失败处理 |
返回明确原因;不记为已分配,在满足前置条件下可重试(仍仅允许一次成功) |
5.13 地图标点(本期不实现)
共享仪器库原型含「地图标点」入口;本期不提供。预留:后续维护地理坐标,与存放地点信息并存。
6. 操作与权限矩阵
| 操作 |
未发布 |
已发布 |
已下架 |
| 查看 |
✓ |
✓ |
✓ |
| 编辑 |
✓ |
— |
✓ |
| 删除 |
✓ |
— |
✓ |
| 发布 |
✓ |
— |
✓ |
| 下架 |
— |
✓ |
— |
| 分配账号 |
✓(未分配) |
— |
✓(未分配) |
列表级 新增、搜索、重置 需具备对应操作权限;无权限时按钮不展示或禁用。
7. 与下游衔接
| 下游能力 |
本模块提供 |
| 移动端资源展示 |
仅 已发布 且未删除的记录 |
| 科技咨询 / 专家预约 |
专家的服务时段、服务周日、收费标准 |
| 仪器借用预约 |
共享仪器的服务时段、服务周日、借用金额、预约流程说明 |
| 在线学习 |
已发布视频课程的视频与课程信息 |
| 专家端登录 |
「分配账号」产生的平台账号 |
8. 提示约定(示例)
| 场景 |
示例文案 |
| 必填 / 超长 |
「请填写【成果名称】」「【专家介绍】不能超过 500 字」 |
| 手机号 / 时段 / 金额 |
「联系方式格式不正确」「结束时间不能早于开始时间」「收费标准须为正数」 |
| 附件格式 / 大小 |
「仅支持 jpg/jpeg/png,且不超过 10MB」「仅支持 mp4,且不超过 30MB」 |
| 发布状态 |
「已发布资源请先下架后再操作」「该资源已发布」「仅已发布资源可下架」 |
| 账号 |
「该资源已分配账号,不可重复分配」「账号创建失败:{原因}」 |
9. 非功能建议
- 按按钮粒度控制操作权限。
- 发布、下架、分配账号、删除等关键操作记录审计日志。
- 四类分库列表在常规数据量下分页响应可接受。
- 界面用语与原型、移动端保持一致;支持国际化扩展。
10. 修订记录
| 版本 |
说明 |
| 2.0 |
依据草稿与原型整理:发布状态机、操作矩阵、字段矩阵、业务流程图;明确发布/下架同步移动端;Tab 与筛选联动;专家分配角色 101;地图标点本期不做;剔除技术栈、接口与数据库相关表述 |
| 2.1 |
对齐草稿 §10:逻辑删除时联动删除专家已分配平台账号;§11 明确仅专家库分配账号 |
| 2.2 |
§5.12:登录名改为拼音首字母+id;角色按 role_key=exp(对齐草稿 §11) |