package service

import (
	"context"
	"data-platform/model"
	"data-platform/pkg/log"

	"cloud.google.com/go/bigquery"
)

// FetchMonthlyOrderInfoV2NotMerge 新版本的数据获取函数，从两个新表获取数据
func FetchMonthlyOrderInfoV2NotMerge(ctx context.Context, bqSrv *bigquery.Client, first bool) ([]*model.RevenueOrderData, []*model.OrgCollectionData, error) {
	log.L(ctx).Info("fetch monthly order info from new data sources")

	lastMonth := GetLastMonth()

	// Fetch data from revrec_order_test table
	revenueOrderData, err := fetchRevenueOrderData(ctx, bqSrv, lastMonth)
	if err != nil {
		log.L(ctx).Errorf("Failed to fetch revenue order data: %v", err)
		return nil, nil, err
	}

	// Fetch data from revrec_org_test table
	collectionData, err := fetchCollectionData(ctx, bqSrv, lastMonth)
	if err != nil {
		log.L(ctx).Errorf("Failed to fetch collection data: %v", err)
		return nil, nil, err
	}

	return revenueOrderData, collectionData, nil
}
