go-common/app/job/openplatform/open-sug/model/databus.go

83 lines
1.9 KiB
Go
Raw Normal View History

2019-04-22 10:49:16 +00:00
package model
import (
"encoding/json"
"strings"
)
// Message ...
type Message struct {
Action string `json:"action"`
Table string `json:"table"`
New json.RawMessage `json:"new"`
Old json.RawMessage `json:"old"`
}
// Season ...
type Season struct {
ID int `json:"id"`
Title string `json:"title"`
SeasonTitle string `json:"season_title"`
Mode int `json:"mode"`
Type int `json:"type"`
Alias string `json:"alias"`
AliasSearch string `json:"alias_search"`
Brief string `json:"brief"`
Evaluate string `json:"evaluate"`
Actors string `json:"actors"`
Staff string `json:"staff"`
SquareCover string `json:"square_cover"`
Cover string `json:"cover"`
EpCover string `json:"epcover"`
Area int `json:"area"`
Ctime string `json:"ctime"`
Mtime string `json:"mtime"`
}
// EsSeason ...
type EsSeason struct {
ID int `json:"id"`
Title string `json:"title"`
Alias string `json:"alias"`
AliasSearch []string `json:"alias_search"`
Actors []string `json:"actors"`
}
//EsFormat ...
func (s *Season) EsFormat() (es *EsSeason) {
es = &EsSeason{
ID: s.ID,
Title: s.Title,
Alias: s.Alias,
AliasSearch: make([]string, 0),
Actors: make([]string, 0),
}
if s.AliasSearch != "" {
es.AliasSearch = strings.Split(s.AliasSearch, ",")
}
if s.Actors != "" {
for _, act := range strings.Split(s.Actors, "\n") {
if act == "" {
continue
}
act := strings.Split(act, "")
if len(act) > 0 {
es.Actors = append(es.Actors, act[0])
}
}
}
return
}
// FieldDiff 检查指定字段是有变化
func (s *Season) FieldDiff(season *Season) bool {
return s.Title != season.Title ||
s.Alias != season.Alias ||
s.AliasSearch != season.AliasSearch ||
s.Actors != season.Actors ||
s.Mtime != season.Mtime
}