package cn.superdesk.uniorder.common.enums.scheduler.jd;

import java.util.EnumSet;
import java.util.HashMap;
import java.util.Map;

/**
 * @Description: -- 对账状态:0-待对账;1-对账完成;10-对账中; accounting_status finish_time
 * -- 待对账:指该对账任务还未开始进行与结算中心供应商未结算商品订单对账的状态;
 * -- 对账中:指该对账任务正在与结算中心供应商未结算商品订单进行对账,还未完成进行中的状态;
 * -- 对账完成:指该对账任务已全部对账完成的状态;
 * @Author: linjinyu
 * @CreateDate: 2022/6/8 5:52 下午
 * @UpdateUser: linjinyu
 * @UpdateDate: 2022/6/8 5:52 下午
 * @UpdateRemark: 修改内容
 * @Version: 1.0
 */
public enum ScheduleTaskAccountingStatusEnum {

    待对账(0, "待对账"),
    对账完成(1, "对账完成"),
    对账中(10, "对账中"),
//    对账失败(2, "对账失败"),
    已取消(4, "已取消"), // ---- op取消账单
//    已确认(5, "已确认"), // ---- op确认账单

    ;

    private Integer key;
    private String  desc;

    ScheduleTaskAccountingStatusEnum(Integer key, String desc) {
        this.key = key;
        this.desc = desc;
    }

    public Integer getKey() {
        return key;
    }

    public String getDesc() {
        return desc;
    }

    public static String getDesc(Integer key) {
        for (ScheduleTaskAccountingStatusEnum c : ScheduleTaskAccountingStatusEnum.values()) {
            if (c.key.equals(key)) {
                return c.getDesc();
            }
        }
        return null;
    }

    private static final Map<Integer, ScheduleTaskAccountingStatusEnum> LOOKUP = new HashMap<>();

    static {
        for (ScheduleTaskAccountingStatusEnum s : EnumSet.allOf(ScheduleTaskAccountingStatusEnum.class)) {
            LOOKUP.put(s.getKey(), s);
        }
    }

    public static ScheduleTaskAccountingStatusEnum get(Integer key) {
        return LOOKUP.get(key);
    }
}
