抽取数据添加补偿机制

This commit is contained in:
2026-04-08 09:03:20 +08:00
parent 14db0dd2fe
commit 5f2c9c3855
19 changed files with 1058 additions and 178 deletions

View File

@@ -32,7 +32,7 @@ func init() {
func TestMockDataGeneration(t *testing.T) {
mockGen := NewMockDataGenerator()
req := mockGen.GenerateCampaignReportRequest()
req := mockGen.GenerateAccountReportRequest()
if req == nil {
t.Error("请求数据生成失败")
return
@@ -45,23 +45,19 @@ func TestDataConverter(t *testing.T) {
converter := NewDataConverter()
mockGen := NewMockDataGenerator()
responseData := mockGen.GenerateCampaignReportResponse()
responseData := mockGen.GenerateAccountReportResponse()
if responseData == nil || responseData.Data.Sum == nil {
t.Fatal("Mock 数据生成失败")
}
sumItem := converter.ConvertToSumItem(responseData.Data.Sum, "campaign_report")
sumItem := converter.ConvertToSumItem(responseData.Data.Sum, "account_report", 1)
if sumItem == nil {
t.Fatal("转换为汇总数据失败")
}
if sumItem.CampaignName == "" {
t.Error("计划名称为空")
}
fmt.Printf("✓ 汇总数据转换成功:计划=%s\n", sumItem.CampaignName)
detailItems := converter.ConvertToDetailItems(responseData.Data.Detail, "campaign_report")
detailItems := converter.ConvertToDetailItems(responseData.Data.Detail, "account_report", 1)
if len(detailItems) == 0 {
t.Fatal("转换为明细数据失败")
}
@@ -69,11 +65,11 @@ func TestDataConverter(t *testing.T) {
fmt.Printf("✓ 明细数据转换成功:数量=%d\n", len(detailItems))
}
func TestSyncCampaignReportWithDB(t *testing.T) {
func TestSyncAccountReportWithDB(t *testing.T) {
ctx := gctx.New()
syncService := NewSyncService()
req := &CampaignReportRequest{
req := &AccountReportRequest{
AdvertiserID: 10001,
StartTime: time.Now().AddDate(0, 0, -30).UnixNano() / 1e6,
EndTime: time.Now().UnixNano() / 1e6,
@@ -82,7 +78,7 @@ func TestSyncCampaignReportWithDB(t *testing.T) {
QueryVersion: 1,
}
result, err := syncService.SyncCampaignReport(ctx, req, true)
result, err := syncService.SyncAccountReport(ctx, req, true)
if err != nil {
t.Logf("同步失败(可能是数据库问题): %v", err)
return
@@ -98,7 +94,7 @@ func TestSyncCampaignReportWithDB(t *testing.T) {
// ctx := gctx.New()
// syncService := NewSyncService()
//
// req := &CampaignReportRequest{
// req := &AccountReportRequest{
// AdvertiserID: 10001,
// StartTime: time.Now().AddDate(0, 0, -30).UnixNano() / 1e6,
// EndTime: time.Now().UnixNano() / 1e6,
@@ -108,7 +104,7 @@ func TestSyncCampaignReportWithDB(t *testing.T) {
// }
//
// logrus.Info("=== 开始执行定时同步任务 ===")
// result, err := syncService.SyncCampaignReportWithPagination(ctx, req, true, 3)
// result, err := syncService.SyncAccountReportWithPagination(ctx, req, true, 3)
// if err != nil {
// t.Logf("定时同步任务失败:%v", err)
// return
@@ -120,10 +116,10 @@ func TestSyncCampaignReportWithDB(t *testing.T) {
// result.DetailCount, result.DetailSuccessCount, result.DetailFailCount)
//}
func BenchmarkSyncCampaignReport(b *testing.B) {
func BenchmarkSyncAccountReport(b *testing.B) {
ctx := gctx.New()
syncService := NewSyncService()
req := &CampaignReportRequest{
req := &AccountReportRequest{
AdvertiserID: 10001,
StartTime: time.Now().AddDate(0, 0, -30).UnixNano() / 1e6,
EndTime: time.Now().UnixNano() / 1e6,
@@ -134,6 +130,6 @@ func BenchmarkSyncCampaignReport(b *testing.B) {
b.ResetTimer()
for i := 0; i < b.N; i++ {
_, _ = syncService.SyncCampaignReport(ctx, req, true)
_, _ = syncService.SyncAccountReport(ctx, req, true)
}
}