|
@@ -5,6 +5,7 @@ import (
|
|
|
"encoding/json"
|
|
|
"fmt"
|
|
|
"github.com/PuerkitoBio/goquery"
|
|
|
+ "github.com/rdlucklib/rdluck_tools/orm"
|
|
|
"hongze/hongze_cygx/models"
|
|
|
"hongze/hongze_cygx/utils"
|
|
|
"html"
|
|
@@ -592,3 +593,135 @@ func SynchronizationArtclehistory() {
|
|
|
}
|
|
|
fmt.Println("同步结束")
|
|
|
}
|
|
|
+
|
|
|
+//统计报表
|
|
|
+func StatisticalReport() {
|
|
|
+ var isSummaryNumAll, isClassNum, pvNumAll, uvNumAll int
|
|
|
+ list, err := models.GetChartPermissionActivity()
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("获取列表失败", err)
|
|
|
+ }
|
|
|
+ for _, v := range list {
|
|
|
+ var listPv []*models.ReportMappingStatistical
|
|
|
+ if v.PermissionName == "研选" {
|
|
|
+ listPv, err = models.GetStatisticalReportArtilceExpert()
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("获取Pv列表失败", err)
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ listPv, err = models.GetStatisticalReportArtilce(v.ChartPermissionId)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("获取Pv列表失败", err)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ var pvNum, uvNum, isSummaryNum int
|
|
|
+ for _, v2 := range listPv {
|
|
|
+ pvNum += v2.Pv
|
|
|
+ uvNum += v2.Uv
|
|
|
+ if v2.IsSummary == "1" {
|
|
|
+ isSummaryNum += 1
|
|
|
+ }
|
|
|
+ if v2.IsClass == "1" && v.ChartPermissionId <= 22 {
|
|
|
+ isClassNum += 1
|
|
|
+ }
|
|
|
+ if v2.IsSummary == "1" && v.ChartPermissionId <= 22 {
|
|
|
+ isSummaryNumAll += 1
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if v.ChartPermissionId <= 22 {
|
|
|
+ pvNumAll += pvNum
|
|
|
+ uvNumAll += uvNum
|
|
|
+ }
|
|
|
+ fmt.Println(v.PermissionName+"行业", len(listPv), "篇,其中主观类报告", isSummaryNum, "篇,客观类报告", len(listPv)-isSummaryNum, "篇。共产生阅读量pv-,", pvNum, ",uv-", uvNum)
|
|
|
+ }
|
|
|
+ fmt.Println("目前同步四大行业的总报告(已归类)数量", isClassNum, "篇,其中主观类报告", isSummaryNumAll, "篇,客观类报告", isClassNum-isSummaryNumAll, "篇。共产生阅读量pv-", pvNumAll, ",uv-", uvNumAll)
|
|
|
+ var totalOnline int //线上
|
|
|
+ var totalOffline int //线下
|
|
|
+ var totalPeople int //共累计预约外呼人数
|
|
|
+ var totalSignUpOff int //线下报名人数
|
|
|
+ var totalSignUpOffTime int //线下报名人数
|
|
|
+ var totalPeopleMeet int //线下参会人数
|
|
|
+ o := orm.NewOrm()
|
|
|
+ sql := `SELECT COUNT(1) FROM cygx_activity WHERE activity_type_id IN (1,2,3) AND publish_status = 1 AND is_submit_meeting = 1 AND activity_time <= NOW();`
|
|
|
+ err = o.Raw(sql).QueryRow(&totalOnline)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("获取线上", err)
|
|
|
+ }
|
|
|
+ sql = `SELECT COUNT(1) FROM cygx_activity WHERE activity_type_id IN (4,5,6) AND publish_status = 1 AND is_submit_meeting = 1 AND activity_time <= NOW();`
|
|
|
+ err = o.Raw(sql).QueryRow(&totalOffline)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("获取线下", err)
|
|
|
+ }
|
|
|
+ sql = `SELECT COUNT( 1 ) FROM
|
|
|
+ cygx_activity_signup as s
|
|
|
+ INNER JOIN cygx_activity as a ON a.activity_id = s.activity_id
|
|
|
+ WHERE
|
|
|
+ s.do_fail_type = 0
|
|
|
+ AND a.is_submit_meeting = 1
|
|
|
+ AND a.activity_time <= NOW()
|
|
|
+ AND a.publish_status = 1`
|
|
|
+ err = o.Raw(sql).QueryRow(&totalPeople)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("共累计预约外呼人数", err)
|
|
|
+ }
|
|
|
+
|
|
|
+ sql = `SELECT COUNT( 1 ) FROM
|
|
|
+ cygx_activity_signup as s
|
|
|
+ INNER JOIN cygx_activity as a ON a.activity_id = s.activity_id
|
|
|
+ WHERE
|
|
|
+ s.do_fail_type = 0
|
|
|
+ AND a.is_submit_meeting = 1
|
|
|
+ AND a.activity_time <= NOW()
|
|
|
+ AND a.activity_type_id IN (4,5,6)
|
|
|
+ AND a.publish_status = 1`
|
|
|
+ err = o.Raw(sql).QueryRow(&totalSignUpOff)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("共累计预约外呼人数", err)
|
|
|
+ }
|
|
|
+
|
|
|
+ sql = `SELECT COUNT( 1 ) FROM
|
|
|
+ cygx_activity_signup as s
|
|
|
+ INNER JOIN cygx_activity as a ON a.activity_id = s.activity_id
|
|
|
+ WHERE
|
|
|
+ s.do_fail_type = 0
|
|
|
+ AND a.publish_status = 1
|
|
|
+ AND a.is_submit_meeting = 1
|
|
|
+ AND a.activity_time <= NOW()
|
|
|
+ AND a.is_submit_meeting = 1
|
|
|
+ AND a.activity_type_id IN (4,5,6);`
|
|
|
+ err = o.Raw(sql).QueryRow(&totalSignUpOffTime)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("线下报名参会人数", err)
|
|
|
+ }
|
|
|
+
|
|
|
+ sql = `SELECT COUNT( 1 ) FROM
|
|
|
+ cygx_activity_signup as s
|
|
|
+ INNER JOIN cygx_activity as a ON a.activity_id = s.activity_id
|
|
|
+ WHERE
|
|
|
+ s.do_fail_type = 0
|
|
|
+ AND a.is_submit_meeting = 1
|
|
|
+ AND a.activity_time <= NOW()
|
|
|
+ AND a.publish_status = 1
|
|
|
+ AND s.is_meeting = 1
|
|
|
+ AND a.activity_type_id IN (4,5,6);`
|
|
|
+ err = o.Raw(sql).QueryRow(&totalPeopleMeet)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("线下参会人数", err)
|
|
|
+ }
|
|
|
+
|
|
|
+ fmt.Println("共上线活动", totalOnline+totalOffline, "个,其中线上", totalOnline, "个,线下", totalOffline, "个")
|
|
|
+ fmt.Println("共累计预约外呼人数", totalPeople, "人")
|
|
|
+ fmt.Println("报名线下参会", totalSignUpOff, "人,实际到会人数", totalPeopleMeet, "人,线下到会率约", totalPeopleMeet*100/totalSignUpOff, "%")
|
|
|
+
|
|
|
+ num := totalPeopleMeet / totalSignUpOffTime
|
|
|
+ fmt.Println(num)
|
|
|
+ fmt.Println(totalOnline)
|
|
|
+ fmt.Println(totalOffline)
|
|
|
+ fmt.Println(totalPeople)
|
|
|
+ fmt.Println(totalSignUpOff)
|
|
|
+ fmt.Println(totalPeopleMeet)
|
|
|
+ fmt.Println(totalSignUpOffTime)
|
|
|
+ fmt.Println(totalPeopleMeet / totalSignUpOffTime)
|
|
|
+ return
|
|
|
+
|
|
|
+}
|