ソースを参照

添加每日资讯晨报

xingzai 4 年 前
コミット
71e364f7ca
2 ファイル変更99 行追加7 行削除
  1. 52 1
      models/report_view.go
  2. 47 6
      services/report_view.go

+ 52 - 1
models/report_view.go

@@ -1,6 +1,8 @@
 package models
 
-import "rdluck_tools/orm"
+import (
+	"rdluck_tools/orm"
+)
 
 type ResearchReportViewers struct {
 	ResearchReportName string
@@ -119,3 +121,52 @@ func GetRddpHistoryViewTimes() (items []*HistoryViewTimes, err error) {
 	_, err = o.Raw(sql).QueryRows(&items)
 	return
 }
+
+//每日资讯
+//func GetAdvisoryViewersDetail(startTime, endTime string) (items []*ResearchReportViewersDetail, err error) {
+//	sql := `
+//		SELECT
+//			u.real_name,
+//			c.company_name,
+//			aavr.create_time AS created_time,
+//			art.title AS research_report_name,
+//			art.chart_permission_name AS research_report_type
+//		FROM
+//			advisory_article_view_record AS aavr
+//			INNER JOIN advisory_article AS art ON aavr.article_id = art.advisory_article_id
+//			INNER JOIN wx_user u ON u.user_id = aavr.user_id
+//			INNER JOIN company c ON c.company_id = u.company_id
+//		WHERE
+//			aavr.create_time > ?
+//			AND aavr.create_time <= ?
+//			AND c.company_id NOT IN ( 1 )
+//		ORDER BY
+//			aavr.create_time DESC`
+//	o := orm.NewOrm()
+//	_, err = o.Raw(sql, startTime, endTime).QueryRows(&items)
+//	return
+//}
+
+func GetAdvisoryViewersDetail(startTime, endTime string) (items []*ResearchReportViewersDetail, err error) {
+	sql := `
+		SELECT
+			 u.real_name,
+			 c.company_name,
+			 aua.create_time AS created_time,
+			 cha.permission_name AS research_report_name
+		FROM
+			advisory_user_chart_article_record AS aua 
+			INNER JOIN chart_permission AS cha ON aua.chart_permission_id = cha.chart_permission_id 
+			INNER JOIN wx_user u ON u.user_id = aua.user_id 
+			INNER JOIN company c ON c.company_id = u.company_id 
+		WHERE
+			aua.create_time > ?
+			AND aua.create_time <= ?
+			AND c.company_id NOT IN ( 1 ) 
+		ORDER BY
+			aua.create_time DESC
+	`
+	o := orm.NewOrm()
+	_, err = o.Raw(sql, startTime, endTime).QueryRows(&items)
+	return
+}

+ 47 - 6
services/report_view.go

@@ -94,11 +94,17 @@ func ReportViewDetail() (err error) {
 			utils.FileLog.Info("crete ReportViewDetail err: %s", err.Error())
 		}
 	}()
+	//typeList := make([]*models.ReportType, 0)
+	//day := new(models.ReportType)
+	//day.TypeName = "晨报"
+	//day.TypeValue = "day"
+	//typeList = append(typeList, day)
 	typeList := make([]*models.ReportType, 0)
-	day := new(models.ReportType)
-	day.TypeName = "晨报"
-	day.TypeValue = "day"
-	typeList = append(typeList, day)
+	advisory := new(models.ReportType)
+	advisory.TypeName = "商品晨报"
+	advisory.TypeValue = "advisory"
+	typeList = append(typeList, advisory)
+
 
 	week := new(models.ReportType)
 	week.TypeName = "周报"
@@ -166,6 +172,40 @@ func ReportViewDetail() (err error) {
 				cellE := row.AddCell()
 				cellE.Value = v.TypeName
 			}
+		} else if v.TypeValue == "advisory" {
+			sheet, err := file.AddSheet(v.TypeName + "研报阅读统计")
+			if err != nil {
+				return err
+			}
+			//标头
+			rowTitle := sheet.AddRow()
+			cellA := rowTitle.AddCell()
+			cellA.Value = "用户名称"
+			cellB := rowTitle.AddCell()
+			cellB.Value = "公司名称"
+			cellC := rowTitle.AddCell()
+			cellC.Value = "访问时间"
+			cellD := rowTitle.AddCell()
+			cellD.Value = "访问标题"
+			cellE := rowTitle.AddCell()
+			cellE.Value = "报告类型"
+			items, err := models.GetAdvisoryViewersDetail(startTime, endTime)
+			if err != nil {
+				return err
+			}
+			for _, item := range items {
+				row := sheet.AddRow()
+				cellA := row.AddCell()
+				cellA.Value = item.RealName
+				cellB := row.AddCell()
+				cellB.Value = item.CompanyName
+				cellC := row.AddCell()
+				cellC.Value = item.CreatedTime
+				cellD := row.AddCell()
+				cellD.Value = item.ResearchReportName
+				cellE := row.AddCell()
+				cellE.Value = v.TypeName
+			}
 		} else {
 			sheet, err := file.AddSheet(v.TypeName + "研报阅读统计")
 			if err != nil {
@@ -210,6 +250,7 @@ func ReportViewDetail() (err error) {
 	title := "研报阅读统计报表"
 	savePath := "report_view_detail"+ time.Now().Format(utils.FormatDateTimeUnSpace) + ".xlsx"
 	err = file.Save("./" + savePath)
+	fmt.Println(err)
 	if err != nil {
 		return
 	}
@@ -220,7 +261,7 @@ func ReportViewDetail() (err error) {
 	if sendResult {
 		os.Remove(savePath)
 	}
-	fmt.Println("send result:", sendResult)
-	fmt.Println("end send email")
+	//fmt.Println("send result:", sendResult)
+	//fmt.Println("end send email")
 	return nil
 }