github.com/SupenBysz/gf-admin-community@v0.7.4/sys_model/sys_enum/internal/upload/event_state.go (about) 1 package sys_enum_upload 2 3 import "github.com/kysion/base-library/utility/enum" 4 5 type EventStateEnum enum.IEnumCode[int] 6 7 type eventState struct { 8 BeforeCache EventStateEnum 9 AfterCache EventStateEnum 10 BeforeSave EventStateEnum 11 AfterSave EventStateEnum 12 } 13 14 var EventState = eventState{ 15 BeforeCache: enum.New[EventStateEnum](1, "缓存前"), 16 AfterCache: enum.New[EventStateEnum](2, "已缓存"), 17 BeforeSave: enum.New[EventStateEnum](4, "保存前"), 18 AfterSave: enum.New[EventStateEnum](8, "保存后"), 19 } 20 21 func (e eventState) New(code int, description string) EventStateEnum { 22 23 if (code&EventState.BeforeCache.Code()) == EventState.BeforeCache.Code() || 24 (code&EventState.AfterCache.Code()) == EventState.AfterCache.Code() || 25 (code&EventState.BeforeSave.Code()) == EventState.BeforeSave.Code() || 26 (code&EventState.AfterSave.Code()) == EventState.AfterSave.Code() { 27 return enum.New[EventStateEnum](code, description) 28 } 29 panic("Upload.EventState.New: error") 30 }