qianlima.go 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. package items
  2. import (
  3. "encoding/xml"
  4. "git.aionnect.com/aionnect/go-common/utils"
  5. "git.aionnect.com/aionnect/go-common/utils/date"
  6. "git.aionnect.com/aionnect/go-common/utils/jsonutil"
  7. )
  8. type Content struct {
  9. ContentId int `json:"contentid" xorm:"content_id"`
  10. ProgName string `json:"progName" xorm:"prog_name"`
  11. UpdateTime date.Date `json:"updateTime" xorm:"update_time"`
  12. URL string `json:"url" xorm:"url"`
  13. AreaId int `json:"areaId" xorm:"area_id"`
  14. AreaName string `json:"areaName" xorm:"area_name"`
  15. PopTitle string `json:"popTitle" xorm:"title"`
  16. ProgId int `json:"progId" xorm:"prog_id"`
  17. CatId int `json:"catid" xorm:"cat_id"`
  18. IsConcern int `json:"isConcern" xorm:"is_concern"`
  19. //ShowTitle string `json:"showTitle"`
  20. Province string `json:"province" xorm:"province"`
  21. City string `json:"city" xorm:"city"`
  22. Status string `json:"status" xorm:"status"`
  23. Text string `json:"text" xorm:"text"`
  24. ID utils.Long `xorm:"'id' not null pk BIGINT(20)" json:"id"`
  25. UpdatedAt date.Datetime `xorm:"'update_at' updated not null TIMESTAMP" json:"updatedAt,omitempty"`
  26. CreatedAt date.Datetime `xorm:"'create_at' not null DATETIME" json:"createdAt,omitempty"`
  27. }
  28. type Paging struct {
  29. RowCount int `json:"rowCount"`
  30. PagesCount int `json:"pagesCount"`
  31. Data []*Content `json:"data"`
  32. IsLaunch int `json:"isLaunch"`
  33. }
  34. type Result struct {
  35. Status int `json:"status"`
  36. Msg string `json:"msg"`
  37. Data *Paging `json:"data"`
  38. }
  39. func (Content) TableName() string {
  40. return "qian_li_ma_content"
  41. }
  42. func (that *Content) UnmarshalJSON(value []byte) error { // 反序列化Json的时候,如果没有ID,自动给一个
  43. type Alias Content
  44. alias := &struct {
  45. *Alias
  46. }{Alias: (*Alias)(that)}
  47. if err := jsonutil.Unmarshal(value, &alias); err != nil {
  48. return err
  49. }
  50. if nil != alias && alias.ID == 0 {
  51. alias.ID = utils.NextId()
  52. }
  53. return nil
  54. }
  55. func (that *Content) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error { // 反序列化XML的时候,如果没有ID,自动给一个
  56. type Alias Content
  57. alias := &struct {
  58. *Alias
  59. }{Alias: (*Alias)(that)}
  60. if err := d.DecodeElement(&alias, &start); err != nil {
  61. return err
  62. }
  63. if nil != alias && alias.ID == 0 {
  64. alias.ID = utils.NextId()
  65. }
  66. return nil
  67. }
  68. // 分页参数
  69. type PagingParams struct {
  70. PagingNo int // 页码
  71. DaysLimit int // 最多只爬到几天前的数据
  72. }