package items import ( "encoding/xml" "git.aionnect.com/aionnect/go-common/utils" "git.aionnect.com/aionnect/go-common/utils/date" "git.aionnect.com/aionnect/go-common/utils/jsonutil" ) type Content struct { ContentId int `json:"contentid" xorm:"content_id"` ProgName string `json:"progName" xorm:"prog_name"` UpdateTime date.Date `json:"updateTime" xorm:"update_time"` URL string `json:"url" xorm:"url"` AreaId int `json:"areaId" xorm:"area_id"` AreaName string `json:"areaName" xorm:"area_name"` PopTitle string `json:"popTitle" xorm:"title"` ProgId int `json:"progId" xorm:"prog_id"` CatId int `json:"catid" xorm:"cat_id"` IsConcern int `json:"isConcern" xorm:"is_concern"` //ShowTitle string `json:"showTitle"` Province string `json:"province" xorm:"province"` City string `json:"city" xorm:"city"` Status string `json:"status" xorm:"status"` Text string `json:"text" xorm:"text"` ID utils.Long `xorm:"'id' not null pk BIGINT(20)" json:"id"` UpdatedAt date.Datetime `xorm:"'update_at' updated not null TIMESTAMP" json:"updatedAt,omitempty"` CreatedAt date.Datetime `xorm:"'create_at' not null DATETIME" json:"createdAt,omitempty"` } type Paging struct { RowCount int `json:"rowCount"` PagesCount int `json:"pagesCount"` Data []*Content `json:"data"` IsLaunch int `json:"isLaunch"` } type Result struct { Status int `json:"status"` Msg string `json:"msg"` Data *Paging `json:"data"` } func (Content) TableName() string { return "qian_li_ma_content" } func (that *Content) UnmarshalJSON(value []byte) error { // 反序列化Json的时候,如果没有ID,自动给一个 type Alias Content alias := &struct { *Alias }{Alias: (*Alias)(that)} if err := jsonutil.Unmarshal(value, &alias); err != nil { return err } if nil != alias && alias.ID == 0 { alias.ID = utils.NextId() } return nil } func (that *Content) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error { // 反序列化XML的时候,如果没有ID,自动给一个 type Alias Content alias := &struct { *Alias }{Alias: (*Alias)(that)} if err := d.DecodeElement(&alias, &start); err != nil { return err } if nil != alias && alias.ID == 0 { alias.ID = utils.NextId() } return nil } // 分页参数 type PagingParams struct { PagingNo int // 页码 DaysLimit int // 最多只爬到几天前的数据 }