123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- package models
- import "rdluck_tools/orm"
- type ResearchReportViewers struct {
- ResearchReportName string
- ReportType string
- Count int //访问次数
- UserCount int //访问人数
- CreateDate string
- }
- func GetResearchReportViewers(reportType string) (items []*ResearchReportViewers, err error) {
- sql := `select rr.research_report_name,rr.type as report_type,count(*) AS count,count(DISTINCT user_id) AS user_count
- from user_view_history uvh
- inner join research_report rr on rr.research_report_id = uvh.research_report_id
- where rr.type = ?
- group by rr.research_report_id
- order by rr.research_report_date desc`
- o := orm.NewOrm()
- _, err = o.Raw(sql, reportType).QueryRows(&items)
- return
- }
- func GetRddpReportViewers() (items []*ResearchReportViewers, err error) {
- sql := `select b.title as research_report_name, replace(SUBSTRING(b.create_time,6,5),'-','') as create_date ,b.classify_name_second AS report_type,count(*) AS count,count(DISTINCT a.user_id) AS user_count
- from report_view_record as a
- inner join report as b on a.report_id=b.id
- group by b.id
- order by b.create_time desc
- `
- o := orm.NewOrm()
- o.Using("rddp")
- _, err = o.Raw(sql).QueryRows(&items)
- return
- }
- type ReportType struct {
- TypeName string
- TypeValue string
- }
- type ResearchReportViewersDetail struct {
- RealName string
- CompanyName string
- CreatedTime string //访问时间
- ResearchReportName string
- ReportVariety string
- ResearchReportType string
- ReportCreateDate string
- }
- func GetResearchReportViewersDetail(startTime, endTime, reportType string) (items []*ResearchReportViewersDetail, err error) {
- sql := `
- select u.real_name,c.company_name,uvh.created_time,rr.research_report_name,ifnull(rct.report_chapter_type_name,rr.report_variety) as report_variety,rr.type as research_report_type
- from user_view_history uvh
- inner join wx_user u on u.user_id = uvh.user_id
- inner join company c on c.company_id = u.company_id
- inner join research_report rr on rr.research_report_id = uvh.research_report_id
- left join research_report_type rrt on rrt.research_report_type_id = uvh.research_report_type_id
- left join report_chapter_type rct on rct.report_chapter_type_id = rrt.type_id
- where uvh.created_time > ?
- and uvh.created_time <= ?
- and rr.type =?
- and c.company_id not in (1,16)
- `
- o := orm.NewOrm()
- _, err = o.Raw(sql, startTime, endTime, reportType).QueryRows(&items)
- return
- }
- func GetRddpReportViewersDetail(startTime, endTime string) (items []*ResearchReportViewersDetail, err error) {
- sql := `
- SELECT u.real_name,c.company_name,uvh.create_time as created_time,REPLACE(SUBSTRING(r.create_time,6,5),'-','') AS report_create_date,r.title as research_report_name,r.classify_name_second as research_report_type
- FROM hongze_rddp.report_view_record AS uvh
- INNER JOIN hongze_rddp.report AS r ON uvh.report_id=r.id
- INNER JOIN wx_user u ON u.user_id = uvh.user_id
- INNER JOIN company c ON c.company_id = u.company_id
- WHERE uvh.create_time >?
- AND uvh.create_time <=?
- AND c.company_id NOT IN (1,16)
- ORDER BY uvh.create_time DESC
- `
- o := orm.NewOrm()
- _, err = o.Raw(sql, startTime, endTime).QueryRows(&items)
- return
- }
- type HistoryViewTimes struct {
- RealName string
- CompanyName string
- ViewCount int
- CreateTime string
- UserId int
- }
- func GetHistoryViewTimes() (items []*HistoryViewTimes, err error) {
- sql := `select u.user_id,u.real_name,c.company_name,count(distinct(DATE_FORMAT(uvh.created_time,'%Y-%m-%d'))) AS view_count,max(uvh.created_time) AS create_time
- from user_view_history uvh
- inner join wx_user u on u.user_id = uvh.user_id
- inner join company c on c.company_id = u.company_id
- and c.company_id not in (1,16)
- group by uvh.user_id
- order by max(uvh.created_time) desc `
- o := orm.NewOrm()
- _, err = o.Raw(sql).QueryRows(&items)
- return
- }
- func GetRddpHistoryViewTimes() (items []*HistoryViewTimes, err error) {
- sql := `select u.user_id,u.real_name,c.company_name,count(distinct(DATE_FORMAT(rvr.create_time,'%Y-%m-%d'))) AS view_count ,max(rvr.create_time) AS create_time
- from hongze_rddp.report_view_record rvr
- inner join wx_user u on u.user_id = rvr.user_id
- inner join company c on c.company_id = u.company_id
- and c.company_id not in (1,16)
- group by rvr.user_id
- order by max(rvr.create_time) desc `
- o := orm.NewOrm()
- _, err = o.Raw(sql).QueryRows(&items)
- return
- }
|