/**
 * Namespace Api
 *
 * All backend api type
 */
declare namespace Api {
  /**
   * namespace Art
   *
   * backend api module: "Art"
   */
  namespace Art {
    /** school detail */
    type SchoolDetail = Common.CommonRecord<{
      /** 主键ID */
      detailId: CommonType.IdType;
      /** 租户编号 */
      tenantId: CommonType.IdType;
      /** 关联学校主表ID */
      schoolId: CommonType.IdType;
      /** 学校详细介绍（大文本） */
      introduction: string;
      /** 院校图标 */
      schoolIcon: string;
      /** 学校地址 */
      address: string;
      /** 联系电话 */
      contact: string;
      /** 邮箱 */
      email: string;
      /** 官网地址 */
      website: string;
      /** 邮编 */
      postcode: string;
      /** 建校时间(年) */
      establishYear: number;
      /** 占地面积(亩) */
      campusAreaMu: number;
      /** 图书馆藏书量 */
      libraryCollection: number;
      /** 男生比例(%) */
      maleRatio: number;
      /** 女生比例(%) */
      femaleRatio: number;
      /** 是否985(0/1) */
      is985: number;
      /** 是否211(0/1) */
      is211: number;
      /** 是否双一流(0/1) */
      isDoubleFirstClass: number;
      /** 是否重点大学(0/1) */
      isKeyUniversity: number;
      /** 标签 */
      tags: string[];
      /** 学生人数 */
      studentCount: number;
      /** 教师人数 */
      teacherCount: number;
      /** 硕士点数量 */
      masterPoint: number;
      /** 博士点数量 */
      doctorPoint: number;
      /** 重点专业数量 */
      keyMajorCount: number;
      /** 就业率(%) */
      employmentRate: number;
      /** 满意度(%) */
      satisfactionRate: number;
      /** 外部学校ID */
      univId: number;
      /** 删除标志（0代表存在 1代表删除） */
      delFlag: string;
      /** 备注 */
      remark: string;
    }>;

    /** school detail search params */
    type SchoolDetailSearchParams = CommonType.RecordNullable<
      Pick<
        Api.Art.SchoolDetail,
        | 'detailId'
        | 'schoolId'
        | 'introduction'
        | 'schoolIcon'
        | 'address'
        | 'contact'
        | 'email'
        | 'website'
        | 'postcode'
        | 'establishYear'
        | 'campusAreaMu'
        | 'libraryCollection'
        | 'maleRatio'
        | 'femaleRatio'
        | 'is985'
        | 'is211'
        | 'isDoubleFirstClass'
        | 'isKeyUniversity'
        | 'tags'
        | 'studentCount'
        | 'teacherCount'
        | 'masterPoint'
        | 'doctorPoint'
        | 'keyMajorCount'
        | 'employmentRate'
        | 'satisfactionRate'
        | 'univId'
      > &
        Api.Common.CommonSearchParams
    >;

    /** school detail operate params */
    type SchoolDetailOperateParams = CommonType.RecordNullable<
      Pick<
        Api.Art.SchoolDetail,
        | 'detailId'
        | 'schoolId'
        | 'introduction'
        | 'schoolIcon'
        | 'address'
        | 'contact'
        | 'email'
        | 'website'
        | 'postcode'
        | 'establishYear'
        | 'campusAreaMu'
        | 'libraryCollection'
        | 'maleRatio'
        | 'femaleRatio'
        | 'is985'
        | 'is211'
        | 'isDoubleFirstClass'
        | 'isKeyUniversity'
        | 'tags'
        | 'studentCount'
        | 'teacherCount'
        | 'masterPoint'
        | 'doctorPoint'
        | 'keyMajorCount'
        | 'employmentRate'
        | 'satisfactionRate'
        | 'univId'
        | 'remark'
      >
    >;

    /** school detail list */
    type SchoolDetailList = Api.Common.PaginatingQueryRecord<SchoolDetail>;
  }
}
