package com.jeesharp.business.modules.common.enums;

import com.jeesharp.business.modules.common.enums.support.EnumValueSupport;
import com.jeesharp.business.modules.common.enums.support.IntValueEnum;
import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 通用在线交易/预约开关（整型存库：0 不启用，1 启用）。
 * <p>用于美食套餐在线下单、休闲套餐、酒店房型预订、景区预约等 C 端入口开关。</p>
 *
 * @author jeesharp
 * @since 2026-07-03
 */
@Getter
@AllArgsConstructor
public enum OnlineEnabledEnum implements IntValueEnum {

    DISABLED(0, "不启用"),
    ENABLED(1, "启用");

    private final Integer value;
    private final String desc;

    public static OnlineEnabledEnum fromValue(Integer value) {
        return EnumValueSupport.fromIntValue(OnlineEnabledEnum.class, value);
    }

    public static String getDescByValue(Integer value) {
        return EnumValueSupport.descByIntValue(OnlineEnabledEnum.class, value);
    }

    /**
     * 未配置时视为启用，兼容历史数据。
     */
    public static boolean isEnabled(Integer value) {
        return value == null || ENABLED.getValue().equals(value);
    }
}
