package sync import ( "context" "time" "github.com/sirupsen/logrus" ) func SyncCampaignReportWithMock(ctx context.Context) error { syncService := NewSyncService() req := &CampaignReportRequest{ AdvertiserID: 10001, StartTime: time.Now().AddDate(0, 0, -30).UnixNano() / 1e6, EndTime: time.Now().UnixNano() / 1e6, SelectColumns: []string{"impression", "click", "cost", "t0GMV"}, GroupType: 1, QueryVersion: 1, SelectParam: &CampaignSelectParam{ CampaignIDs: []int64{1, 2, 3}, }, PageInfo: &PageInfo{ CurrentPage: 1, PageSize: 20, }, } result, err := syncService.SyncCampaignReport(ctx, req, true) if err != nil { logrus.Errorf("同步失败:%v", err) return err } logrus.Infof("同步成功 - 汇总 ID: %d, 明细数量:%d", result.SumID, result.DetailCount) return nil } func SyncCampaignReportWithRealAPI(ctx context.Context, req *CampaignReportRequest) error { syncService := NewSyncService() result, err := syncService.SyncCampaignReport(ctx, req, false) if err != nil { logrus.Errorf("同步失败:%v", err) return err } logrus.Infof("同步成功 - 汇总 ID: %d, 明细数量:%d, 成功:%d, 失败:%d", result.SumID, result.DetailCount, result.DetailSuccessCount, result.DetailFailCount) return nil }