package com.reading.platform.dto.request;

import com.fasterxml.jackson.annotation.JsonAlias;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;

import java.time.LocalDateTime;

@Data
@Schema(description = "租户创建请求")
public class TenantCreateRequest {

    @NotBlank(message = "租户名称不能为空")
    @Schema(description = "租户名称")
    private String name;

    @NotBlank(message = "登录账号不能为空")
    @JsonAlias("loginAccount")
    @Schema(description = "租户编码 / 登录账号")
    private String code;

    @JsonAlias("contactPerson")
    @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;

    @JsonAlias("expireDate")
    @Schema(description = "过期日期")
    private LocalDateTime expireAt;

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

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

    @Schema(description = "初始密码（默认: 123456）")
    private String password;

    @Schema(description = "套餐类型（可选）")
    private String packageType;

    @Schema(description = "开始日期（可选）")
    private String startDate;

}
