From b5871b3f47846a9a71f4d5e5e4b9f490ecdd7d0d Mon Sep 17 00:00:00 2001 From: xiabin Date: Thu, 23 Jan 2025 17:45:17 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A1=E7=AE=97ecpm=E5=80=BC=E6=97=B6?= =?UTF-8?q?=E4=B8=8D=E8=BF=94=E5=9B=9Eerror?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- douyin.go | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) 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