package lingtao.net.bean;

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

import lombok.Data;

/**
 * 通用的返回的类
 */
@Data
public class Msg {

	// 状态码 200--成功 100--失败 300禁用
	private int code;

	public int getCode() {
		return code;
	}

	public void setCode(int code) {
		this.code = code;
	}

	public String getMsg() {
		return msg;
	}

	public void setMsg(String msg) {
		this.msg = msg;
	}

	public Map<String, Object> getData() {
		return data;
	}

	public void setData(Map<String, Object> data) {
		this.data = data;
	}

	// 提示信息
	private String msg;

	// 用户要返回给浏览器的数据
	private Map<String, Object> data = new HashMap<String, Object>();

	public static Msg success() {
		Msg result = new Msg();
		result.setCode(200);
		result.setMsg("成功");
		return result;
	}

	public static Msg success(String msg) {
		Msg result = new Msg();
		result.setCode(200);
		result.setMsg(msg);
		return result;
	}

	public static Msg fail() {
		Msg result = new Msg();
		result.setCode(100);
		result.setMsg("失败");
		return result;
	}

	public static Msg fail(String msg) {
		Msg result = new Msg();
		result.setCode(100);
		result.setMsg(msg);
		return result;
	}

	public static Msg fail(Integer code, String msg) {
		Msg result = new Msg();
		result.setCode(code);
		result.setMsg(msg);
		return result;
	}

	public static Msg isDisable() {
		Msg result = new Msg();
		result.setCode(300);
		result.setMsg("失败");
		return result;
	}

	public static Msg isDisable(String msg) {
		Msg result = new Msg();
		result.setCode(300);
		result.setMsg(msg);
		return result;
	}

	public Msg add(String key, Object value) {
		this.getData().put(key, value);
		return this;

	}

}
