package com.lesingle.edu.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * 租户实体
 */
@Schema(description = "租户实体")
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("tenant")
public class Tenant extends BaseEntity {

    @Schema(description = "租户名称")
    private String name;

    @Schema(description = "租户编码")
    private String code;

    @Schema(description = "用户名")
    private String username;

    @Schema(description = "密码")
    private String password;

    @Schema(description = "联系人姓名")
    private String contactName;

    @Schema(description = "联系人手机号")
    private String contactPhone;

    @Schema(description = "联系人邮箱")
    private String contactEmail;

    @Schema(description = "地址")
    private String address;

    @Schema(description = "Logo URL")
    private String logoUrl;

    @Schema(description = "状态")
    private String status;

    @Schema(description = "过期时间")
    private LocalDateTime expireAt;

    @Schema(description = "最大学生数")
    private Integer maxStudents;

    @Schema(description = "最大教师数")
    private Integer maxTeachers;

    @Schema(description = "教师配额")
    private Integer teacherQuota;

    @Schema(description = "学生配额")
    private Integer studentQuota;

    @Schema(description = "存储配额 (字节)")
    private Long storageQuota;

    @Schema(description = "已用存储 (字节)")
    private Long storageUsed;

    @Schema(description = "开始日期")
    private java.time.LocalDate startDate;

    @Schema(description = "结束日期")
    private java.time.LocalDate expireDate;

}
