export interface BaseResponse {
    id: number;
    createTime: string;
    updateTime: string;
    createBy?: string;
    updateBy?: string;
    enabled: boolean;
    version: number;
}

export interface BaseQuery {
    pageNum?: number;
    pageSize?: number;
    sortField?: string;
    sortOrder?: string;
}

export interface Response<T> {
    code: number;
    message: string;
    data: T;
    success: boolean;
}

export interface BaseRequest {
    enabled?: boolean;
}

export interface PageParams {
    pageNum: number;  // 页码(从1开始)
    pageSize: number; // 每页大小
    sortField?: string;  // 排序字段
    sortOrder?: string;  // 排序方向
}

// 分页响应数据
export interface Page<T> {
    content: T[];  // 数据内容
    totalElements: number;  // 总记录数
    totalPages: number;    // 总页数
    size: number;         // 每页大小
    number: number;       // 当前页码(从0开始)
    numberOfElements: number;  // 当前页记录数
    first: boolean;       // 是否第一页
    last: boolean;        // 是否最后一页
    empty: boolean;       // 是否为空
    pageable: {
        pageNumber: number;
        pageSize: number;
        sort: {
            empty: boolean;
            sorted: boolean;
            unsorted: boolean;
        };
    };
}