package vo

type WechatNotifyRegisterTagStatus uint8

const (
	WechatNotifyRegisterTagStatusWait WechatNotifyRegisterTagStatus = iota + 1
	WechatNotifyRegisterTagStatusSuccess
	WechatNotifyRegisterTagStatusFail
)

var WechatNotifyRegisterTagStatusMap = map[WechatNotifyRegisterTagStatus]string{
	WechatNotifyRegisterTagStatusWait:    "待请求",
	WechatNotifyRegisterTagStatusSuccess: "请求成功",
	WechatNotifyRegisterTagStatusFail:    "请求失败",
}

func (s WechatNotifyRegisterTagStatus) GetText() string {
	if t, ok := WechatNotifyRegisterTagStatusMap[s]; ok {
		return t
	}
	return "未知请求状态"
}

func (s WechatNotifyRegisterTagStatus) GetValue() uint8 {
	return uint8(s)
}

func (s WechatNotifyRegisterTagStatus) IsWait() bool {
	return s == WechatNotifyRegisterTagStatusWait
}

func (s WechatNotifyRegisterTagStatus) IsSuccess() bool {
	return s == WechatNotifyRegisterTagStatusSuccess
}

func (s WechatNotifyRegisterTagStatus) IsFail() bool {
	return s == WechatNotifyRegisterTagStatusFail
}
