package proto import "stat/models/downloadstat" type ConversionRate struct { VisitToDownloadRate float64 `json:"visitToDownloadRate"` // 浏览下载转化率 VisitToInstallRate float64 `json:"visitToInstallRate"` // 浏览安装转化率 DownloadToInstallRate float64 `json:"downloadToInstallRate"` // 下载安装转化率 } type DownloadStatInfo struct { downloadstat.Stat ConversionRate } func (s *DownloadStatInfo) CalcConversionRate() { if s.VisitUnique != 0 { s.VisitToDownloadRate = float64(s.DownUnique*100) / float64(s.VisitUnique) s.VisitToInstallRate = float64(s.InstallUnique*100) / float64(s.VisitUnique) } if s.DownUnique != 0 { s.DownloadToInstallRate = float64(s.InstallUnique*100) / float64(s.DownUnique) } } func StatSummation(base, value *DownloadStatInfo) { downloadstat.StatSummation(&base.Stat, &value.Stat) }