cygx_yanxuan_special_record.go 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. package models
  2. import (
  3. "github.com/beego/beego/v2/client/orm"
  4. "time"
  5. )
  6. type CygxYanxuanSpecialRecord struct {
  7. CygxYanxuanSpecialRecordId int `orm:"column(cygx_yanxuan_special_record_id);pk"`
  8. UserId int // 用户ID
  9. Mobile string // 手机号
  10. Email string // 邮箱
  11. CompanyId int // 公司ID
  12. CompanyName string // 公司名称
  13. RealName string // 用户实际名称
  14. SellerName string // 所属销售
  15. CreateTime time.Time // 创建时间
  16. ModifyTime time.Time // 修改时间
  17. RegisterPlatform int // 来源 1小程序,2:网页
  18. YanxuanSpecialId int // cygx_yanxuan_special 表主键ID
  19. StopTime int // 停留时间
  20. PermissionCode int // 权限状态,1:有权限,0:无权限
  21. }
  22. func AddCygxYanxuanSpecialRecord(item *CygxYanxuanSpecialRecord) (lastId int64, err error) {
  23. o := orm.NewOrm()
  24. lastId, err = o.Insert(item)
  25. return
  26. }
  27. type AddCygxYanxuanSpecialRecordReq struct {
  28. SpecialId int `description:"专栏文章id"`
  29. StopTime int `description:"停留时间"`
  30. }
  31. // 判断一个用户是否阅读过 某一篇研选专栏
  32. func GetCygxYanxuanSpecialRecordCountByUser(userId, yanxuanSpecialId int) (count int, err error) {
  33. sqlCount := ` SELECT COUNT(1) AS count FROM cygx_yanxuan_special_record as a WHERE user_id= ? AND yanxuan_special_id = ? `
  34. o := orm.NewOrm()
  35. err = o.Raw(sqlCount, userId, yanxuanSpecialId).QueryRow(&count)
  36. return
  37. }
  38. // 详细日志记录,不过滤时长小于 3 秒的那种
  39. type CygxYanxuanSpecialRecordLog struct {
  40. CygxYanxuanSpecialRecordId int `orm:"column(cygx_yanxuan_special_record_id);pk"`
  41. UserId int // 用户ID
  42. Mobile string // 手机号
  43. Email string // 邮箱
  44. CompanyId int // 公司ID
  45. CompanyName string // 公司名称
  46. RealName string // 用户实际名称
  47. SellerName string // 所属销售
  48. CreateTime time.Time // 创建时间
  49. ModifyTime time.Time // 修改时间
  50. RegisterPlatform int // 来源 1小程序,2:网页
  51. YanxuanSpecialId int // cygx_yanxuan_special 表主键ID
  52. StopTime int // 停留时间
  53. PermissionCode int // 权限状态,1:有权限,0:无权限
  54. }
  55. func AddCygxYanxuanSpecialRecordLog(item *CygxYanxuanSpecialRecordLog) (lastId int64, err error) {
  56. o := orm.NewOrm()
  57. lastId, err = o.Insert(item)
  58. return
  59. }
  60. type LisYanxuanSpecialRecordPvResp struct {
  61. YanxuanSpecialId int `description:"文章ID"`
  62. Pv int `description:"pv"`
  63. Uv int `description:"pv"`
  64. }
  65. // pv 列表
  66. func GetCygxYanxuanSpecialRecordListPv(condition string, pars []interface{}) (items []*LisYanxuanSpecialRecordPvResp, err error) {
  67. o := orm.NewOrm()
  68. sql := `SELECT
  69. COUNT( 1 ) AS pv,
  70. yanxuan_special_id
  71. FROM
  72. cygx_yanxuan_special_record WHERE 1 = 1 `
  73. if condition != "" {
  74. sql += condition
  75. }
  76. sql += ` GROUP BY yanxuan_special_id `
  77. _, err = o.Raw(sql, pars).QueryRows(&items)
  78. return
  79. }