package models import ( "github.com/beego/beego/v2/client/orm" "time" ) type CygxReportHistoryRecord struct { Id int `orm:"column(id);pk"` ArticleId int UserId int CreateTime time.Time Mobile string `description:"手机号"` Email string `description:"邮箱"` CompanyId int `description:"公司id"` CompanyName string `description:"公司名称"` ModifyTime time.Time `description:"修改时间"` ReportType string `description:"报告类型,bgjx:报告精选、bzyjhz:本周研究汇总、szjyhz:上周纪要汇总"` RealName string `description:"用户实际名称"` SellerName string `description:"所属销售"` StopTime int `description:"停留时间"` OutType int `description:"退出方式,1正常退出,2强制关闭"` RegisterPlatform int `description:"来源 1小程序,2:网页"` } type CygxReportHistoryRecordLog struct { Id int `orm:"column(id);pk"` ArticleId int UserId int CreateTime time.Time Mobile string `description:"手机号"` Email string `description:"邮箱"` CompanyId int `description:"公司id"` CompanyName string `description:"公司名称"` ModifyTime time.Time `description:"修改时间"` ReportType string `description:"报告类型,bgjx:报告精选、bzyjhz:本周研究汇总、szjyhz:上周纪要汇总"` RealName string `description:"用户实际名称"` SellerName string `description:"所属销售"` StopTime int `description:"停留时间"` OutType int `description:"退出方式,1正常退出,2强制关闭"` RegisterPlatform int `description:"来源 1小程序,2:网页"` } // 添加历史信息 func AddCygxReportHistoryRecord(item *CygxReportHistoryRecord) (lastId int64, err error) { o := orm.NewOrm() item.ModifyTime = time.Now() lastId, err = o.Insert(item) return } // 添加历史信息 func AddCygxReportHistoryRecordLog(item *CygxReportHistoryRecordLog) (lastId int64, err error) { o := orm.NewOrm() item.ModifyTime = time.Now() lastId, err = o.Insert(item) return } type AddStopTimeNewRep struct { Id int `description:"ID"` ArticleId int `description:"文章ID"` StopTime int `description:"停留时间"` OutType int `description:"退出方式,1正常退出,2强制关闭"` } func UpdateArticleStopTime(item *AddStopTimeNewRep) (err error) { o := orm.NewOrm() sql := `UPDATE cygx_article_history_record SET stop_time = ?,out_type = ? WHERE id =?` _, err = o.Raw(sql, item.StopTime, item.OutType, item.Id).Exec() return } // 获取最新的一条阅读记录 func GetNewArticleHistoryRecord(uid, articleId int) (item *AddStopTimeNewRep, err error) { o := orm.NewOrm() sql := `SELECT * FROM cygx_article_history_record WHERE user_id = ? AND article_id = ? ORDER BY id DESC LIMIT 1;` err = o.Raw(sql, uid, articleId).QueryRow(&item) return } type ListPvResp struct { ArticleId int `description:"文章ID"` Pv int `description:"pv"` } // 列表 func GetCygxReportHistoryRecordListPv(condition string, pars []interface{}) (items []*ListPvResp, err error) { o := orm.NewOrm() sql := `SELECT article_id ,COUNT(*) as pv FROM cygx_report_history_record WHERE 1= 1 ` if condition != "" { sql += condition } sql += " GROUP BY article_id " _, err = o.Raw(sql, pars).QueryRows(&items) return }