package intimate import ( "database/sql" "reflect" ) type GetSet struct { } type StreamerList struct { UrlHash string `field:"urlhash" uid:"true"` // Platform string `field:"platform" ` // Url string `field:"url" ` // Label *sql.NullString `field:"label" ` // Serialize interface{} `field:"serialize" ` UpdateInterval int32 `field:"update_interval" ` UpdateTime *sql.NullTime `field:"update_time" ` // ErrorMsg *sql.NullString `field:"error_msg" ` // Operator int32 `field:"operator" ` LastOperator int32 } // Get Simple Value func (sl *StreamerList) Get(field string) interface{} { return reflect.ValueOf(sl).Elem().FieldByName(field).Interface() } // Set Simple Value func (sl *StreamerList) Set(field string, value interface{}) { reflect.ValueOf(sl).Elem().FieldByName(field).Set(reflect.ValueOf(value)) } type Streamer struct { Uid int64 `field:"uid" uid:"auto"` // Platform Platform `field:"platform"` // UserId *string `field:"user_id"` // UserName *sql.NullString `field:"user_name"` // LiveUrl *sql.NullString `field:"live_url"` // Channel *sql.NullString `field:"channel"` // Tags interface{} `field:"tags"` Ext interface{} `field:"ext"` // // Comments interface{} `field:"comments"` IsUpdateStreamer bool // 更新上面的内容 IsUpdateUrl bool UpdateInterval int32 `field:"update_interval"` UpdateUrl interface{} `field:"update_url"` // TODO: nil LatestLogUid int64 `field:"latest_log_uid"` UpdateTime *sql.NullTime `field:"update_time"` // ErrorMsg *sql.NullString `field:"error_msg"` Operator int32 `field:"operator"` LastOperator int32 } // Get Simple Value func (ai *Streamer) Get(field string) interface{} { return reflect.ValueOf(ai).Elem().FieldByName(field).Interface() } // Set Simple Value func (ai *Streamer) Set(field string, value interface{}) { reflect.ValueOf(ai).Elem().FieldByName(field).Set(reflect.ValueOf(value)) } type CollectLog struct { LogUid int64 `field:"log_uid"` // 日志id StreamerUid int64 `field:"streamer_uid"` // StreamerId 表id与 Platform Platform `field:"platform"` // UserId string `field:"user_id"` // 平台的UserId IsLiveStreaming bool `field:"is_live_streaming"` // IsError bool `field:"is_error"` // Followers *sql.NullInt64 `field:"followers"` // Views *sql.NullInt64 `field:"views"` // Giver interface{} `field:"giver"` // Gratuity *sql.NullInt64 `field:"gratuity"` // LiveTitle *sql.NullString `field:"live_title"` // LiveStartTime *sql.NullTime `field:"live_start_time"` // LiveEndTime *sql.NullTime `field:"live_end_time"` // UpdateTime *sql.NullTime `field:"update_time"` // Tags interface{} `field:"tags"` Ext interface{} `field:"ext"` // ErrorMsg *sql.NullString `field:"error_msg"` // Comments interface{} `field:"comments"` // } // Get Simple Value func (cl *CollectLog) Get(field string) interface{} { return reflect.ValueOf(cl).Elem().FieldByName(field).Interface() } // Set Simple Value func (cl *CollectLog) Set(field string, value interface{}) { reflect.ValueOf(cl).Elem().FieldByName(field).Set(reflect.ValueOf(value)) }