瀏覽代碼

Merge remote-tracking branch 'origin/master' into debug

Roc 2 年之前
父節點
當前提交
321a46ae20
共有 3 個文件被更改,包括 108 次插入23 次删除
  1. 23 1
      models/report_view.go
  2. 21 19
      services/data/trade_position_analysis.go
  3. 64 3
      services/report_view.go

+ 23 - 1
models/report_view.go

@@ -80,7 +80,7 @@ func GetRddpReportViewersDetail(startTime, endTime string) (items []*ResearchRep
 			WHERE uvh.create_time >?
             AND uvh.create_time <=?
 			AND c.company_id NOT IN (1)
-			AND r.classify_name_first not in ("周报","大宗商品","数据点评","会议纪要","年报合集","需求报告")
+			AND r.classify_name_first not in ("晨报","周报","大宗商品","数据点评","会议纪要","年报合集","需求报告")
 			AND r.classify_id_second not in (113,114,127,134,141,149)
 			ORDER BY uvh.create_time DESC
 `
@@ -102,6 +102,28 @@ type RddpWeekReportViewersDetail struct {
 	ClassifyNameSecond string
 }
 
+func GetRddpDayReportViewersDetail(startTime, endTime string) (items []*RddpWeekReportViewersDetail, 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 ,rc.title chapter_title,rc.type_name as report_variety
+FROM
+	hongze_rddp.report_view_record AS uvh
+	INNER JOIN hongze_rddp.report AS r ON uvh.report_id = r.id
+	INNER JOIN hongze_rddp.report_chapter AS rc ON uvh.report_id = rc.report_id and uvh.report_chapter_id=rc.report_chapter_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)
+			AND r.classify_name_first = "晨报"
+			ORDER BY uvh.create_time DESC
+`
+	o := orm.NewOrm()
+	_, err = o.Raw(sql, startTime, endTime).QueryRows(&items)
+	return
+}
+
 func GetRddpWeekReportViewersDetail(startTime, endTime string) (items []*RddpWeekReportViewersDetail, err error) {
 	sql := `
 			SELECT

+ 21 - 19
services/data/trade_position_analysis.go

@@ -14,26 +14,28 @@ import (
 // InitPositionTask 统计今日交易所的持仓分析数据
 func InitPositionTask(cont context.Context) (err error) {
 	exchanges := []string{"zhengzhou", "dalian", "shanghai", "cffex", "ine"} //郑商所,大商所,上期所,中金所,上期能源
-	startDate := time.Now().Format(utils.FormatDate)
-	endDate := startDate
-	for _, v := range exchanges {
-		exchange := v
-		err = nil
-		fmt.Println("InitPositionTask:	启动:" + exchange)
-		utils.FileLog.Info("InitPositionTask:	启动:" + exchange)
-
-		fmt.Println("开始" + startDate + "结束" + endDate)
-		utils.FileLog.Info(fmt.Sprintf("InitTradePosition:开始:%s; 结束:%s", startDate, endDate))
-		tErr, errMsg := InitTradePosition(exchange, startDate, endDate)
-		if tErr != nil {
-			err = tErr
-			fmt.Println("InitTradePosition: 操作失败:" + errMsg + tErr.Error())
-			utils.FileLog.Info(fmt.Sprintf("InitTradePosition: 操作失败:%s:%s", errMsg, tErr.Error()))
-			continue
-		}
+	for i := 1; i >= 0; i-- {
+		startDate := time.Now().AddDate( 0, 0, -i).Format(utils.FormatDate)
+		endDate := startDate
+		for _, v := range exchanges {
+			exchange := v
+			err = nil
+			fmt.Println("InitPositionTask:	启动:" + exchange)
+			utils.FileLog.Info("InitPositionTask:	启动:" + exchange)
+
+			fmt.Println("开始" + startDate + "结束" + endDate)
+			utils.FileLog.Info(fmt.Sprintf("InitTradePosition:开始:%s; 结束:%s", startDate, endDate))
+			tErr, errMsg := InitTradePosition(exchange, startDate, endDate)
+			if tErr != nil {
+				err = tErr
+				fmt.Println("InitTradePosition: 操作失败:" + errMsg + tErr.Error())
+				utils.FileLog.Info(fmt.Sprintf("InitTradePosition: 操作失败:%s:%s", errMsg, tErr.Error()))
+				continue
+			}
 
-		fmt.Println("InitTradePosition:" + exchange + "已完成")
-		utils.FileLog.Info("InitTradePosition:" + exchange + "已完成")
+			fmt.Println("InitTradePosition:" + exchange + "已完成")
+			utils.FileLog.Info("InitTradePosition:" + exchange + "已完成")
+		}
 	}
 	return
 }

+ 64 - 3
services/report_view.go

@@ -9,7 +9,7 @@ import (
 	"time"
 )
 
-//报告历史访问次数
+// 报告历史访问次数
 func ReportViewTimes() (err error) {
 	defer func() {
 		if err != nil {
@@ -86,7 +86,7 @@ func ReportViewTimes() (err error) {
 	return nil
 }
 
-//报告访问详情
+// 报告访问详情
 func ReportViewDetail() (err error) {
 	defer func() {
 		if err != nil {
@@ -136,7 +136,68 @@ func ReportViewDetail() (err error) {
 	file := xlsx.NewFile()
 	for _, v := range typeList {
 		fmt.Println(v.TypeName, v.TypeValue)
-		if v.TypeName == `周报` {
+		if v.TypeName == `晨报` {
+			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 = "访问页面"
+			cellF := rowTitle.AddCell()
+			cellF.Value = "报告类型"
+
+			items, err := models.GetResearchReportViewersDetail(startTime, endTime, v.TypeValue)
+			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 = item.ReportVariety
+				cellF := row.AddCell()
+				cellF.Value = v.TypeName
+			}
+
+			//新晨报的数据
+			weekItems, err := models.GetRddpDayReportViewersDetail(startTime, endTime)
+			if err != nil {
+				return err
+			}
+			for _, item := range weekItems {
+				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 + "(" + item.ReportCreateDate + ")"
+				cellE := row.AddCell()
+				cellE.Value = item.ReportVariety
+				cellF := row.AddCell()
+				cellF.Value = v.TypeName
+			}
+			continue
+		} else if v.TypeName == `周报` {
 			sheet, err := file.AddSheet(v.TypeName + "研报阅读统计")
 			if err != nil {
 				return err