package com.ruoyi.common.enums; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Getter; /** * 企业新闻状态枚举类 * * @author ruoyi * @date 2026-05-20 */ @Schema(description = "企业新闻状态枚举") public enum EnterpriseNewsStatusEnum implements BaseEnum { /** * 草稿 */ @Schema(description = "草稿") DRAFT("DRAFT", "草稿"), /** * 待审批 */ @Schema(description = "待审批") PENDING("PENDING", "待审批"), /** * 已发布 */ @Schema(description = "已发布") PUBLISHED("PUBLISHED", "已发布"), /** * 驳回 */ @Schema(description = "驳回") REJECTED("REJECTED", "驳回"), /** * 已下线 */ @Schema(description = "已下线") OFFLINE("OFFLINE", "已下线"); /** * 状态码 */ private final String code; /** * 状态描述 * -- GETTER -- * 获取状态描述 * * @return 状态描述 */ @Getter private final String description; EnterpriseNewsStatusEnum(String code, String description) { this.code = code; this.description = description; } /** * 获取状态码 * * @return 状态码 */ @JsonValue public String getCode() { return code; } @Override public String getValue() { return ""; } /** * 根据状态码获取枚举 * * @param code 状态码 * @return 枚举值 */ @JsonCreator public static EnterpriseNewsStatusEnum getByCode(String code) { for (EnterpriseNewsStatusEnum status : values()) { if (status.code.equals(code)) { return status; } } throw new IllegalArgumentException("Invalid enterprise news status code: " + code); } /** * 判断是否为草稿状态 * * @return 是否为草稿状态 */ public boolean isDraft() { return DRAFT.equals(this); } /** * 判断是否为待审批状态 * * @return 是否为待审批状态 */ public boolean isPending() { return PENDING.equals(this); } /** * 判断是否为已发布状态 * * @return 是否为已发布状态 */ public boolean isPublished() { return PUBLISHED.equals(this); } /** * 判断是否为驳回状态 * * @return 是否为驳回状态 */ public boolean isRejected() { return REJECTED.equals(this); } /** * 判断是否为已下线状态 * * @return 是否为已下线状态 */ public boolean isOffline() { return OFFLINE.equals(this); } }