package com.prolog.cs.biz.outbound.service.strategy;

import com.prolog.cs.biz.outbound.service.strategy.handles.PostBackErpHandle;
import com.prolog.cs.biz.outbound.service.strategy.handles.ResultCommonHandle;
import lombok.Getter;

/**
 * @program: upcloud-base-wh-outbound
 * @description: 业务参数配置枚举
 * 参考命名规则(全大写)： 功能简称__[分支简称]__类型(如开关、数量、列表等)
 * @author: Huanglh
 * @create: 2022-01-11 09:44
 **/
public enum STRATEGY_CODE {
    // 内复核回传ERP开关 0-外复核回传(默认) 1-内复核回传
    POST_BACK_ERP__IN_CHECK__ON("POST_BACK_ERP__IN_CHECK__ON", PostBackErpHandle.class, "0"),
    // 回传ERP是否开启消息队列开关 0-不开启队列 1-开启队列(默认)
    POST_BACK_ERP__MQ__ON("POST_BACK_ERP__MQ__ON", PostBackErpHandle.class, "1"),
    // 近效期天数，按仓、货主设置 默认为 90 天
    CARGO_OWNER__NEAR_EXPIRY_DATE_DAY("CARGO_OWNER__NEAR_EXPIRY_DATE_DAY", ResultCommonHandle.class, "90");

    /**
     * 参数编号
     */
    @Getter
    private String code;

    /**
     * 处理handle的类型
     */
    @Getter
    private Class<?> clazz;

    /**
     * 默认值
     */
    @Getter
    private String defaultValue;

    STRATEGY_CODE(String code, Class<?> clazz, String defaultValue) {
        this.code = code;
        this.clazz = clazz;
        this.defaultValue = defaultValue;
    }

}

