001package run.iget.framework.common.enums; 002 003import java.util.Objects; 004 005import lombok.Getter; 006 007/** 008 * 代码千万行,注释第一行;注释不规范,迭代两行泪 009 * ---------------------------------------- 010 * 数据库逻辑删除枚举对象 011 * ---------------------------------------- 012 * author: 大周 013 * date: 2022/2/8 10:59 014 **/ 015@Getter 016public enum BaseStatusEnum implements BaseEnum<Integer> { 017 /** 018 * 0启用,禁用 019 */ 020 ENABLE(0, "启用"), 021 DISABLE(1, "禁用"); 022 023 /** 024 * 关键值 025 */ 026 private Integer code; 027 /** 028 * 描述 029 */ 030 private String desc; 031 032 private BaseStatusEnum(int value, String description) { 033 this.code = value; 034 this.desc = description; 035 } 036 037 public static boolean isDisable(Integer value) { 038 return Objects.equals(value, BaseStatusEnum.DISABLE.code); 039 } 040 041 /** 042 * 取反 043 * @param statusEnum 入参 044 * @return 如果statusEnum == null,则返回null。 045 */ 046 public static BaseStatusEnum negate(BaseStatusEnum statusEnum) { 047 if (statusEnum == null) { 048 return null; 049 } 050 return negate(statusEnum.code); 051 } 052 053 /** 054 * 取反 055 * @param statusCode 入参 056 * @return 如果statusEnum == null,则返回null。 057 */ 058 public static BaseStatusEnum negate(Integer statusCode) { 059 if (statusCode == null) { 060 return null; 061 } 062 return isDisable(statusCode) ? BaseStatusEnum.ENABLE : BaseStatusEnum.DISABLE; 063 } 064 065}