package com.goafanti.common.enums;

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

import org.apache.commons.lang3.StringUtils;

public enum SocietyTagStatus {
	
	SHQY(0, "社会企业"),
	KYDW(1, "科研单位"),
	GDYX(2, "高等院校"),
	KYZJ(3, "科研专家"),
	KJDR(4, "科技达人"),
	FWJG(5, "服务机构"),
	ZFBM(6, "政府部门"),
	SH(7, "商会"),
	XH(8, "协会"),
	QTZZ(9, "其他组织"),
	OTHER(10, "其他个人");

	private SocietyTagStatus(Integer code, String desc) {
		this.code = code;
		this.desc = desc;
	}

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

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

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

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

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

	private Integer	code;
	private String	desc;

	public Integer getCode() {
		return code;
	}

	public String getDesc() {
		return desc;
	}

}
