Browse Source

Merge branch 'bzq/uv' of xyxie/hongze_yb_en_api into debug

鲍自强 9 months ago
parent
commit
44d1f663a8

+ 6 - 0
models/english_report/report.go

@@ -204,6 +204,12 @@ func (r *Report) UpdateUvEmailByReportCode(reportCode string) (err error) {
 	return
 }
 
+func (r *Report) ModifyUvEmailByReportCode(reportCode string, uvEmail int) (err error) {
+	sql := `UPDATE english_report SET uv_email = ? WHERE report_code = ?  `
+	err = global.DEFAULT_MYSQL.Exec(sql, uvEmail, reportCode).Error
+	return
+}
+
 func (r *Report) UpdatePvByReportCode(reportCode string) (err error) {
 	sql := `UPDATE english_report SET pv = pv+1 WHERE report_code = ?  `
 	err = global.DEFAULT_MYSQL.Exec(sql, reportCode).Error

+ 7 - 1
models/english_report_email/email_pv.go

@@ -23,4 +23,10 @@ func (e *EmailPv) TableName() string {
 func (e *EmailPv) Add() (err error) {
 	err = global.DEFAULT_MYSQL.Create(e).Error
 	return
-}
+}
+
+func GetDistinctEmailPvCount(reportId int) (count int, err error) {
+	sql := `SELECT COUNT(DISTINCT email_id) FROM english_report_email_pv WHERE report_id = ? AND report_type = 0`
+	err = global.DEFAULT_MYSQL.Raw(sql, reportId).Scan(&count).Error
+	return
+}

+ 15 - 0
services/english_report/report.go

@@ -37,6 +37,21 @@ func DealEmail(reportItem *english_report.Report, reportCode string, shareEmailI
 		errMsg = "获取邮箱阅读量失败, Err:" + err.Error()
 		return
 	}
+	// 历史uv阅读量修复
+	if reportItem.PvEmail > 0 && reportItem.UvEmail == 0 {
+		tmpNum, er := english_report_email.GetDistinctEmailPvCount(int(reportItem.Id))
+		if er != nil {
+			errMsg = "获取用户阅读量失败, Err:" + err.Error()
+			err = er
+			return
+		}
+		err = reportItem.ModifyUvEmailByReportCode(reportItem.ReportCode, tmpNum)
+		if err != nil {
+			errMsg = "获取用户阅读量失败, Err:" + err.Error()
+			return
+		}
+	}
+
 	if count == 0 {
 		if err = reportItem.UpdateUvEmailByReportCode(reportCode); err != nil {
 			errMsg = "更新报告邮箱UV失败, Err:" + err.Error()