数据视图:
v_livestock_resource(DDL 见sql/biz_v_livestock_resource.sql)。
后端包:com.ruoyi.web.modules.news;接口:BizAppLivestockResourceController。
医疗资源类型编码与biz_medical_resource.resource_type(资讯类别parentCode=004、categoryType=6);科技资源与biz_tech_resource.resource_type(categoryType=7)一致。
v_livestock_resource仅聚合 publish_status = 1(已发布) 记录,字段统一如下:
| 视图列 | 说明 |
|---|---|
id |
源表主键(biz_medical_resource.id 或 biz_tech_resource.id) |
source_type |
来源表:1 = 医疗资源,2 = 科技资源 |
title |
资源名称 |
introduction |
简介 |
type |
资源类型编码(resource_type) |
cover_file_url |
封面/主图访问 URL |
content_file_url |
视频/附件访问 URL(可为 null) |
publish_time |
发布时间 |
唯一标识:列表项以 source_type + id 组合区分(两源表主键可能重复)。
| 来源表 | source_type |
type |
说明 |
|---|---|---|---|
biz_medical_resource |
1 |
004002 |
专家团队 |
biz_tech_resource |
2 |
004006 |
技术成果 |
biz_tech_resource |
2 |
004008 |
视频课程 |
biz_tech_resource |
2 |
004007 |
共享仪器 |
type畜牧资源页 4 个 Tab 与类型编码一一对应:
| Tab | type |
|---|---|
| 专家团队 | 004002 |
| 技术成果 | 004006 |
| 共享仪器 | 004007 |
| 视频课程 | 004008 |
| 项 | 值 |
|---|---|
| Method | GET |
| URI | /app/livestockResource/list |
| 鉴权 | 移动端登录态(与 /app/* 其它接口一致) |
Query 参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
type |
string | 是 | 资源类型编码,须为 §1.2 中四种之一 |
title |
string | 否 | 标题关键字,对 title 列模糊匹配 |
pageNum |
int | 否 | 页码,默认 1;小于 1 时按 1 处理 |
pageSize |
int | 否 | 每页条数,默认 10;小于 1 时按 10 处理;最大 50 |
示例:
GET /app/livestockResource/list?type=004006&pageNum=1&pageSize=10
GET /app/livestockResource/list?type=004008&title=养殖
RuoYi 分页 TableDataInfo:code、msg、rows(当前页数据)、total(符合条件的总条数)。排序固定为 publish_time 降序。
rows[] 单条字段(驼峰)
| 字段 | 类型 | 说明 |
|---|---|---|
id |
long | 源表主键 |
sourceType |
int | 1 医疗 / 2 科技 |
title |
string | 标题 |
introduction |
string | 简介 |
type |
string | 资源类型编码 |
coverFileUrl |
string | 封面 URL,可空 |
contentFileUrl |
string | 视频/附件 URL,可空 |
publishTime |
string | 发布日期,yyyy-MM-dd |
示例
{
"code": 200,
"msg": "查询成功",
"total": 1,
"rows": [
{
"id": 101,
"sourceType": 2,
"title": "高原牦牛繁育技术成果",
"introduction": "成果简介示例",
"type": "004006",
"coverFileUrl": "/profile/upload/cover.png",
"contentFileUrl": "/profile/upload/demo.mp4",
"publishTime": "2026-05-10"
}
]
}
| 场景 | 结果 |
|---|---|
type 为空 |
「资源类型不能为空」 |
type 非视图涵盖的四种编码 |
「资源类型无效,请选择畜牧资源支持的类型」 |
校验实现:LivestockResourceTypeValidator(LivestockResourceRules:004002、004006、004007、004008)。
| 项 | 值 |
|---|---|
| Method | GET |
| URI | /app/livestockResource/{id} |
| 鉴权 | 移动端登录态 |
路径 / Query 参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
id |
long | 是 | 源表主键(与列表项 id 一致) |
type |
int | 是 | 来源表:1 = biz_medical_resource,2 = biz_tech_resource(与列表项 sourceType 一致) |
注意:详情接口的
type表示来源表(1/2);列表接口的type表示资源类型编码(如004006),二者含义不同。
示例:
GET /app/livestockResource/101?type=2
GET /app/livestockResource/11?type=1
标准 AjaxResult:code、msg、data。
type |
data 类型 |
说明 |
|---|---|---|
1 |
BizMedicalResource |
biz_medical_resource 全部字段(驼峰 JSON) |
2 |
BizTechResource |
biz_tech_resource 全部字段(驼峰 JSON;不含 expertRating) |
仅返回 已发布(publish_status=1)、未删除且纳入 v_livestock_resource 的资源:
resource_type = 004002resource_type ∈ {004006, 004007, 004008}医疗实体含 consultModes / consultModesList、serviceWeekdays / serviceWeekdaysList 等;科技实体含 serviceWeekdays / serviceWeekdaysList 等,字段定义见管理端「畜牧医疗资源」「畜牧科技资源」模块。
示例(type=2,节选)
{
"code": 200,
"msg": "操作成功",
"data": {
"id": 101,
"resourceType": "004006",
"resourceName": "高原牦牛繁育技术成果",
"introduction": "成果简介示例",
"coverFileUrl": "/profile/upload/cover.png",
"videoFileUrl": "/profile/upload/demo.mp4",
"publishStatus": 1,
"publishTime": "2026-05-10 08:00:00"
}
}
| 场景 | 结果 |
|---|---|
type 为空 |
「来源类型不能为空」 |
type 非 1/2 |
「来源类型无效,请使用 1(医疗)或 2(科技)」 |
| 记录不存在 / 未发布 / 非视图范围 | 「该资源已下线或不存在」 |
| 能力 | 说明 |
|---|---|
| 列表唯一键 | 优先 sourceType + '-' + id;虚拟列表 key-field="id" 使用合成键 |
| 列表缩略图 | coverFileUrl |
| 视频/附件 | contentFileUrl(为空则不展示;专家团队 004002 视图侧 content_file_url 为 null) |
| 分类筛选 | 请求参数 type = Tab 对应编码 |
| 分类名称展示 | 医疗:GET /category/informationCategory/children?parentCode=004&categoryType=6(004001~004004);科技:categoryType=7(004005~004008)取 name |
| 分页 / 上拉加载 | 首屏 pageNum=1;加载更多时 pageNum++,当 rows.length < pageSize 或已加载条数 ≥ total 时无更多数据 |
| 详情跳转 | GET /app/livestockResource/{id}?type={sourceType} 拉取源表全字段;列表项 sourceType+id 传参 |
页面参考:ruoyi-ui-app/package-a/livestock-resources/index.vue。
| 日期 | 说明 |
|---|---|
| 2026-05-20 | 初版:GET /app/livestockResource/list;视图 v_livestock_resource 与四类 Tab |
| 2026-06-09 | 视图新增 id、source_type;列表响应增加 id、sourceType |
| 2026-06-09 | 新增 GET /app/livestockResource/{id}?type=1\|2 详情,按源表返回全字段 |