import type { PageParam, PageResult } from '@vben/request'; import { requestClient } from '#/api/request'; export namespace Demo03StudentApi { /** 学生课程信息 */ export interface Demo03Course { id: number; // 编号 studentId?: number; // 学生编号 name?: string; // 名字 score?: number; // 分数 } /** 学生班级信息 */ export interface Demo03Grade { id: number; // 编号 studentId?: number; // 学生编号 name?: string; // 名字 teacher?: string; // 班主任 } /** 学生信息 */ export interface Demo03Student { id: number; // 编号 name?: string; // 名字 sex?: number; // 性别 birthday?: Date; // 出生日期 description?: string; // 简介 demo03courses?: Demo03Course[]; demo03grade?: Demo03Grade; } } /** 查询学生分页 */ export function getDemo03StudentPage(params: PageParam) { return requestClient.get>( '/infra/demo03-student/page', { params }, ); } /** 查询学生详情 */ export function getDemo03Student(id: number) { return requestClient.get( `/infra/demo03-student/get?id=${id}`, ); } /** 新增学生 */ export function createDemo03Student(data: Demo03StudentApi.Demo03Student) { return requestClient.post('/infra/demo03-student/create', data); } /** 修改学生 */ export function updateDemo03Student(data: Demo03StudentApi.Demo03Student) { return requestClient.put('/infra/demo03-student/update', data); } /** 删除学生 */ export function deleteDemo03Student(id: number) { return requestClient.delete(`/infra/demo03-student/delete?id=${id}`); } /** 导出学生 */ export function exportDemo03Student(params: any) { return requestClient.download('/infra/demo03-student/export-excel', params); } // ==================== 子表(学生课程) ==================== /** 获得学生课程列表 */ export function getDemo03CourseListByStudentId(studentId: number) { return requestClient.get( `/infra/demo03-student/demo03-course/list-by-student-id?studentId=${studentId}`, ); } // ==================== 子表(学生班级) ==================== /** 获得学生班级 */ export function getDemo03GradeByStudentId(studentId: number) { return requestClient.get( `/infra/demo03-student/demo03-grade/get-by-student-id?studentId=${studentId}`, ); }