package com.goafanti.common.enums;

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

import org.apache.commons.lang3.StringUtils;

public enum ChannelStatus {
	/** 0未分配*/ 
	WFP(0,"未分配"),
	/** 已分配经理*/ 
	YFPJL(1,"已分配经理"),
	/** 已分配营销员*/ 
	YFPYXY(2,"已分配营销员"),
	/** 0已存在私有*/ 
	YCZWDSY(3,"已存在我的私有"),
	/** 0已存在公共*/ 
	YCZGG(4,"已存在公共"),
	/** 0已存在签单*/ 
	YCZWDQIAND(5,"已存在我的签单"),
	/** 0回退 */ 
	HT(6,"回退"),
	/** 已签单*/ 
	YQD(7,"已签单"),
	/** 已释放*/ 
	YSF(8,"已释放"),
	/** 非法名称*/ 
	FFMC(9,"非法名称"),
	WXLXR(14,"无效联系人"),
	/** 已存在我的渠道*/ 
	YCZWDQD(10,"已存在我的渠道"),
	/** 已存在别人渠道*/ 
	YCZBRQD(11,"已存在别人渠道"),
	/** 0已存在私有*/ 
	YCZBRSY(12,"已存在别人私有"),
	/** 0已存在签单*/ 
	YCZBRQIAND(13,"已存在别人签单"),
	NULL(99,"");
	 
	private Integer	code;
	private String	desc;
	 
	private ChannelStatus(Integer code, String desc) {
		this.code = code;
		this.desc = desc;
	}

	private static Map<Integer, ChannelStatus> status = new HashMap<Integer, ChannelStatus>();

	static {
		for (ChannelStatus value : ChannelStatus.values()) {
			status.put(value.getCode(), value);
		}
	}

	public static ChannelStatus getStatus(Integer code) {
		if (containsType(code)) {
			return status.get(code);
		}
		return NULL;
	}

	public static ChannelStatus getStatus(String code) {
		if (StringUtils.isNumeric(code)) {
			return getStatus(Integer.parseInt(code));
		}
		return NULL;
	}

	public static boolean containsType(Integer code) {
		return status.containsKey(code);
	}



	public Integer getCode() {
		return code;
	}

	public String getDesc() {
		return desc;
	}

}
