package com.ruoyi.common.enums;

import com.ruoyi.common.utils.StringUtils;

public enum AccountType {
    common(1, "普通账号"),
    audit(2, "审核账号"),

    ;

    private Integer value;
    private String remark;

    private AccountType(Integer value, String remark) {
        this.value = value;
        this.remark = remark;
    }

    public Integer getValue() {
        return value;
    }

    public String getRemark() {
        return remark;
    }

    public static AccountType getByValue(String value) {
        for (AccountType o : AccountType.values()) {
            if (o.getValue().equals(value)) {
                return o;
            }
        }
        return null;
    }


    public static Boolean isAudit(Object value) {
        if(StringUtils.isNull(value)){
            return false;
        }

        if(value instanceof String){
            if (audit.name().equalsIgnoreCase(String.valueOf(value).trim())) {
                return true;
            }
            if ((audit.name()+":").equalsIgnoreCase(String.valueOf(value).trim())) {
                return true;
            }
        }

        if(value instanceof Long){
            if (audit.getValue().intValue()==Integer.valueOf(String.valueOf(value).trim()).intValue()) {
                return true;
            }
        }

        if(value instanceof Integer){
            if (audit.getValue().intValue()==Integer.valueOf(String.valueOf(value).trim()).intValue()) {
                return true;
            }
        }

        return false;
    }

    public static Boolean isCommon(Object value) {
        if(StringUtils.isNull(value)){
            return false;
        }
        if(value instanceof String){
            if (common.name().equalsIgnoreCase(String.valueOf(value).trim())) {
                return true;
            }
            if ((common.name()+":").equalsIgnoreCase(String.valueOf(value).trim())) {
                return true;
            }
        }

        if(value instanceof Long){
            if (common.getValue().intValue()==Integer.valueOf(String.valueOf(value).trim()).intValue()) {
                return true;
            }
        }

        if(value instanceof Integer){
            if (common.getValue().intValue()==Integer.valueOf(String.valueOf(value).trim()).intValue()) {
                return true;
            }
        }

        return false;
    }


    public static void main(String[] args) {

    }
}
