package com.hzs.common.core.enums;

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

/**
 * Description:注水业绩枚举
 * Author: zhangjing
 * Time: 2022/9/1 9:06
 * Classname: EMemberAchieve
 * PackageName: com.hzs.common.core.enums
 */
@AllArgsConstructor
@Getter
public enum EMemberAchieve {

    /**
     * 变更后左区区真实业绩
     */
    ASUMREALMODIFY_PV(1, "变更后左区区真实业绩", "asumRealModifyPv", EnumsPrefixConstants.MEMBER_ACHIEVE + "1"),

    /**
     * 变更后右区真实业绩
     */
    BSUMREALMODIFY_PV(2, "变更后右区真实业绩", "bsumRealModifyPv", EnumsPrefixConstants.MEMBER_ACHIEVE + "2"),

    /**
     * 变更后左区首购业绩
     */
    AFIRSTMODIFY_PV(3, "变更后左区首购业绩", "afirstModifyPv", EnumsPrefixConstants.MEMBER_ACHIEVE + "3"),
    /**
     * 变更后右区首购业绩
     */
    BFIRSTMODIFY_PV(4, "变更后右区首购业绩", "bfirstModifyPv", EnumsPrefixConstants.MEMBER_ACHIEVE + "4"),
    /**
     * 变更后左区复购业绩
     */
    REPAMODIFYSUM_PV(9, "变更后左区复购业绩", "repAModifySumPv", EnumsPrefixConstants.MEMBER_ACHIEVE + "9"),
    /**
     * 变更后右区复购业绩
     */
    REPBMODIFYSUM_PV(10, "变更后右区复购业绩", "repBModifySumPv", EnumsPrefixConstants.MEMBER_ACHIEVE + "10"),
    /**
     * 变更后左区首购结余
     */
    REPAFIRSTMODIFY_BALANCE(5, "变更后左区首购结余", "repAFirstModifyBalance", EnumsPrefixConstants.MEMBER_ACHIEVE + "5"),
    /**
     * 变更后右区首购结余
     */
    REPBFIRSTMODIFY_BALANCE(6, "变更后右区首购结余", "repBFirstModifyBalance", EnumsPrefixConstants.MEMBER_ACHIEVE + "6"),
    /**
     * 变更后左区复购结余
     */
    REPAMODIFY_BALANCE(7, "变更后左区复购结余", "repAModifyBalance", EnumsPrefixConstants.MEMBER_ACHIEVE + "7"),
    /**
     * 变更后右区复购结余
     */
    REPBMODIFY_BALANCE(8, "变更后右区复购结余", "repBModifyBalance", EnumsPrefixConstants.MEMBER_ACHIEVE + "8"),

    ;

    /**
     * 实际值
     */
    private final int value;
    /**
     * 显示标签
     */
    private final String label;
    /**
     * 标识（前端用）
     */
    private final String prop;
    /**
     * 国际化翻译key值
     */
    private final String key;


    /**
     * 根据枚举值获取枚举
     *
     * @param value 枚举值
     * @return
     */
    public static EMemberAchieve getEnumByValue(int value) {
        for (EMemberAchieve eApproveStatus : EMemberAchieve.values()) {
            if (eApproveStatus.getValue() == value) {
                return eApproveStatus;
            }
        }
        return null;
    }

}
