wz-management-backend/docs/art_school_api_for_frontend.md

164 lines
5.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 学校模块接口与字段说明(给前端)
## 1. 数据字段一览
### 1.1 schoolart_school
用于学校基础信息展示与编辑。
- `school_id` 学校主键ID
- `main_code` 学校编码(国标代码)
- `main_name` 官方全称
- `short_name` 简称
- `province` 省份
- `city` 城市
- `district` 区县
- `university_type` 院校类型(综合/工科/艺术/财经等)
- `education_level` 学历层次(本科/专科)
- `school_nature` 办学性质(公办/民办/中外合作)
- `supervisor_dept` 主管部门
- `remark` 备注
### 1.2 school_detailart_school_detail
用于学校详情展示与编辑JSONB 字段不直接返回)。
基础展示字段:
- `detail_id` 详情主键ID
- `school_id` 学校ID
- `introduction` 学校介绍(富文本)
- `school_icon` 校徽
- `back_ground` 背景图
- `address` 地址
- `contact` 联系方式
- `email` 邮箱
- `website` 官网
- `postcode` 邮编
- `establish_year` 建校年份
- `campus_area_mu` 占地面积(亩)
- `library_collection` 图书馆藏书量
- `male_ratio` 男生比例
- `female_ratio` 女生比例
- `is_985` 是否985
- `is_211` 是否211
- `is_double_first_class` 是否双一流
- `is_key_university` 是否省重点
- `is_public` 是否公办
- `tags` 学校标签数组
- `student_count` 在校学生数
- `teacher_count` 教职工人数
- `master_point` 硕士点数量
- `doctor_point` 博士点数量
- `key_major_count` 国家级重点专业数
- `employment_rate` 就业率
- `satisfaction_rate` 院校满意度
- `univ_id` 外部院校ID
- `master_proportion_rate` 考研率
- `abroad_proportion_rate` 出国率
- `has_regular` 是否有普通本科
- `has_junior` 是否有专科
- `has_master` 是否有硕士点
- `is_double_high_plan` 是否双高计划
- `is_strong_plan` 是否强基计划
- `twsdl_rank` 泰晤士中国排名
- `xyh_rank` 校友会排名
- `wsl_rank` 武书连排名
- `usdalu_rank` US中国排名
- `qsdalu_rank` QS排名
- `combined_score` 综合评分
- `overall_rank` 综合排名
- `env_satisfaction` 环境满意度
- `env_vote` 环境满意度投票数
- `live_satisfaction` 生活满意度
- `live_vote` 生活满意度投票数
- `combined_satisfaction` 综合满意度(原始分)
- `combined_vote` 综合满意度投票数
- `teachers` 师资力量描述
- `scholarship` 奖学金说明
- `grant_desc` 助学金说明
- `canteen` 食堂说明
- `dormitory` 宿舍说明
- `master_explain` 硕士点说明
- `doctor_explain` 博士点说明
隐藏字段(仅通过单独接口获取):
- `satisfaction_json` 满意度明细(JSONB)
- `scholarship_json` 奖学金数组(JSONB)
- `special_major_json` 特色专业(JSONB)
- `employment_report_json` 就业报告(JSONB)
- `photo_json` 图片(JSONB)
- `accommodation_json` 建筑/配套(JSONB)
- `subject_reviews_json` 学科评估(JSONB)
- `research_json` 科研信息(JSONB)
- `univ_majors_json` 专业标签(JSONB)
- `univ_postgraduate_json` 保研信息(JSONB)
## 2. 接口说明
### 2.1 基础信息接口(已存在)
- 学校列表:`GET /art/school/list`
- 学校详情:`GET /art/school/{schoolId}`
- 新增学校:`POST /art/school`
- 修改学校:`PUT /art/school`
- 详情列表:`GET /art/schoolDetail/list`
- 详情详情:`GET /art/schoolDetail/{detailId}`
- 新增详情:`POST /art/schoolDetail`
- 修改详情:`PUT /art/schoolDetail`
说明:上述 school_detail 的返回默认不包含 JSONB 隐藏字段。
### 2.2 JSONB 单独接口(需新增)
以下接口用于前端按需加载/编辑 JSONB 字段:
1. 满意度明细
- `GET /art/schoolDetail/json/satisfaction?schoolId=`
- `PUT /art/schoolDetail/json/satisfaction`
- 请求体:`{ "schoolId": 1, "satisfactionJson": {...} }`
2. 奖学金数组
- `GET /art/schoolDetail/json/scholarship?schoolId=`
- `PUT /art/schoolDetail/json/scholarship`
- 请求体:`{ "schoolId": 1, "scholarshipJson": [...] }`
3. 特色专业
- `GET /art/schoolDetail/json/specialMajor?schoolId=`
- `PUT /art/schoolDetail/json/specialMajor`
- 请求体:`{ "schoolId": 1, "specialMajorJson": [...] }`
4. 就业报告
- `GET /art/schoolDetail/json/employmentReport?schoolId=`
- `PUT /art/schoolDetail/json/employmentReport`
- 请求体:`{ "schoolId": 1, "employmentReportJson": [...] }`
5. 学校图片
- `GET /art/schoolDetail/json/photo?schoolId=`
- `PUT /art/schoolDetail/json/photo`
- 请求体:`{ "schoolId": 1, "photoJson": {...} }`
6. 建筑/配套
- `GET /art/schoolDetail/json/accommodation?schoolId=`
- `PUT /art/schoolDetail/json/accommodation`
- 请求体:`{ "schoolId": 1, "accommodationJson": [...] }`
7. 学科评估
- `GET /art/schoolDetail/json/subjectReviews?schoolId=`
- `PUT /art/schoolDetail/json/subjectReviews`
- 请求体:`{ "schoolId": 1, "subjectReviewsJson": [...] }`
8. 科研信息
- `GET /art/schoolDetail/json/research?schoolId=`
- `PUT /art/schoolDetail/json/research`
- 请求体:`{ "schoolId": 1, "researchJson": {...} }`
9. 专业标签
- `GET /art/schoolDetail/json/univMajors?schoolId=`
- `PUT /art/schoolDetail/json/univMajors`
- 请求体:`{ "schoolId": 1, "univMajorsJson": [...] }`
10. 保研信息
- `GET /art/schoolDetail/json/univPostgraduate?schoolId=`
- `PUT /art/schoolDetail/json/univPostgraduate`
- 请求体:`{ "schoolId": 1, "univPostgraduateJson": [...] }`
## 3. 前端展示建议
- 详情主页面展示“基础字段 + 文本说明字段”即可。
- JSONB 字段按需加载,独立页/弹窗编辑更清晰。