package com.iailab.module.system.dal.dataobject.tenant; import com.iailab.framework.common.enums.CommonStatusEnum; import com.iailab.framework.mybatis.core.dataobject.BaseDO; import com.iailab.module.system.dal.dataobject.user.AdminUserDO; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableName; import lombok.*; import java.time.LocalDateTime; /** * 租户 DO * * @author iailab */ @TableName(value = "system_tenant", autoResultMap = true) @KeySequence("system_tenant_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) @Builder @AllArgsConstructor @NoArgsConstructor public class TenantDO extends BaseDO { /** * 套餐编号 - 系统 */ public static final Long PACKAGE_ID_SYSTEM = 0L; /** * 租户编号,自增 */ private Long id; /** * 租户名,唯一 */ private String name; /** * 联系人的用户编号 * * 关联 {@link AdminUserDO#getId()} */ private Long contactUserId; /** * 联系人 */ private String contactName; /** * 联系手机 */ private String contactMobile; /** * 租户状态 * * 枚举 {@link CommonStatusEnum} */ private Integer status; /** * 绑定域名 */ private String website; /** * 租户套餐编号 * * 关联 {@link TenantPackageDO#getId()} * 特殊逻辑:系统内置租户,不使用套餐,暂时使用 {@link #PACKAGE_ID_SYSTEM} 标识 */ private Long packageId; /** * 过期时间 */ private LocalDateTime expireTime; /** * 账号数量 */ private Integer accountCount; }