package enums import ( "encoding/json" "nf-repo/internal/interfaces" ) type Status uint64 const ( StatusNormal Status = iota StatusFrozen ) func (s Status) Value() int64 { return int64(s) } func (s Status) Code() string { switch s { case StatusNormal: return "normal" case StatusFrozen: return "frozen" default: return "unknown" } } func (s Status) Label() string { switch s { case StatusNormal: return "正常" case StatusFrozen: return "冻结" default: return "异常" } } func (s Status) All() []interfaces.Enum { return []interfaces.Enum{ StatusNormal, StatusFrozen, } } func (s Status) MarshalJSON() ([]byte, error) { return json.Marshal(map[string]any{ "value": s.Value(), "code": s.Code(), "label": s.Label(), }) }