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; /** * æ•°æ®æºé…ç½®ç¼–å· * * 多租户采用“分库â€æ–¹æ¡ˆæ—¶ï¼Œé€šè¿‡è¯¥å—段é…置所在数æ®æº * * å…³è” DataSourceConfigDO çš„ id å—段 */ private Long dataSourceConfigId; }