# 农技课堂 — 接口说明 > 数据视图:`v_agricultural_course`(DDL 见 `sql/biz_v_agricultural_course.sql`)。 > 后端包:`com.ruoyi.web.modules.news`;接口:`BizAppAgriculturalCourseController`。 --- ## 1. 视图 `v_agricultural_course` 仅聚合 **已发布** 记录,字段统一如下: | 视图列 | 说明 | | --- | --- | | `id` | 源业务主键(视频课程/实战培训) | | `title` | 标题 | | `introduction` | 简介 | | `type` | 类型编码(见 **§1.1**) | | `cover_file_url` | 封面 URL | | `content_file_url` | 视频 URL(实战培训多为空) | | `publish_time` | 发布时间 | | `actual_enrolled_count` | 实际报名人数(仅实战培训) | | `planned_head_count` | 计划人数(仅实战培训) | | `registration_start_time` | 报名开始(仅实战培训) | | `registration_end_time` | 报名截止(仅实战培训) | | `training_time` | 培训时间(仅实战培训) | | `expected_outcome` | 预期成果(仅实战培训) | ### 1.1 `type` 取值 | 场景 | `type` 来源 | 示例 | | --- | --- | --- | | 视频课程 | `biz_tech_resource.course_topic` | `005001` 基础养殖 … `005004` 政策解读 | | 实战培训 | `biz_practical_training.training_status` | `006001` 未开始 … `006004` 已截止 | 移动端视频 Tab 传 `005001`–`005004`;实战培训 Tab 传 `006001`–`006004`(常用 `006002` 报名中)。 --- ## 2. 列表接口 **`GET /app/agriculturalCourse/list`** | 参数 | 必填 | 说明 | | --- | --- | --- | | `type` | 是 | 类别编码,见 **§1.1** | | `title` | 否 | 标题模糊 | | `pageNum` | 否 | 默认 1 | | `pageSize` | 否 | 默认 10,最大 50 | 响应 `TableDataInfo`:`rows`、`total`;排序 `publish_time` 降序。 **`rows[]` 主要字段**:`id`、`title`、`introduction`、`type`、`coverFileUrl`、`contentFileUrl`、`publishTime`;实战培训另含 `actualEnrolledCount`、`plannedHeadCount`、`registrationStartTime`、`registrationEndTime`、`trainingTime`、`expectedOutcome`。 示例: ```http GET /app/agriculturalCourse/list?type=005001&pageNum=1&pageSize=10 GET /app/agriculturalCourse/list?type=006002&title=牧业 ``` 页面参考:`ruoyi-ui-app/package-a/agri-classroom/index.vue`。