github.com/SupenBysz/gf-admin-community@v0.7.4/sys_model/sys_enum/internal/user/state.go (about) 1 package sys_enum_user 2 3 import "github.com/kysion/base-library/utility/enum" 4 5 type StateEnum enum.IEnumCode[int] 6 7 type state struct { 8 Unactivated StateEnum 9 Normal StateEnum 10 Suspended StateEnum 11 Abnormality StateEnum 12 Canceled StateEnum 13 } 14 15 var State = state{ 16 Unactivated: enum.New[StateEnum](0, "未激活"), 17 Normal: enum.New[StateEnum](1, "正常"), 18 Suspended: enum.New[StateEnum](-1, "封号"), 19 Abnormality: enum.New[StateEnum](-2, "异常"), 20 Canceled: enum.New[StateEnum](-3, "已注销"), 21 } 22 23 func (e state) New(code int, description string) StateEnum { 24 if (code&State.Unactivated.Code()) == State.Unactivated.Code() || 25 (code&State.Normal.Code()) == State.Normal.Code() || 26 (code&State.Suspended.Code()) == State.Suspended.Code() || 27 (code&State.Abnormality.Code()) == State.Abnormality.Code() || 28 (code&State.Canceled.Code()) == State.Canceled.Code() { 29 return enum.New[StateEnum](code, description) 30 } 31 panic("User.State.New: error") 32 }