package com.nanxiislet.admin.entity; import com.baomidou.mybatisplus.annotation.TableName; import com.nanxiislet.admin.common.base.BaseEntity; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import java.time.LocalDate; import java.time.LocalDateTime; /** * 证书实体 * * @author NanxiIslet * @since 2026-01-13 */ @Data @EqualsAndHashCode(callSuper = true) @TableName("platform_certificate") @Schema(description = "证书信息") public class PlatformCertificate extends BaseEntity { @Schema(description = "关联服务器ID") private Long serverId; @Schema(description = "服务器名称") private String serverName; @Schema(description = "1Panel证书ID") private Long panelSslId; @Schema(description = "主域名") private String primaryDomain; @Schema(description = "其他域名(逗号分隔)") private String otherDomains; @Schema(description = "证书主体名称") private String cn; @Schema(description = "颁发组织") private String organization; @Schema(description = "验证方式 dnsAccount/httpManual") private String provider; @Schema(description = "Acme账户ID") private Long acmeAccountId; @Schema(description = "Acme账户邮箱") private String acmeAccountEmail; @Schema(description = "DNS账户ID") private Long dnsAccountId; @Schema(description = "DNS账户名称") private String dnsAccountName; @Schema(description = "DNS账户类型") private String dnsAccountType; @Schema(description = "密钥算法 P256/P384/RSA2048/RSA4096") private String keyType; @Schema(description = "状态 pending/valid/expired/error") private String status; @Schema(description = "自动续签") private Boolean autoRenew; @Schema(description = "生效时间") private LocalDate startDate; @Schema(description = "过期时间") private LocalDate expireDate; @Schema(description = "证书内容") private String certContent; @Schema(description = "私钥内容") private String keyContent; @Schema(description = "备注") private String description; @Schema(description = "最后同步时间") private LocalDateTime lastSyncTime; }