package services import ( "hongze/hongze_cygx/models" "hongze/hongze_cygx/utils" "strconv" ) // 添加历史信息 func AddCygxReportHistoryRecord(item *models.CygxReportHistoryRecord) (err error) { //defer func() { // if err != nil { // go utils.SendAlarmMsg("产品内测用户浏览信息记录失败"+err.Error(), 2) // } //}() if item.StopTime >= 5 { _, err = models.AddCygxReportHistoryRecord(item) if err != nil { go utils.SendAlarmMsg("报告精选用户浏览信息记录失败"+err.Error()+"报告类型"+item.ReportType+"报告ID:"+strconv.Itoa(item.ArticleId), 2) } } historyRecordLog := new(models.CygxReportHistoryRecordLog) historyRecordLog.UserId = item.UserId historyRecordLog.ArticleId = historyRecordLog.ArticleId historyRecordLog.CreateTime = historyRecordLog.CreateTime historyRecordLog.Mobile = historyRecordLog.Mobile historyRecordLog.Email = historyRecordLog.Email historyRecordLog.CompanyId = historyRecordLog.CompanyId historyRecordLog.CompanyName = historyRecordLog.CompanyName historyRecordLog.StopTime = historyRecordLog.StopTime historyRecordLog.OutType = historyRecordLog.OutType historyRecordLog.ReportType = historyRecordLog.ReportType historyRecordLog.RegisterPlatform = historyRecordLog.RegisterPlatform _, err = models.AddCygxReportHistoryRecordLog(historyRecordLog) if err != nil { go utils.SendAlarmMsg("报告精选用户浏览信息日志记录失败"+err.Error()+"报告类型"+item.ReportType+"报告ID:"+strconv.Itoa(item.ArticleId), 2) } return } // 获取 报告精选,本周研究汇总、上周纪要汇总Pv 阅读数据 func GetCygxReportHistoryRecordListMap(articleIds []int, reportType string) (mapPv map[int]int) { var err error defer func() { if err != nil { go utils.SendAlarmMsg("获取产品内测的阅读数据,信息失败,Err:"+err.Error(), 3) } }() lenArr := len(articleIds) if lenArr == 0 { return } var condition string var pars []interface{} condition = ` AND article_id IN (` + utils.GetOrmInReplace(lenArr) + `) AND report_type = ?` pars = append(pars, articleIds, reportType) list, e := models.GetCygxReportHistoryRecordListPv(condition, pars) if e != nil && e.Error() != utils.ErrNoRow() { return } mapPv = make(map[int]int, 0) for _, v := range list { mapPv[v.ArticleId] = v.Pv } return }