banner_view_history.go 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package models
  2. import (
  3. "github.com/beego/beego/v2/client/orm"
  4. "time"
  5. )
  6. // BannerViewHistory banner访问历史
  7. type BannerViewHistory struct {
  8. ViewHistoryID uint64 `orm:"column(view_history_id);pk"` // id
  9. UserID uint64 // 用户id
  10. Mobile string // 手机号
  11. Email string // 邮箱
  12. RealName string // 用户实际名称
  13. CompanyName string // 公司名称
  14. CreatedTime time.Time // 创建时间
  15. LastUpdatedTime time.Time
  16. FirstSource int // 一级来源 1小程序移动 2小程序pc 3研报官网
  17. SecondSource int // 二级来源 1首页 2研报详情页
  18. BannerUrl string
  19. }
  20. func GetBannerHistoryList() (items []*BannerHistoryListRespItem, err error) {
  21. sql := ` SELECT *,COUNT(*) AS pv,MAX(last_updated_time) AS last_updated_time FROM banner_view_history
  22. WHERE 1=1 GROUP BY
  23. banner_url,
  24. first_source,
  25. second_source `
  26. o := orm.NewOrm()
  27. _, err = o.Raw(sql).QueryRows(&items)
  28. return
  29. }
  30. type SourcePv struct {
  31. FirstSource int
  32. SecondSource int
  33. Pv int
  34. LastUpdatedTime string
  35. }
  36. type BannerHistoryListRespItem struct {
  37. ViewHistoryID uint64 `orm:"column(view_history_id);pk"` // id
  38. UserID uint64 // 用户id
  39. Mobile string // 手机号
  40. Email string // 邮箱
  41. RealName string // 用户实际名称
  42. CompanyName string // 公司名称
  43. CreatedTime string // 创建时间
  44. LastUpdatedTime string
  45. FirstSource int // 一级来源 1小程序移动 2小程序pc 3研报官网
  46. SecondSource int // 二级来源 1首页 2研报详情页
  47. BannerUrl string
  48. Pv int
  49. SourceList []*SourcePv
  50. StartDate string
  51. EndDate string
  52. Remark string
  53. }
  54. type BannerHistoryListResp struct {
  55. List []*BannerHistoryListRespItem
  56. }
  57. func GetBannerUrlList() (items []*BannerHistoryListRespItem, err error) {
  58. sql := ` SELECT *,COUNT(*) AS pv FROM banner_view_history WHERE 1=1 GROUP BY banner_url `
  59. o := orm.NewOrm()
  60. _, err = o.Raw(sql).QueryRows(&items)
  61. return
  62. }