/**
 * 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;
      /** 学校背景图 */
      backGround: 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;
      /** 是否公办(0/1) */
      isPublic: number;
      /** 标签 */
      tags: string[];
      /** 学生人数 */
      studentCount: number;
      /** 教师人数 */
      teacherCount: number;
      /** 硕士点数量 */
      masterPoint: number;
      /** 博士点数量 */
      doctorPoint: number;
      /** 重点专业数量 */
      keyMajorCount: number;
      /** 就业率(%) */
      employmentRate: number;
      /** 满意度(%) */
      satisfactionRate: number;
      /** 外部学校ID */
      univId: number;
      /** 考研率(%) */
      masterProportionRate: number;
      /** 出国率(%) */
      abroadProportionRate: number;
      /** 是否有普通本科(0/1) */
      hasRegular: number;
      /** 是否有专科(0/1) */
      hasJunior: number;
      /** 是否有硕士点(0/1) */
      hasMaster: number;
      /** 是否双高计划(0/1) */
      isDoubleHighPlan: number;
      /** 是否强基计划(0/1) */
      isStrongPlan: number;
      /** 泰晤士中国排名 */
      twsdlRank: number;
      /** 校友会排名 */
      xyhRank: number;
      /** 武书连排名 */
      wslRank: number;
      /** US中国排名 */
      usdaluRank: number;
      /** QS排名 */
      qsdaluRank: number;
      /** 综合评分 */
      combinedScore: number;
      /** 综合排名 */
      overallRank: number;
      /** 环境满意度 */
      envSatisfaction: number;
      /** 环境满意度投票数 */
      envVote: number;
      /** 生活满意度 */
      liveSatisfaction: number;
      /** 生活满意度投票数 */
      liveVote: number;
      /** 综合满意度(原始分) */
      combinedSatisfaction: number;
      /** 综合满意度投票数 */
      combinedVote: number;
      /** 师资力量描述 */
      teachers: string;
      /** 奖学金说明 */
      scholarship: string;
      /** 助学金说明 */
      grantDesc: string;
      /** 食堂说明 */
      canteen: string;
      /** 宿舍说明 */
      dormitory: string;
      /** 硕士点说明 */
      masterExplain: string;
      /** 博士点说明 */
      doctorExplain: string;
      /** 删除标志（0代表存在 1代表删除） */
      delFlag: string;
      /** 备注 */
      remark: string;
    }>;

    /** school detail search params */
    type SchoolDetailSearchParams = CommonType.RecordNullable<
      Pick<
        Api.Art.SchoolDetail,
        | 'detailId'
        | 'schoolId'
        | 'introduction'
        | 'schoolIcon'
        | 'backGround'
        | 'address'
        | 'contact'
        | 'email'
        | 'website'
        | 'postcode'
        | 'establishYear'
        | 'campusAreaMu'
        | 'libraryCollection'
        | 'maleRatio'
        | 'femaleRatio'
        | 'is985'
        | 'is211'
        | 'isDoubleFirstClass'
        | 'isKeyUniversity'
        | 'isPublic'
        | 'tags'
        | 'studentCount'
        | 'teacherCount'
        | 'masterPoint'
        | 'doctorPoint'
        | 'keyMajorCount'
        | 'employmentRate'
        | 'satisfactionRate'
        | 'univId'
        | 'masterProportionRate'
        | 'abroadProportionRate'
        | 'hasRegular'
        | 'hasJunior'
        | 'hasMaster'
        | 'isDoubleHighPlan'
        | 'isStrongPlan'
        | 'twsdlRank'
        | 'xyhRank'
        | 'wslRank'
        | 'usdaluRank'
        | 'qsdaluRank'
        | 'combinedScore'
        | 'overallRank'
        | 'envSatisfaction'
        | 'envVote'
        | 'liveSatisfaction'
        | 'liveVote'
        | 'combinedSatisfaction'
        | 'combinedVote'
        | 'teachers'
        | 'scholarship'
        | 'grantDesc'
        | 'canteen'
        | 'dormitory'
        | 'masterExplain'
        | 'doctorExplain'
      > &
        Api.Common.CommonSearchParams
    >;

    /** school detail operate params */
    type SchoolDetailOperateParams = CommonType.RecordNullable<
      Pick<
        Api.Art.SchoolDetail,
        | 'detailId'
        | 'schoolId'
        | 'introduction'
        | 'schoolIcon'
        | 'backGround'
        | 'address'
        | 'contact'
        | 'email'
        | 'website'
        | 'postcode'
        | 'establishYear'
        | 'campusAreaMu'
        | 'libraryCollection'
        | 'maleRatio'
        | 'femaleRatio'
        | 'is985'
        | 'is211'
        | 'isDoubleFirstClass'
        | 'isKeyUniversity'
        | 'isPublic'
        | 'tags'
        | 'studentCount'
        | 'teacherCount'
        | 'masterPoint'
        | 'doctorPoint'
        | 'keyMajorCount'
        | 'employmentRate'
        | 'satisfactionRate'
        | 'univId'
        | 'masterProportionRate'
        | 'abroadProportionRate'
        | 'hasRegular'
        | 'hasJunior'
        | 'hasMaster'
        | 'isDoubleHighPlan'
        | 'isStrongPlan'
        | 'twsdlRank'
        | 'xyhRank'
        | 'wslRank'
        | 'usdaluRank'
        | 'qsdaluRank'
        | 'combinedScore'
        | 'overallRank'
        | 'envSatisfaction'
        | 'envVote'
        | 'liveSatisfaction'
        | 'liveVote'
        | 'combinedSatisfaction'
        | 'combinedVote'
        | 'teachers'
        | 'scholarship'
        | 'grantDesc'
        | 'canteen'
        | 'dormitory'
        | 'masterExplain'
        | 'doctorExplain'
        | 'remark'
      >
    >;

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

    /** school detail json payloads */
    type SchoolDetailSatisfactionPayload = {
      schoolId: CommonType.IdType;
      satisfactionJson: Record<string, unknown>;
    };
    type SchoolDetailScholarshipPayload = {
      schoolId: CommonType.IdType;
      scholarshipJson: unknown[];
    };
    type SchoolDetailSpecialMajorPayload = {
      schoolId: CommonType.IdType;
      specialMajorJson: unknown[];
    };
    type SchoolDetailEmploymentReportPayload = {
      schoolId: CommonType.IdType;
      employmentReportJson: unknown[];
    };
    type SchoolDetailPhotoPayload = {
      schoolId: CommonType.IdType;
      photoJson: Record<string, unknown>;
    };
    type SchoolDetailAccommodationPayload = {
      schoolId: CommonType.IdType;
      accommodationJson: unknown[];
    };
    type SchoolDetailSubjectReviewsPayload = {
      schoolId: CommonType.IdType;
      subjectReviewsJson: unknown[];
    };
    type SchoolDetailResearchPayload = {
      schoolId: CommonType.IdType;
      researchJson: Record<string, unknown>;
    };
    type SchoolDetailUnivMajorsPayload = {
      schoolId: CommonType.IdType;
      univMajorsJson: unknown[];
    };
    type SchoolDetailUnivPostgraduatePayload = {
      schoolId: CommonType.IdType;
      univPostgraduateJson: unknown[];
    };

    /** school detail json all payload */
    type SchoolDetailJsonAllPayload = {
      satisfactionJson: Record<string, unknown>;
      scholarshipJson: unknown[];
      specialMajorJson: unknown[];
      employmentReportJson: unknown[];
      photoJson: Record<string, unknown>;
      accommodationJson: unknown[];
      subjectReviewsJson: unknown[];
      researchJson: Record<string, unknown>;
      univMajorsJson: unknown[];
      univPostgraduateJson: unknown[];
    };
  }
}
