# 数据资产服务中心 — 功能需求

## 1. 文档说明

| 项 | 说明 |
| --- | --- |
| 模块名称 | 数据资产服务中心（牧业产业数据中枢） |
| 目标 | 对牧业产业数据对外发送行为进行登记、检索与台账维护，形成可追溯的**数据发送记录**，支撑数据共享合规留痕、接收方管理与事后审计 |
| 关联系统 | 业务后台；本模块为发送台账管理，**不替代**实际数据传输通道的执行与监控（若需对接消息队列、API 网关等，另出集成需求） |
| 修订依据 | 同目录 `数据资产服务中心-草稿.md`、界面原型（`数据资产服务中心.png`） |

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

---

## 2. 术语与业务对象

### 2.1 数据发送记录

- 一条记录表示**一次**（或一笔登记意义上的）产业数据向外部接收方发送/交付的台账信息。  
- 由业务人员在后台**手工登记**；是否由系统自动写入发送日志（例如接口调用成功后落账）可在实施阶段扩展，**本期默认以界面手工维护为主**。  
- 记录一经保存，可通过列表检索；支持修改、删除（见 **§2.3**）与只读查看。

### 2.2 字段含义

| 字段 | 业务含义 | 格式与单位 |
| --- | --- | --- |
| 发送时间 | 数据发送（或约定交付）发生的时点 | **YYYY-MM-DD HH:mm:ss** |
| 发送内容 | 本次发送的数据说明、摘要或报文描述；宜概括数据主题、范围，便于审计检索 | 文本 |
| 接收方名称 | 接收数据的企业、平台或机构名称 | 文本 |
| 接收方地址 | 接收方对接地址，如接口 URL、文件路径、政务平台编码等；界面须能容纳较长字符串 | 文本 |

### 2.3 删除与可见性

- 删除采用与项目其他业务台账一致的**逻辑删除**：删除后默认不在列表与常规查询中展示，历史数据保留供审计（是否提供「恢复」能力若需实现须单独约定）。  
- **本期不提供**回收站界面；物理清除须单独审批需求。

### 2.4 列表筛选项与记录字段的关系

| 筛选项 | 与记录字段关系 |
| --- | --- |
| 发送日期 | 按记录的**发送时间**的**日期部分**筛选；区间为闭区间（起止日均计入） |
| 接收方名称 | 与记录中「接收方名称」**完全一致**匹配（区分大小写与否由产品统一约定，**默认不区分大小写**） |

---

## 3. 功能范围

**本期实现：**

| 能力 | 说明 |
| --- | --- |
| 数据发送记录列表 | 分页展示；按发送日期区间、接收方名称筛选；见 **§5.1** |
| 新增记录 | 录入发送时间、发送内容、接收方名称、接收方地址；见 **§5.2** |
| 修改记录 | 上述字段均可修改；见 **§5.3** |
| 查看记录 | 只读展示全部字段；见 **§5.4** |
| 删除记录 | 单条删除；见 **§5.5** |
| 工具栏 | 搜索、重置、新增 |

**本期不实现：**

- 实际向接收方地址发起网络请求、重试、回执解析（仅登记台账）  
- 发送内容附件上传、大文件传输、加密打包  
- 接收方主数据独立维护模块（接收方信息随记录录入，不强制预置名录）  
- 发送审批流、多级会签  
- 与产业数据模型各业务表单的自动取数填充「发送内容」  
- 统计大屏、发送成功率实时监控  

---

## 4. 业务流程

```mermaid
flowchart TD
    A[进入数据资产服务中心] --> B{用户操作}
    B -->|登记发送| C[新增数据发送记录]
    C --> D[填写并校验]
    D -->|通过| E[保存入台账]
    D -->|未通过| C
    E --> F[返回列表]
    B -->|检索| G[设置发送日期区间/接收方名称]
    G --> H[搜索列表]
    H --> I{行操作}
    I -->|查看| J[只读详情]
    I -->|编辑| K[修改记录]
    K --> D
    I -->|删除| L[确认后逻辑删除]
    L --> F
    J --> H
    B -->|重置| M[清空筛选条件]
    M --> H
```

**典型使用顺序：**

1. 数据对外发送完成后（或发送同时），由授权用户**新增**一条发送记录，填写时间与接收方信息。  
2. 监管或运维人员按**发送日期**、**接收方名称**检索历史记录。  
3. 发现登记有误时**修改**；重复或无效登记**删除**。  
4. 需要核对原文时**查看**详情，不进行编辑。

---

## 5. 详细功能需求

### 5.1 数据发送记录列表

#### 5.1.1 筛选条件

| 条件 | 规则 |
| --- | --- |
| 发送日期 | 选填；**日期区间**选择（开始日期～结束日期，**含起止日**）；空则不过滤；开始日期不得晚于结束日期 |
| 接收方名称 | 选填；与台账中「接收方名称」**精确**匹配；空则不过滤 |

#### 5.1.2 列表规则

- 默认每页 **20** 条；默认排序：**发送时间倒序**（最近发送在上）。  
- 工具栏提供 **搜索**（按当前条件刷新）、**重置**（清空筛选并刷新）、**新增**（打开新增表单）。  
- 无数据时展示空状态提示，不报错。

#### 5.1.3 展示列（与列表原型一致）

发送时间、发送内容、接收方名称、接收方地址、操作。

| 列 | 展示规则 |
| --- | --- |
| 发送时间 | 完整展示 **YYYY-MM-DD HH:mm:ss** |
| 发送内容 | 过长时省略显示，悬停或进入详情查看全文 |
| 接收方名称 / 接收方地址 | 过长时省略，详情中完整展示 |
| 操作 | **查看**、**编辑**、**删除**（权限见 **§6**） |

