package cn.iocoder.yudao.module.system.controller.admin.restaurant.enums;

import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 用户类型枚举
 */
@Getter
@AllArgsConstructor
public enum UserType {

    EMPLOYEE("EMPLOYEE", "员工"),
    ELDER("ELDER", "长者");

    /**
     * 数据库存储的值 - 使用 @EnumValue 注解标记
     */
    @EnumValue
    private final String value;

    /**
     * 描述
     */
    private final String description;

    /**
     * 根据值获取枚举
     */
    public static UserType fromValue(String value) {
        for (UserType type : values()) {
            if (type.getValue().equals(value)) {
                return type;
            }
        }
        throw new IllegalArgumentException("未知的用户类型: " + value);
    }

    /**
     * 判断是否为员工
     */
    public boolean isEmployee() {
        return this == EMPLOYEE;
    }

    /**
     * 判断是否为长者
     */
    public boolean isElder() {
        return this == ELDER;
    }
}