package com.hzs.common.core.enums;

import com.hzs.common.core.constant.EnumsPrefixConstants;
import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 发货状态
 */
@AllArgsConstructor
@Getter
public enum EDeliveryStatus {

    /**
     * 未发货
     */
    NOT_DELIVERY(1, "未发货", 0, EnumsPrefixConstants.DELIVERY_STATUS + "1"),

    /**
     * 已发货
     */
    DELIVERED(2, "已发货", 0, EnumsPrefixConstants.DELIVERY_STATUS + "2"),

//    /**
//     * 部分发货
//     */
//    PART_DELIVERED(3, "部分发货", 0, EnumsPrefixConstants.DELIVERY_STATUS + "3"),

    /**
     * 已收货
     */
    RECEIVING(4, "已收货", 0, EnumsPrefixConstants.DELIVERY_STATUS + "4"),

    /**
     * 已退货
     */
    SEND_BACK(5, "已退货", 0, EnumsPrefixConstants.DELIVERY_STATUS + "5"),

    ;

    /**
     * 实际值
     */
    private final int value;
    /**
     * 显示标签
     */
    private final String label;
    /**
     * 是否启用（0=是,1=否） -- 来源EYesNo
     */
    private final int enable;
    /**
     * 国际化翻译key值
     */
    private final String key;

    /**
     * 根据值，返回枚举
     *
     * @param value
     * @return
     */
    public static EDeliveryStatus getEnumByValue(int value) {
        if (DELIVERED.getValue() == value) {
            return DELIVERED;
        }
//        else if (PART_DELIVERED.getValue() == value) {
//            return PART_DELIVERED;
//        }
        else if (RECEIVING.getValue() == value) {
            return RECEIVING;
        } else if (SEND_BACK.getValue() == value) {
            return SEND_BACK;
        }
        return NOT_DELIVERY;
    }

}
