105 lines
3.4 KiB
Go
105 lines
3.4 KiB
Go
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))
|
|
}
|