art-management-fronted/docs/school-major-campus-api-req...

111 lines
2.3 KiB
Markdown

# 专业/宿舍关联校区接口评估与需求
## 1. 当前可用能力评估
### 1.1 宿舍管理(可支撑)
- 已有校区列表接口:`GET /art/schoolCampus/list`
- 支持入参 `schoolId`,可按学校查询校区。
- 已有宿舍新增/修改接口:
- `POST /art/schoolDorm`
- `PUT /art/schoolDorm`
- 入参已包含 `campusId`,可直接做“校区下拉选择后提交关联”。
### 1.2 专业管理(当前不可完全支撑)
- 专业接口当前为:
- `GET /art/schoolMajor/list`
- `POST /art/schoolMajor`
- `PUT /art/schoolMajor`
- 现有专业模型/类型无 `campusId` 字段,仅有 `schoolId`、`collegeId` 等。
- 结论:前端可加载校区列表,但无法通过现有专业接口保存“专业 -> 校区”关联。
## 2. 专业管理所需接口改造(建议)
## 2.1 方案:在专业主模型中新增 `campusId`(单校区关联)
### 专业列表查询
- URL: `GET /art/schoolMajor/list`
- 新增查询入参:
- `campusId` `number|string` 可选
- 返回字段新增:
- `campusId` `number|string`
- `campusName` `string`(建议返回,便于表格展示)
#### 查询入参示例
```json
{
"pageNum": 1,
"pageSize": 10,
"schoolId": 1001,
"campusId": 2001,
"majorName": "视觉传达设计"
}
```
#### 查询返回 rows 单项示例
```json
{
"majorId": 3001,
"schoolId": 1001,
"campusId": 2001,
"campusName": "主校区",
"collegeId": 5001,
"majorName": "视觉传达设计"
}
```
### 专业新增
- URL: `POST /art/schoolMajor`
- 新增必填入参:
- `campusId` `number|string`
#### 新增入参示例
```json
{
"schoolId": 1001,
"campusId": 2001,
"collegeId": 5001,
"majorCode": "130502",
"majorName": "视觉传达设计",
"educationLevel": "本科",
"durationYears": 4
}
```
### 专业修改
- URL: `PUT /art/schoolMajor`
- 新增必填入参:
- `campusId` `number|string`
#### 修改入参示例
```json
{
"majorId": 3001,
"schoolId": 1001,
"campusId": 2002,
"collegeId": 5001,
"majorName": "视觉传达设计"
}
```
## 3. 统一返回格式建议
### 列表接口返回(保持现有 RuoYi 分页结构)
```json
{
"code": 200,
"msg": "操作成功",
"rows": [],
"total": 0
}
```
### 新增/修改接口返回
```json
{
"code": 200,
"msg": "操作成功",
"data": true
}
```