计算ecpm值时不返回error
This commit is contained in:
parent
1490b262b8
commit
b5871b3f47
15
douyin.go
15
douyin.go
@ -127,20 +127,21 @@ func (d *DouYinOpenApiClient) GetEcpmData(appId, openId, dateHour string) (list
|
|||||||
|
|
||||||
// GetEcpm 计算ECPM
|
// GetEcpm 计算ECPM
|
||||||
// https://bytedance.larkoffice.com/docx/Vg4yd0RDSovZINxJDyIc6THhnod
|
// https://bytedance.larkoffice.com/docx/Vg4yd0RDSovZINxJDyIc6THhnod
|
||||||
func (d *DouYinOpenApiClient) GetEcpm(res []douyinopenapi.Record) (ecpm float64, err error) {
|
func (d *DouYinOpenApiClient) GetEcpm(res []douyinopenapi.Record) (ecpm float64) {
|
||||||
// 计算 ECPM
|
// 计算 ECPM
|
||||||
totalCost := 0
|
|
||||||
totalRecords := len(res)
|
totalRecords := len(res)
|
||||||
|
|
||||||
|
// 如果没有记录,则返回 0
|
||||||
|
if totalRecords == 0 {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
totalCost := 0
|
||||||
|
|
||||||
for _, record := range res {
|
for _, record := range res {
|
||||||
totalCost += record.Cost
|
totalCost += record.Cost
|
||||||
}
|
}
|
||||||
|
|
||||||
// 如果没有记录,则返回错误
|
|
||||||
if totalRecords == 0 {
|
|
||||||
err = errors.New("未找到记录,无法计算 ECPM")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
// 总 cost / 100000 * 1000 / 总记录数
|
// 总 cost / 100000 * 1000 / 总记录数
|
||||||
ecpm = float64(totalCost) / 100000 * 1000 / float64(totalRecords)
|
ecpm = float64(totalCost) / 100000 * 1000 / float64(totalRecords)
|
||||||
return
|
return
|
||||||
|
Loading…
x
Reference in New Issue
Block a user