大屏 — 畜牧资源统计 — 功能需求
1. 文档说明
| 项 |
说明 |
| 模块名称 |
大屏畜牧资源统计(大屏端「畜牧资源」专题页) |
| 使用场景 |
领导参观、指挥调度、对外展示等大屏端只读看板 |
| 目标 |
按统计年份与统计日,集中展示 AI 诊断(兽医、机构) 及 移动端 AI 助手 的使用规模、活跃趋势、用户结构、提问分类与模型应答质量,形成「畜牧资源 / 智能问诊」成效一屏总览 |
| 数据来源 |
牧业疫病诊疗服务 — AI 诊断:AI 问诊会话、问答消息、AI 诊断使用用户台账;数据由兽医/机构后台、移动端用户日常使用 AI 助手产生,大屏不录入、不修改 |
| 修订依据 |
同目录 大屏畜牧资源功能需求-草稿.md;大屏页面布局见 ruoyi-screen 畜牧资源专题页;指标口径与《AI 诊断(兽医、机构)功能需求》v1.1 对齐 |
| 文档版本 |
1.3(分时热度改为距当前最近 24 小时;对齐实现) |
| 关联维护 |
会话、提问、AI 回复须在业务端(管理端 AI 诊断、移动端 AI 助手)产生;大屏通过刷新或重新进入获取最新结果 |
命名说明: 本专题在大屏导航中称为「畜牧资源」,本期统计对象为 AI 智能问诊使用数据,与移动端「畜牧资源」资讯列表(专家团队、技术成果等)不是同一业务,二者勿混用。
本文档仅描述功能需求、业务规则与展示逻辑,不涉及数据库表结构、接口路径、请求体字段、统一响应格式及技术实现选型。
2. 术语与口径
2.1 统计年份
- 大屏顶部(或全局筛选区)提供统计年份选择,格式为自然年 YYYY(如
2026)。
- 进入大屏时默认选中当前自然年。
- 变更统计年份后,凡标注「与 Y 相关」的区块须同步按新年份重算;不得出现区块之间年份不一致。
- 近 7 日活跃度、分时使用热度(最近 24 小时)按 §2.2 统计日 / §2.3 统计时刻 计算,不随 Y 切换(见 §2.4)。
2.2 统计日
记用户打开或刷新大屏时的系统日期为统计日(自然日,项目时区与后台一致,默认 Asia/Shanghai)。
2.3 统计时刻
记打开或刷新大屏时的系统时间为统计时刻(用于「截至当前」「过去 24 小时」等含时分秒的窗口)。
2.4 指标类型与年份、日期关系
| 指标类型 |
代表指标 |
与 Y / 统计日关系 |
| Y 年内累计 |
累计使用用户、累计会话数、累计提问量、平均响应时长、分类占比、模型调用次数、会话提问分布、会话状态分布、高频关键词 |
仅统计 Y 年内纳入 §2.5 的数据 |
| 统计日当天 |
今日活跃用户、日新增用户、今日会话数、今日提问量 |
以统计日为自然日边界;当 Y 不等于当前自然年时,上述四项按 0 展示(或展示 — 并标注「仅当前年有效」,产品择一,全文统一) |
| 滚动窗口 |
近 7 日会话数/提问量趋势 |
以统计日为终点向前 7 日;与 Y 无关 |
| 最近 24 小时分时 |
分时使用热度(24 整点小时) |
以统计时刻为锚点向前 24 个整点小时;与 Y 无关 |
2.5 AI 问诊数据纳入规则
对齐《AI 诊断(兽医、机构)功能需求》:
| 项 |
规则 |
| 会话范围 |
问诊类型 = AI 问诊 的会话(与兽医在线接诊、专家问诊严格隔离) |
| 有效会话 |
未逻辑删除;已隐藏会话纳入统计(产品确认,见 §2.18) |
| 有效消息 |
未逻辑删除;归属上述 AI 问诊会话 |
| 时间归属(按年 Y) |
会话以创建时间落在 Y 年内(Y-01-01~Y-12-31,含起止日)纳入「年内」统计;消息以发送时间落在 Y 年内纳入「年内」统计 |
| 时间归属(按日) |
统计日当天:以自然日 00:00:00~23:59:59 判定创建、发送、最后活跃是否属于当天 |
| 提问人 |
会话上的提问人(兽医、机构人员或移动端登录用户);按 提问人 ID 去重 计「人数」 |
2.6 问答消息角色(统计用)
| 角色 |
含义 |
本期统计用途 |
| 提问人 |
用户发出的提问(文本/图片/视频/语音等) |
用户提问量、提问分类、高频关键词原文 |
| AI 助手 |
系统生成的 AI 回复 |
提问量(统计对象,见下)、平均响应时长、会话状态(正常/失败) |
「提问量」展示名称(产品确认): 界面卡片、图表维度名称统一使用「提问量」;统计对象为 AI 助手回复消息条数(一条回复计 1 次),与草稿 AI 侧消息计数一致。不改称为「AI 应答量」。用户侧发出的提问条数仅用于提问分类、高频关键词等统计,总览与趋势中的「提问量」不指用户提问条数。
2.7 提问量(AI 回复)与响应时长
| 指标 |
规则 |
| 提问量(次) |
Y 年内或统计日内,AI 助手回复(sender_role=3、sender_user_id=0)消息条数,以消息 create_time 归属日/年(一条回复计 1 次);展示名见 §2.6 |
| 平均响应时长(秒) |
Y 年内、已记录耗时数值的 AI 应答(含耗时为 0,不排除 0)求算术平均;未记录耗时(空值)不参与平均;分母为 0 时展示 0 |
| 正常应答 |
AI 应答已记录耗时数值(含 0) |
| 调用失败 |
AI 应答未记录耗时(空值;含超时、网关失败等未落耗时场景) |
2.8 用户指标(核心总览)
| 指标 |
规则 |
| 累计使用用户(人) |
Y 年内至少参与过 1 条有效 AI 问诊会话的提问人去重人数 |
| 今日活跃用户(人) |
统计日内,biz_consult_session 中 consult_type=2 且 update_time 落在统计日的 提问人去重人数 |
| 日新增用户(人) |
统计日内 create_time、update_time 均落在统计日的 提问人去重人数,且该提问人在统计日 00:00:00 之前未出现在任意 AI 问诊会话中 |
| 累计会话数(次) |
Y 年内创建的有效 AI 问诊会话条数 |
| 今日会话数(次) |
统计日内创建的有效 AI 问诊会话条数 |
2.9 AI 诊断使用用户(新老用户结构)
来源于 AI 诊断使用用户台账(用户首次/末次使用 AI 的时间由业务在新建会话、发消息时维护):
| 类型 |
判定规则 |
| 新用户 |
末次使用时间与首次使用时间的间隔 ≤ 180 个自然日(半年) |
| 老用户 |
上述间隔 > 180 个自然日 |
| 统计范围 |
台账中全部有效用户条数(不随 Y 切换);展示为人数及占两者合计的占比 |
2.10 AI 提问分类
与《AI 诊断》快捷入口及提问分类一致:
| 编码 |
展示名称 |
| 1 |
养殖技巧 |
| 2 |
疾病诊疗 |
| 3 |
用药指导 |
| 4 |
设备操作 |
| 项 |
规则 |
| 统计对象 |
Y 年内 AI 助手回复条数,分类取自同会话内不晚于该条回复的最近一条提问人消息的 ai_category;未登记归入 「未分类」(与草稿「按 AI 消息 + ai_category 统计」一致) |
| 占比 |
某分类 AI 回复条数 ÷ Y 年内全部 AI 回复条数;有数据时各分类占比之和为 100%(允许四舍五入误差);分母为 0 时走 §7.1 空态 |
| 模型调用分析 |
按同一分类维度统计 Y 年内各分类的 AI 回复条数(柱状/条形等,与占比同源) |
2.11 近 7 日活跃度窗口
- 区间:[统计日 − 6 日, 统计日],共 7 个自然日(含统计日当天)。
- 会话数:该日创建的有效 AI 问诊会话数。
- 提问量:该日
create_time 落在当日的 AI 助手回复条数(§2.6)。
- 缺日无数据时该日按 0 展示;不省略刻度。
2.12 分时使用热度窗口(最近 24 小时)
- 区间:以打开或刷新大屏时的统计时刻(§2.3)所在整点为右端点,向前连续 24 个整点小时(含右端点小时);不使用「统计日 0~23 时」自然日窗口。
- 分桶:共 24 桶;横轴标签
HH:mm(如 15:00);鼠标悬停展示完整时刻 yyyy-MM-dd HH:mm 及会话数、提问量。
- 会话数:该整点小时内创建的有效 AI 问诊会话数。
- 提问量:该整点小时内
create_time 落在该小时的 AI 助手回复条数(§2.6)。
2.13 单次会话 AI 应答数量分布
对 Y 年内每条有效 AI 问诊会话,统计该会话内 AI 应答条数,再落入下列档位:
| 档位 |
AI 应答条数(含边界) |
| 轻度 |
1~2 条 |
| 一般 |
3~4 条 |
| 活跃 |
5~10 条 |
| 深度 |
大于 10 条 |
展示各档位会话数及占 Y 年内会话总数的占比;某档位为 0 仍展示。
2.14 会话状态分布(AI 应答维度)
在 Y 年内全部 AI 应答中:
| 状态 |
规则 |
| 正常应答 |
§2.7 已记录有效耗时 |
| 调用失败 |
§2.7 未记录有效耗时 |
展示各状态条数及占比;两者之和为 Y 年内 AI 应答总量(与 §2.7 分母一致)。
2.15 热点问题类型榜单
- 按 §2.10 对 Y 年内 AI 回复分类统计条数及占比。
- 取条数(占比)最高的前 5 个分类;同条数时按该分类下最近一条 AI 回复时间倒序(对齐草稿「按时间倒序取前 5 条」的排序语义)。
2.16 高频关键词
| 项 |
规则 |
| 语料 |
Y 年内、AI 问诊会话中提问人发送的文本类提问(仅文本,图片/视频/语音不参与);内容非空 |
| 提取 |
从语料中提取高频词(中文分词或业务约定规则,实施阶段定稿);过滤纯标点、单字无意义词等(停用词表可配置,本文档不展开) |
| 排序 |
按出现次数降序 |
| 展示 |
前 30 个关键词及次数;可词云或列表,以原型为准 |
2.17 单位与展示
| 项 |
约定 |
| 人 |
用户数 |
| 次 |
会话数、应答量、调用次数 |
| 秒 |
平均响应时长;建议保留 1 位小数或整数,全文统一 |
| % |
占比、新老用户结构;建议保留 1 位小数或整数 %,全文统一 |
2.18 产品确认(v1.1 / v1.2 增补)
| # |
确认项 |
约定 |
| 1 |
总览/趋势中的「提问量」名称 |
界面统一使用「提问量」;统计对象为 AI 助手回复条数 |
| 2 |
已隐藏会话 |
纳入统计 |
| 3 |
提问分类占比分母 |
Y 年内全部 AI 回复条数(含未分类);有数据时占比之和 100% |
| 4 |
分时热度窗口 |
距当前最近 24 小时整点桶(§2.12),非统计日 0~23 自然小时 |
| 7 |
今日活跃 / 日新增 |
今日活跃按会话 update_time;日新增须 create_time 与 update_time 均在统计日 且此前无会话(§2.8) |
| 8 |
分类 / 模型调用 / 热点 |
统计 AI 回复条数 及分类归因(§2.10);占比分母为年内全部 AI 回复 |
| 5 |
平均响应时长 |
已记录耗时的应答含 0 参与平均;不排除 0 |
| 6 |
高频关键词语料 |
仅文本类提问 |
3. 功能范围与边界
3.1 范围内(本期)
- 统计年份筛选与整页刷新;
- 核心数据总览(8 项指标卡);
- 活跃度趋势(近 7 日,会话数 + 提问量双维度);
- 用户结构分析(新/老用户);
- 提问分类占比(饼图/环形图);
- 模型调用分析(按分类的提问次数);
- 分时使用热度(近 24 小时);
- 单次会话提问数量分布(实为会话内 AI 应答条数分档占比);
- 会话状态分布(正常应答 / 调用失败);
- 热点问题榜单(Top5 分类);
- 高频关键词(Top30);
- 无数据、加载中、加载失败等状态展示。
3.2 范围外
- AI 诊断对话、会话隐藏、大模型配置与调用的增删改;
- 移动端「畜牧资源」资讯内容的维护与统计;
- 在线接诊(兽医)、专家问诊数据统计;
- 导出、打印;下钻后台 AI 诊断菜单(若后续增加外链须单独评审);
- 按提问人、机构、地域等多维筛选(本期仅统计年份全局筛选,及固定的 7 日/24 小时窗口);
- 大屏端权限与网关策略(由部署约定)。
4. 业务流程概览
flowchart TD
A[打开大屏畜牧资源页] --> B[默认当前统计年份 Y]
B --> C[记录统计日与统计时刻]
C --> D[加载各区块数据]
D --> E[渲染总览与图表]
F[用户切换 Y] --> D
G[兽医机构或移动端使用 AI 助手] --> H[产生会话与问答]
H --> I[刷新或重新进入大屏]
I --> D
典型使用顺序:
- 用户进入大屏畜牧资源页,系统默认 Y = 当前年,并确定统计日、统计时刻。
- 与 Y 相关的区块按 Y 重算;近 7 日、近 24 小时区块按当前统计日/时刻重算。
- 用户切换 Y → 全页 Loading → 各区块同步更新(滚动窗口仍按最新统计日/时刻)。
- 业务端产生新会话、提问或 AI 回复后,大屏通过重新进入、手动刷新或约定自动轮播周期更新(不要求秒级实时推送)。
4.1 数据汇聚关系
flowchart TB
subgraph src [牧业疫病诊疗服务]
AI[AI 诊断会话与消息]
DU[AI 诊断使用用户]
end
subgraph screen [大屏畜牧资源]
H[各统计区块]
end
AI --> H
DU --> H
5. 页面结构与区块需求
布局以大屏畜牧资源专题页为准:左右两栏,左栏侧重总览与趋势,右栏侧重热度、分布与榜单。
5.1 全局:统计年份
| 项 |
规则 |
| 控件 |
年份选择(宜覆盖已有数据年份及当前年前后若干年) |
| 默认值 |
当前自然年 |
| 联动 |
变更后触发整页数据重载;展示统一加载状态 |
| 统计日提示 |
可选展示「统计日 yyyy-MM-dd」(便于理解「今日」类指标) |
| 只读 |
无维护类按钮;可有刷新 |
5.2 区块一:核心数据总览
位置: 左栏顶部。
形式: 指标卡片网格(建议 3×2 或原型等价布局)。
| 序号 |
指标名称 |
单位 |
统计口径 |
| 1 |
累计使用用户 |
人 |
§2.8 |
| 2 |
今日活跃用户 |
人 |
§2.8;§2.4 |
| 3 |
日新增用户 |
人 |
§2.8;§2.4 |
| 4 |
累计会话数 |
次 |
§2.8 |
| 5 |
今日会话数 |
次 |
§2.8;§2.4 |
| 6 |
累计提问量 |
次 |
§2.6、§2.7 |
| 7 |
今日提问量 |
次 |
统计日内提问量(AI 回复条数);§2.4 |
| 8 |
平均响应时长 |
秒 |
§2.7 |
无数据: Y 年内无任何 AI 问诊会话时,累计类可为 0;今日类在 Y 非当前年时按 §2.4 处理。
5.3 区块二:活跃度趋势
| 项 |
规则 |
| 标题 |
活跃度趋势(中藏双语以原型为准) |
| 维度切换 |
会话数(次)、提问量(次)(§2.6、§2.7)两个维度可切换或双系列展示 |
| 统计窗口 |
§2.11 近 7 日 |
| 图表类型 |
折线图或面积图(以原型为准) |
| 横轴 |
7 个自然日(建议 MM-dd) |
| 纵轴 |
次数 |
| 交互 |
悬停展示日期 + 数值 |
无数据: 7 日内均为 0 时,图表可为全 0 折线或 §7.1 空态。
5.4 区块三:用户结构分析
| 项 |
规则 |
| 统计对象 |
§2.9 新用户、老用户 |
| 图表类型 |
饼图/环形图或对比条(以原型为准) |
| 展示内容 |
各类人数及占新+老合计的占比 |
| 与 Y |
不随 Y 切换(全量台账快照) |
无数据: 台账为空时 §7.1 空态。
5.5 区块四:提问分类占比
| 项 |
规则 |
| 统计口径 |
§2.10 |
| 图表类型 |
饼图/环形图 |
| 展示内容 |
各分类提问条数及占比(分母为全部提问,§2.10);含 未分类;占比之和 100% |
| 与 Y |
随 Y 切换 |
5.6 区块五:模型调用分析
| 项 |
规则 |
| 统计口径 |
§2.10 各分类提问条数 |
| 图表类型 |
柱状图/条形图(以原型为准) |
| 与区块四关系 |
数据同源、展示形式不同;分类维度与名称须一致 |
| 与 Y |
随 Y 切换 |
5.7 区块六:分时使用热度
| 项 |
规则 |
| 位置 |
右栏顶部 |
| 维度 |
会话数、提问量(§2.12) |
| 统计窗口 |
距当前最近 24 小时整点窗口(§2.12) |
| 横轴 / 悬停 |
横轴 HH:mm;悬停 yyyy-MM-dd HH:mm + 会话数、提问量 |
| 图表类型 |
折线图/柱状图(以原型为准) |
| 与 Y |
无关;随刷新更新统计时刻 |
5.8 区块七:单次会话提问数量分布
| 项 |
规则 |
| 含义 |
会话内 AI 应答条数 分档分布(§2.13) |
| 图表类型 |
饼图/条形图(以原型为准) |
| 展示 |
四档会话数及占 Y 年内会话总数占比 |
| 与 Y |
随 Y 切换 |
5.9 区块八:会话状态分布
| 项 |
规则 |
| 统计口径 |
§2.14 |
| 图表类型 |
饼图/环形图(以原型为准) |
| 展示 |
正常应答、调用失败的条数及占比 |
| 与 Y |
随 Y 切换 |
5.10 区块九:热点问题榜单
| 项 |
规则 |
| 统计口径 |
§2.15 |
| 展示形式 |
列表或排行条;每项含分类名称、条数、占比(至少含名称 + 占比或条数) |
| 条数 |
最多 5 条 |
| 与 Y |
随 Y 切换 |
5.11 区块十:高频关键词
| 项 |
规则 |
| 统计口径 |
§2.16 |
| 展示形式 |
词云或 Top 列表(以原型为准) |
| 条数 |
30 |
| 与 Y |
随 Y 切换 |
无数据: Y 年内无文本提问时 §7.1 空态。
6. 图表与展示通用规则
| 项 |
规则 |
| 单位 |
界面须标注 §2.17 约定单位 |
| 双语标题 |
原型含藏文副标题时保留,不改变统计口径 |
| 只读 |
无编辑、发消息、隐藏会话类操作 |
| 一致性 |
总览「累计会话数」与分档分布分母、状态分布总量应与 §2.5 口径一致(允许四舍五入误差) |
| 「提问量」 |
展示名与统计对象见 §2.6、§2.18#1 |
7. 异常、空态与刷新
7.1 业务数据空态
| 场景 |
展示要求 |
| Y 年内无 AI 问诊数据 |
总览累计类为 0;依赖年内数据的图表走空态或全 0(产品统一) |
| Y 年无文本提问 |
高频关键词区块空态 |
| 近 7 日 / 24 小时无数据 |
对应图表全 0 或空态 |
| 用户台账为空 |
用户结构空态 |
| 分类仅「未分类」 |
占比 100% 或单列展示,不报错 |
7.2 加载与失败
| 场景 |
展示要求 |
| 切换年份加载中 |
整页或分区块 Loading,避免旧年残留 |
| 加载失败 |
明确失败提示,支持重试 |
7.3 数据刷新
- 大屏为只读;业务端产生新问答后,须通过重新进入、手动刷新或约定自动轮播周期更新(周期建议 1~5 分钟,由实施配置)。
- 不要求与业务变更秒级同步。
8. 验收要点(功能)
| 编号 |
场景 |
通过标准 |
| SY-XM-01 |
默认年份 |
进入页默认当前年;与 Y 相关区块口径一致 |
| SY-XM-02 |
切换年份 |
切换 Y 后年内区块同步更新;7 日/24 小时仍按统计日/时刻 |
| SY-XM-03 |
核心总览 |
8 项指标与 §2.8、§2.7 手工抽样一致 |
| SY-XM-04 |
活跃度趋势 |
7 日双维度与 §2.11 一致 |
| SY-XM-05 |
用户结构 |
新老划分符合 §2.9(180 天);不随 Y 误变 |
| SY-XM-06 |
分类占比与模型分析 |
分类名称与《AI 诊断》一致;占比之和为 100%(有数据时) |
| SY-XM-07 |
24 小时热度 |
最近 24 小时整点窗口、24 桶与 §2.12 一致;悬停显完整时刻 |
| SY-XM-08 |
会话分档与状态 |
分档、正常/失败与 §2.13、§2.14 一致 |
| SY-XM-09 |
热点榜单 |
Top5 为分类维度,非单条消息时间序 |
| SY-XM-10 |
高频词 |
Top30;语料为 Y 年内文本提问 |
| SY-XM-11 |
业务补数后刷新 |
新会话/问答后刷新可见 |
| SY-XM-12 |
只读 |
无业务维护按钮 |
| SY-XM-13 |
与接诊隔离 |
不含在线接诊会话数据 |
9. 修订记录
| 版本 |
日期 |
说明 |
| 1.0 |
2026-05-20 |
由草稿优化:补术语、流程、十区块需求与验收;对齐 AI 诊断业务;不涉及库表与接口;草稿文件不修改 |
| 1.1 |
2026-05-20 |
§2.18 产品确认:提问量名称、隐藏会话计入、分类占比 100% 分母、过去 24 小时窗口、耗时含 0、关键词仅文本 |
| 1.2 |
2026-05-20 |
对齐草稿修订:§2.8 update_time 今日活跃、日新增双时间+历史未出现;§2.10~2.15 AI 回复分类统计;§2.12 统计日 24 自然小时桶;消息时间以 create_time 为主 |
| 1.3 |
2026-07-04 |
§2.12 分时使用热度改为距统计时刻最近 24 整点小时;前端悬停显 yyyy-MM-dd HH:mm |
10. 相对草稿的优化说明
| 草稿问题 |
处理方式 |
| 直接写表名、字段、SQL |
改为 §2 业务口径与纳入规则 |
| 「统计当前年份」与「截至当前时间」混用 |
统一 §2.1、§2.4:年内指标随 Y;今日类随统计日;7 日/24 小时滚动 |
| 「提问量」统计 AI 回复行 |
§2.6 展示名固定「提问量」,对象为 AI 回复条数 |
| 分类占比分母 |
§2.10 全部 AI 回复,占比之和 100% |
| 24 小时窗口 |
§2.12 距统计时刻最近 24 整点小时(v1.3) |
| 平均耗时排除 0 |
§2.7 含 0 参与平均 |
| 隐藏会话 |
§2.5 明确纳入 |
| 关键词语料 |
§2.16 仅文本提问 |
| 分类占比/模型分析写在 AI 消息上 |
v1.2:AI 回复条数 + 提问人 ai_category 归因(§2.10) |
| 热点榜单「比例 + 时间倒序 5 条」 |
Top5 分类;条数优先、同分按最近 AI 回复时间倒序(§2.15) |
| 日新增用户 |
v1.2:create_time 与 update_time 均在统计日,且此前无会话(§2.8) |
| 今日活跃 |
v1.2:会话 update_time 在统计日(§2.8) |
| 用户结构未说明半年 |
§2.9 明确 180 自然日 |
| 未区分大屏「畜牧资源」与 app 资讯 |
§1 命名说明 |
| 技术栈、接口、异常响应格式 |
不写入本文档 |
| 参考诊疗模块 |
数据来源与隔离规则见 §2.5、§3.2 |