# 大屏 — 畜牧资源统计 — 功能需求

## 1. 文档说明

| 项 | 说明 |
| --- | --- |
| 模块名称 | 大屏畜牧资源统计（大屏端「畜牧资源」专题页） |
| 使用场景 | 领导参观、指挥调度、对外展示等**大屏端**只读看板 |
| 目标 | 按**统计年份**与**统计日**，集中展示 **AI 诊断（兽医、机构）** 及 **移动端 AI 助手** 的使用规模、活跃趋势、用户结构、提问分类与模型应答质量，形成「畜牧资源 / 智能问诊」成效一屏总览 |
| 数据来源 | **牧业疫病诊疗服务 — AI 诊断**：AI 问诊会话、问答消息、AI 诊断使用用户台账；数据由兽医/机构后台、移动端用户日常使用 AI 助手产生，大屏**不录入、不修改** |
| 修订依据 | 同目录 `大屏畜牧资源功能需求-草稿.md`；大屏页面布局见 `ruoyi-screen` 畜牧资源专题页；指标口径与《AI 诊断（兽医、机构）功能需求》v1.1 对齐 |
| **文档版本** | **1.6**（增农村三资/问题上报/产量趋势/疫苗接种四区块） |
| 关联维护 | 会话、提问、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 项指标卡：三资、产量、免疫率、兽医与科技人员）；
- **农村三资数据**（经营性/非经营性/固定资产合计，万元）；
- **三资具体问题上报**（所选年按问题等级占比与次数，饼图）；
- **畜牧产品产量**（所选年最大月及之前各月肉/奶对比柱图）；
- **疫苗接种**（所选年最大月免疫率半环图 + 应免/实免）；
- **活跃度趋势**等 AI 问诊区块接口仍返回，页面以产业四区块为主展示；
- 无数据、加载中、加载失败等状态展示。

### 3.2 范围外

- AI 诊断对话、会话隐藏、大模型配置与调用的**增删改**；
- 移动端「畜牧资源」资讯内容的维护与统计；
- 在线接诊（兽医）、专家问诊数据统计；
- 导出、打印；下钻后台 AI 诊断菜单（若后续增加外链须单独评审）；
- 按提问人、机构、地域等多维筛选（本期仅**统计年份**全局筛选，及固定的 7 日/24 小时窗口）；
- 大屏端权限与网关策略（由部署约定）。

---

## 4. 业务流程概览

```mermaid
flowchart TD
    A[打开大屏畜牧资源页] --> B[默认当前统计年份 Y]
    B --> C[记录统计日与统计时刻]
    C --> D[加载各区块数据]
    D --> E[渲染总览与图表]
    F[用户切换 Y] --> D
    G[兽医机构或移动端使用 AI 助手] --> H[产生会话与问答]
    H --> I[刷新或重新进入大屏]
    I --> D
```

**典型使用顺序：**

1. 用户进入大屏畜牧资源页，系统默认 **Y = 当前年**，并确定**统计日**、**统计时刻**。  
2. 与 **Y** 相关的区块按 **Y** 重算；近 7 日、近 24 小时区块按**当前统计日/时刻**重算。  
3. 用户切换 **Y** → 全页 Loading → 各区块同步更新（滚动窗口仍按最新统计日/时刻）。  
4. 业务端产生新会话、提问或 AI 回复后，大屏通过**重新进入、手动刷新或约定自动轮播周期**更新（**不要求**秒级实时推送）。

### 4.1 数据汇聚关系

```mermaid
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 区块一：核心数据总览

**位置：** 左栏顶部。  
**形式：** 指标卡片网格（8 项，4×2）。

| 序号 | 指标名称 | 单位 | 统计口径 |
| --- | --- | --- | --- |
| 1 | 经营性固定资产 | 万元 | `biz_rural_three_assets` 全县各村 `operating_fixed_assets` 合计；**不随年份切换** |
| 2 | 非经营性固定资产 | 万元 | 同上 `non_operating_fixed_assets`；**不随年份切换** |
| 3 | 肉产量 | 万吨 | `biz_livestock_product_output` 所选年最大填报月全县 `meat_output` 合计 |
| 4 | 奶产量 | 万吨 | 同上 `milk_output` |
| 5 | 免疫率 | % | `biz_vaccination_data` 所选年最大填报月 `(SUM实免/SUM应免)×100`，保留 2 位小数 |
| 6 | 兽医 | 人 | `biz_medical_resource`：`resource_type=004001` 且 `del_flag=0` 的条数 |
| 7 | 科技特派员 | 人 | `biz_tech_service_personnel.envoy_total_count` |
| 8 | 农业事业单位 | 人 | `biz_tech_service_personnel.agri_total_count` |

**无数据：** 无三资/产量/接种填报或人员台账时对应指标为 **0**。

---

### 5.2.1 区块：农村三资数据

| 项 | 规则 |
| --- | --- |
| 数据表 | `biz_rural_three_assets` |
| 指标 | 经营性固定资产、非经营性固定资产、固定资产（均为全县各村合计，万元） |
| 与 **Y** | **不随年份切换** |

### 5.2.2 区块：三资具体问题上报

| 项 | 规则 |
| --- | --- |
| 数据表 | `biz_three_assets_problem_report` |
| 筛选 | 上报时间落在所选年（至 `statDate`） |
| 展示 | 按问题等级（一般/重点/重大）统计数量（次）与占比；饼图 |
| 无数据 | 各等级 0，空态 |

### 5.2.3 区块：畜牧产品产量

| 项 | 规则 |
| --- | --- |
| 数据表 | `biz_livestock_product_output` |
| 范围 | 所选年最大填报月 N；展示 1～N 月全县每月肉产量、奶产量对比柱图（万吨） |
| 无数据 | 无最大月时序列为空 |

### 5.2.4 区块：疫苗接种

| 项 | 规则 |
| --- | --- |
| 数据表 | `biz_vaccination_data` |
| 口径 | 所选年最大填报月：应免数和、实免数和；免疫率 `(实免和/应免和)×100`，2 位小数 |
| 展示 | 半环/圆环进度 + 数值标签（免疫率、应免数、实免数） |

---

### 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 项与 **§5.2** 手工抽样一致 |
| 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.6 | 2026-07-24 | 新增农村三资、问题上报饼图、产量月度柱图、疫苗接种半环四区块 |
| 1.5 | 2026-07-24 | 核心总览扩展为 8 项：增免疫率、兽医、科技特派员、农业事业单位 |
| 1.4 | 2026-07-24 | 核心总览改为三资固定资产 + 所选年最大月肉/奶产量 |
| 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** |
