forked from all_user/stat_center
29 lines
864 B
Go
29 lines
864 B
Go
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)
|
|
}
|