fix: 优化销售分析数据处理逻辑

This commit is contained in:
renzhiyuan 2025-12-31 18:29:00 +08:00
parent 8d9794a93c
commit 6323612d8b
2 changed files with 11 additions and 6 deletions

View File

@ -245,7 +245,10 @@ func (b *BbxtTools) GetProfitRankingSum(now time.Time) (report *ReportRes, err e
// GetStatisOfficialProductSum 销量同比分析
func (b *BbxtTools) GetStatisOfficialProductSum(now time.Time, productName []string) (report *ReportRes, err error) {
var productMap = make(map[string]int)
for k, v := range productName {
productMap[v] = k
}
ct := []string{
time.Date(now.Year(), now.Month(), now.Day(), 0, 0, 0, 0, now.Location()).Format("2006-01-02 15:04:05"),
adjustedTime(now),
@ -267,7 +270,7 @@ func (b *BbxtTools) GetStatisOfficialProductSum(now time.Time, productName []str
if err != nil {
return
}
var total [][]string
var total = make([][]string, len(ids))
for _, v := range data.OfficialProductSum {
var (
yeterDatyDiff string
@ -283,16 +286,16 @@ func (b *BbxtTools) GetStatisOfficialProductSum(now time.Time, productName []str
} else {
lastWeekDiff = fmt.Sprintf("%s↓%d", GreenStyle, v.HistoryTwoDiff)
}
total = append(total, []string{
total[productMap[v.OfficialProductName]] = []string{
fmt.Sprintf("%s", v.OfficialProductName),
fmt.Sprintf("%d", v.CurrentNum),
fmt.Sprintf("%d", v.HistoryOneNum),
yeterDatyDiff,
fmt.Sprintf("%d", v.HistoryTwoNum),
lastWeekDiff,
})
}
}
timeCh := now.Format("1月2日15点")
title := "截至" + timeCh + "销售同比分析"
//总量生成excel

View File

@ -3,6 +3,7 @@ package bbxt
import (
"ai_scheduler/internal/config"
"ai_scheduler/internal/pkg/utils_oss"
"strings"
"testing"
"time"
)
@ -59,7 +60,8 @@ func Test_GetStatisOfficialProductSum(t *testing.T) {
if err != nil {
panic(err)
}
report, err := o.GetStatisOfficialProductSum(time.Now(), []string{"官方-爱奇艺-星钻季卡", "官方-爱奇艺-星钻半年卡", "官方--腾讯-年卡", "官方--爱奇艺-月卡"})
s := "官方--美团外卖红包5元,官方--美团外卖红包10元,官方--饿了么超级会员月卡,官方--网易云黑胶vip月卡,官方--喜马拉雅巅峰会员月卡,官方--芒果-PC季卡,官方--芒果-PC月卡,官方--芒果-PC周卡,官方--腾讯-周卡,官方--优酷周卡,官方--QQ音乐-绿钻月卡,官方--爱奇艺-周卡,官方--腾讯-月卡,官方--腾讯-季卡,官方--腾讯-年卡,官方--优酷月卡,官方--优酷季卡,官方--优酷年卡,官方--爱奇艺-月卡,官方--爱奇艺-季卡,官方--爱奇艺-年卡"
report, err := o.GetStatisOfficialProductSum(time.Now(), strings.Split(s, ","))
t.Log(report, err)