diff --git a/douyin.go b/douyin.go index d6a9797..2a6c40b 100644 --- a/douyin.go +++ b/douyin.go @@ -127,20 +127,21 @@ func (d *DouYinOpenApiClient) GetEcpmData(appId, openId, dateHour string) (list // GetEcpm 计算ECPM // 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 - totalCost := 0 totalRecords := len(res) + // 如果没有记录,则返回 0 + if totalRecords == 0 { + return + } + + totalCost := 0 + for _, record := range res { totalCost += record.Cost } - // 如果没有记录,则返回错误 - if totalRecords == 0 { - err = errors.New("未找到记录,无法计算 ECPM") - return - } // 总 cost / 100000 * 1000 / 总记录数 ecpm = float64(totalCost) / 100000 * 1000 / float64(totalRecords) return