You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
2.2 KiB
69 lines
2.2 KiB
package model |
|
|
|
import ( |
|
xtime "go-common/library/time" |
|
) |
|
|
|
// Group model is the group view for several challanges |
|
type Group struct { |
|
ID int64 `json:"id" gorm:"column:id"` |
|
Oid int64 `json:"oid" gorm:"column:oid"` |
|
OidStr string `json:"oid_str" gorm:"-"` |
|
Business int8 `json:"business" gorm:"column:business"` |
|
Fid int64 `json:"fid" gorm:"column:fid"` |
|
Rid int8 `json:"rid" gorm:"column:rid"` |
|
Eid int64 `json:"eid" gorm:"eid"` |
|
EidStr string `json:"eid_str" gorm:"-"` |
|
State int8 `json:"state" gorm:"column:state"` |
|
Tid int64 `json:"tid" gorm:"column:tid"` |
|
FirstUserTid int64 `json:"first_user_tid" gorm:"-"` |
|
Note string `json:"note" gorm:"column:note"` |
|
Score int64 `json:"score" gorm:"column:score"` |
|
|
|
// Stat fields |
|
// this is a workround solution for calcuating appeals |
|
Count int32 `json:"count" gorm:"column:count"` |
|
Handling int32 `json:"handling" gorm:"column:handling"` |
|
|
|
CTime xtime.Time `json:"ctime" gorm:"column:ctime"` |
|
MTime xtime.Time `json:"mtime" gorm:"column:mtime"` |
|
LastTime xtime.Time `json:"last_time" gorm:"column:lasttime"` |
|
|
|
LastLog string `json:"last_log" gorm:"-"` |
|
BusinessObject *Business `json:"business_object,omitempty" gorm:"-"` |
|
|
|
// Tags related to Group |
|
Tag string `json:"tag" gorm:"-"` |
|
Round int8 `json:"round" gorm:"-"` |
|
ChallengeTags ChallTagSlice `json:"challenge_tags" gorm:"-"` |
|
|
|
Meta interface{} `json:"meta" gorm:"-"` |
|
MetaData interface{} `json:"meta_data" gorm:""` |
|
TypeID int64 `json:"type_id" gorm:"-"` |
|
|
|
LastProducer *Account `json:"last_producer" gorm:"-"` |
|
Defendant *Account `json:"defendant" gorm:"-"` |
|
} |
|
|
|
// GroupListPage is the model for group list result |
|
type GroupListPage struct { |
|
Items []*Group `json:"items"` |
|
Page *Page `json:"page"` |
|
} |
|
|
|
// GroupPendingCount . |
|
type GroupPendingCount struct { |
|
Total int `json:"total"` |
|
} |
|
|
|
// GroupMeta . |
|
type GroupMeta struct { |
|
Archive *Archive `json:"archive"` |
|
Object *Business `json:"object"` |
|
External interface{} `json:"external"` |
|
} |
|
|
|
// TableName is used to identify group table name in gorm |
|
func (Group) TableName() string { |
|
return "workflow_group" |
|
}
|
|
|