go-common/app/job/openplatform/open-sug/model/databus.go
2019-04-22 18:49:16 +08:00

83 lines
1.9 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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
}