123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194 |
- package model
- import (
- "database/sql/driver"
- "encoding/json"
- "errors"
- "strconv"
- "time"
- )
- var (
- // ErrFavResourceExist error this has been favoured.
- ErrFavResourceExist = errors.New("error this has been favoured")
- // ErrFavResourceAlreadyDel error this has been unfavoured.
- ErrFavResourceAlreadyDel = errors.New("error this has been unfavoured")
- )
- const (
- // CacheNotFound .
- CacheNotFound = -1
- // SyncInsert binlog action.
- SyncInsert = "insert"
- // SyncUpdate binlog action.
- SyncUpdate = "update"
- // SyncDelete binlog action.
- SyncDelete = "delete"
- )
- // CanelMessage binlog message.
- type CanelMessage struct {
- Action string `json:"action"`
- Table string `json:"table"`
- New json.RawMessage `json:"new"`
- Old json.RawMessage `json:"old"`
- }
- // OldCount .
- type OldCount struct {
- ID int64 `json:"id"`
- Aid int64 `json:"aid"`
- Count int64 `json:"count"`
- CTime Stime `json:"ctime"`
- MTime Stime `json:"mtime"`
- }
- // NewCount .
- type NewCount struct {
- ID int64 `json:"id"`
- Type int8 `json:"type"`
- Oid int64 `json:"oid"`
- Count int64 `json:"count"`
- CTime Stime `json:"ctime"`
- MTime Stime `json:"mtime"`
- }
- // OldFolder .
- type OldFolder struct {
- ID int64 `json:"id"`
- Mid int64 `json:"mid"`
- Name string `json:"name"`
- CurCount int `json:"cur_count"`
- State int8 `json:"state"`
- CTime Stime `json:"ctime"`
- MTime Stime `json:"mtime"`
- }
- // NewFolder .
- type NewFolder struct {
- ID int64 `json:"id"`
- Type int8 `json:"type"`
- Mid int64 `json:"mid"`
- Name string `json:"name"`
- Count int `json:"count"`
- Attr int8 `json:"attr"`
- State int8 `json:"state"`
- CTime Stime `json:"ctime"`
- MTime Stime `json:"mtime"`
- }
- // VideoFolder .
- type VideoFolder struct {
- ID int64 `json:"id"`
- Mid int64 `json:"mid"`
- Fid int64 `json:"fid"`
- VideoFid int64 `json:"video_fid"`
- CTime Stime `json:"ctime"`
- MTime Stime `json:"mtime"`
- }
- // OldVideo .
- type OldVideo struct {
- ID int64 `json:"id"`
- Mid int64 `json:"mid"`
- Fid int64 `json:"fid"`
- Aid int64 `json:"aid"`
- CTime Stime `json:"ctime"`
- MTime Stime `json:"mtime"`
- }
- // NewRelation .
- type NewRelation struct {
- ID int64 `json:"id"`
- Type int8 `json:"type"`
- Mid int64 `json:"mid"`
- Fid int64 `json:"fid"`
- Oid int64 `json:"oid"`
- State int8 `json:"state"`
- CTime Stime `json:"ctime"`
- MTime Stime `json:"mtime"`
- }
- // OldFolderSort .
- type OldFolderSort struct {
- ID int64 `json:"id"`
- Mid int64 `json:"mid"`
- Sort string `json:"sort"`
- CTime Stime `json:"ctime"`
- MTime Stime `json:"mtime"`
- }
- // NewFolderSort .
- type NewFolderSort struct {
- ID int64 `json:"id"`
- Type int8 `json:"type"`
- Mid int64 `json:"mid"`
- Sort []byte `json:"sort"`
- CTime Stime `json:"ctime"`
- MTime Stime `json:"mtime"`
- }
- // Stime .
- type Stime int64
- // Scan scan time.
- func (st *Stime) Scan(src interface{}) (err error) {
- switch sc := src.(type) {
- case time.Time:
- *st = Stime(sc.Unix())
- case string:
- var i int64
- i, err = strconv.ParseInt(sc, 10, 64)
- *st = Stime(i)
- }
- return
- }
- // Value get time value.
- func (st Stime) Value() (driver.Value, error) {
- return time.Unix(int64(st), 0), nil
- }
- // UnmarshalJSON implements the json.Unmarshaler interface.
- func (st *Stime) UnmarshalJSON(data []byte) error {
- timestamp, err := strconv.ParseInt(string(data), 10, 64)
- if err == nil {
- *st = Stime(timestamp)
- return nil
- }
- t, err := time.ParseInLocation(`"2006-01-02 15:04:05"`, string(data), time.Local)
- if err == nil {
- *st = Stime(t.Unix())
- }
- return nil
- }
- // StatMsg .
- type StatMsg struct {
- Play *int64 `json:"play"`
- Fav *int64 `json:"fav"`
- Share *int64 `json:"share"`
- Oid int64 `json:"oid"`
- }
- // StatCount .
- type StatCount struct {
- Type string `json:"type"`
- ID int64 `json:"id"`
- Count int64 `json:"count"`
- DisLike int64 `json:"dislike_count"`
- TimeStamp int64 `json:"timestamp"`
- }
- // PlayReport .
- type PlayReport struct {
- ID int64 `json:"id"`
- Mid int64 `json:"mid"`
- LV string `json:"lv"`
- IP string `json:"ip"`
- Buvid string `json:"buvid"`
- DeviceID string `json:"device_id"`
- UA string `json:"ua"`
- Refer string `json:"refer"`
- TS int64 `json:"ts"`
- }
|