---

### 5.2 新增数据发送记录

#### 5.2.1 入口与表单

- 入口：列表工具栏 **新增**。  
- 以弹窗或独立表单页展示（与原型「新增数据发送记录」一致）；标题宜为「新增数据发送记录」。

#### 5.2.2 字段与默认值

| 字段 | 必填 | 默认值 / 录入方式 |
| --- | --- | --- |
| 发送时间 | 是 | 打开表单时默认为**当前系统时间**（用户可改） |
| 发送内容 | 是 | 多行文本录入 |
| 接收方名称 | 是 | 文本录入 |
| 接收方地址 | 是 | 文本录入 |

#### 5.2.3 校验规则（保存前）

| 字段 | 规则 |
| --- | --- |
| 发送时间 | 不得为空；须为合法日期时间 |
| 发送内容 | 不得为空；去除首尾空白后仍不得为空；长度上限宜 **2000** 字符（评审可调整） |
| 接收方名称 | 不得为空；长度宜 **1～128** 字符 |
| 接收方地址 | 不得为空；长度宜 **1～512** 字符 |

校验未通过时**不保存**，并在对应字段给出可理解提示。

#### 5.2.4 保存结果

- 保存成功：关闭表单，刷新列表，可选弱提示「新增成功」。  
- 保存失败：保留用户已填内容，展示失败原因（见 **§7**）。

---

### 5.3 修改数据发送记录

| 项 | 要求 |
| --- | --- |
| 入口 | 列表操作列 **编辑** |
| 可改范围 | **发送时间、发送内容、接收方名称、接收方地址**均可修改 |
| 校验 | 与 **§5.2.3** 相同 |
| 标题 | 宜为「编辑数据发送记录」 |
| 保存成功 | 关闭表单并刷新列表；可选弱提示「修改成功」 |

未修改任何字段直接保存时，允许关闭或提示「无变更」（产品择一，**默认允许直接保存**）。

---

### 5.4 查看数据发送记录

| 项 | 要求 |
| --- | --- |
| 入口 | 列表操作列 **查看** |
| 模式 | **只读**；不提供保存、编辑按钮（编辑须从列表再次进入） |
| 展示字段 | 发送时间、发送内容、接收方名称、接收方地址；宜同时展示登记人、登记时间等审计信息（若系统统一提供） |
| 发送内容 | 全文展示，支持换行保留 |

---

### 5.5 删除数据发送记录

| 项 | 要求 |
| --- | --- |
| 入口 | 列表操作列 **删除** |
| 确认 | 删除前须二次确认（如「是否确认删除该条数据发送记录？」） |
| 效果 | **逻辑删除**；删除后该条不再出现在默认列表中 |
| 权限 | 须具备删除权限（见 **§6**） |

**不得**因单条删除失败而误删其他记录；批量删除本期不实现。

---

## 6. 权限矩阵

| 操作 | 条件 |
| --- | --- |
| 进入模块、查看列表 | 具备列表查询权限 |
| 新增记录 | 具备新增权限 |
| 查看详情 | 具备查询权限（可与列表权限合并） |
| 修改记录 | 具备修改权限 |
| 删除记录 | 具备删除权限 |

权限粒度宜与项目若依菜单按钮一致；**未授权**的用户不显示对应按钮或点击后提示无权限。

---

## 7. 提示与错误约定

采用项目统一提示方式；**不约定** HTTP 状态码与响应字段结构。宜区分：

| 场景 | 处理 |
| --- | --- |
| 必填项未填、长度超限 | 字段级或表单级提示，不提交 |
| 发送日期区间非法（起日晚于止日） | 提示修正区间，不发起列表查询 |
| 新增/修改/删除成功 | 可选成功弱提示 |
| 删除取消 | 无变更 |
| 记录不存在（已被删或无权） | 提示记录不存在并刷新列表 |
| 系统异常 | 通用失败提示，不暴露内部堆栈 |

---

## 8. 非功能需求（建议）

| 类别 | 建议 |
| --- | --- |
| 易用性 | 筛选区与列表分区清晰；新增表单必填项标注；发送时间选择器支持日期+时分秒 |
| 性能 | 列表分页查询；单页默认 20 条，响应宜在常规网络下可接受 |
| 审计 | 记录创建人、创建时间、修改人、修改时间（与平台统一审计字段一致） |
| 双语 | 界面支持汉语 + 藏文（i18n），文案不入业务硬编码 |
| 扩展 | 后续若对接自动发送日志，宜保留与手工登记相同的字段语义，避免两套口径 |

---

## 9. 相对草稿的修订说明

| 草稿内容 | 处理 |
| --- | --- |
| 技术栈、MySQL、RuoYi 版本 | 已移除，归入技术方案 |
| `code`、`msg`、`data` 异常格式 | 已移除，归入技术方案 |
| 条目编号跳号（缺 6、7） | 重整为 §5 分节 |
| 仅罗列增删改查 | 补充术语、范围、流程、校验、权限、删除策略 |
| 「发送日期」筛选与「发送时间」字段 | 明确为按发送时间日期部分区间匹配（**§2.4**） |
| 接收方名称精确匹配 | 保留，并约定默认不区分大小写（**§2.4**） |
| 删除「删除数据」表述模糊 | 明确为逻辑删除（**§2.3、§5.5**） |

---

## 10. 需求追溯

| 能力 | 章节 |
| --- | --- |
| 列表筛选（发送日期区间、接收方名称） | §5.1 |
| 分页与排序 | §5.1.2 |
| 新增（默认值、校验） | §5.2 |
| 修改 | §5.3 |
| 查看 | §5.4 |
| 删除 | §5.5 |
| 权限 | §6 |
| 业务流程 | §4 |
