like.go 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. package like
  2. import (
  3. "database/sql/driver"
  4. "go-common/app/service/main/archive/api"
  5. "time"
  6. )
  7. // Like like
  8. type Like struct {
  9. ID int64 `json:"id"`
  10. Wid int64 `json:"wid"`
  11. Archive *api.Arc `json:"archive,omitempty"`
  12. }
  13. // Item like item struct.
  14. type Item struct {
  15. ID int64 `json:"id"`
  16. Wid int64 `json:"wid"`
  17. Ctime wocaoTime `json:"ctime"`
  18. Sid int64 `json:"sid"`
  19. Type int `json:"type"`
  20. Mid int64 `json:"mid"`
  21. State int `json:"state"`
  22. StickTop int `json:"stick_top"`
  23. Mtime wocaoTime `json:"mtime"`
  24. }
  25. // Content like_content.
  26. type Content struct {
  27. ID int64 `json:"id"`
  28. Message string `json:"message"`
  29. IP int64 `json:"ip"`
  30. Plat int `json:"plat"`
  31. Device int `json:"device"`
  32. Ctime wocaoTime `json:"ctime"`
  33. Mtime wocaoTime `json:"mtime"`
  34. Image string `json:"image"`
  35. Reply string `json:"reply"`
  36. Link string `json:"link"`
  37. ExName string `json:"ex_name"`
  38. }
  39. // WebData act web data.
  40. type WebData struct {
  41. ID int64 `json:"id"`
  42. Vid int64 `json:"vid"`
  43. Data string `json:"data"`
  44. }
  45. // Action like_action .
  46. type Action struct {
  47. ID int64 `json:"id"`
  48. Lid int64 `json:"lid"`
  49. Mid int64 `json:"mid"`
  50. Action int64 `json:"action"`
  51. Ctime wocaoTime `json:"ctime"`
  52. Mtime wocaoTime `json:"mtime"`
  53. Sid int64 `json:"sid"`
  54. IP int64 `json:"ip"`
  55. }
  56. // Extend .
  57. type Extend struct {
  58. ID int64 `json:"id"`
  59. Lid int64 `json:"lid"`
  60. Like int64 `json:"like"`
  61. Ctime wocaoTime `json:"ctime"`
  62. Mtime wocaoTime `json:"mtime"`
  63. }
  64. // LastTmStat .
  65. type LastTmStat struct {
  66. Last int64
  67. }
  68. type wocaoTime string
  69. // Scan scan time.
  70. func (jt *wocaoTime) Scan(src interface{}) (err error) {
  71. switch sc := src.(type) {
  72. case time.Time:
  73. *jt = wocaoTime(sc.Format("2006-01-02 15:04:05"))
  74. case string:
  75. *jt = wocaoTime(sc)
  76. }
  77. return
  78. }
  79. // Value get time value.
  80. func (jt wocaoTime) Value() (driver.Value, error) {
  81. return time.Parse("2006-01-02 15:04:05", string(jt))
  82. }