抽取数据逻辑修复+

This commit is contained in:
2026-04-08 14:05:15 +08:00
parent 5f2c9c3855
commit a25bba717f

View File

@@ -18,26 +18,58 @@ func main() {
ctx := gctx.New() ctx := gctx.New()
syncService := sync.NewSyncService() syncService := sync.NewSyncService()
ctx = context.WithValue(ctx, "user", &beans.User{UserName: "admin"}) ctx = context.WithValue(ctx, "user", &beans.User{UserName: "admin"})
now := time.Now()
lastHourEnd := time.Date(now.Year(), now.Month(), now.Day(), now.Hour(), 0, 0, 0, now.Location())
lastHourStart := lastHourEnd.Add(-1 * time.Hour)
req := &sync.AccountReportRequest{ req := &sync.AccountReportRequest{
AdvertiserID: 10001, AdvertiserID: 10001,
StartTime: time.Now().AddDate(0, 0, -30).UnixNano() / 1e6, StartTime: lastHourStart.UnixMilli(),
EndTime: time.Now().UnixNano() / 1e6, EndTime: lastHourEnd.UnixMilli(),
SelectColumns: []string{"impression", "click", "cost", "t0GMV"}, SelectColumns: []string{"impression", "click", "cost", "t0GMV"},
GroupType: 1, GroupType: 1,
QueryVersion: 1, QueryVersion: 1,
} }
logrus.Info("=== 开始执行定时同步任务 ===") logrus.Infof("=== 开始执行定时同步任务 ===")
logrus.Infof("时间区间:%s ~ %s", lastHourStart.Format("2006-01-02 15:04:05"), lastHourEnd.Format("2006-01-02 15:04:05"))
result, err := syncService.SyncAccountReportWithPagination(ctx, req, true, 3) result, err := syncService.SyncAccountReportWithPagination(ctx, req, true, 3)
if err != nil { if err != nil {
logrus.Errorf("定时同步任务失败:%v", err) logrus.Errorf("定时同步任务执行完成,存在失败的页面")
logrus.Infof("任务已记录到日志表,等待补偿调度器自动重试") logrus.Infof("任务日志ID%d", result.TaskLogID)
logrus.Infof("汇总数据:成功=%v, ID=%d", result.SumSuccess, result.SumID)
logrus.Infof("明细数据:总记录数=%d, 成功页数=%d, 失败页数=%d",
result.DetailCount, result.DetailSuccessCount, result.DetailFailCount)
logrus.Infof("失败的页面已记录到 sync_task_log 表,等待补偿调度器处理")
for _, pageResult := range result.PageResults {
if !pageResult.Success {
logrus.Warnf(" - 第 %d 页失败任务日志ID=%d错误%s",
pageResult.PageNumber, pageResult.PageTaskLogID, pageResult.ErrorMessage)
}
}
return return
} }
fmt.Printf("✓ 定时同步完成:\n") fmt.Printf("✓ 定时同步完成:\n")
fmt.Printf(" 时间区间:%s ~ %s\n", lastHourStart.Format("2006-01-02 15:04:05"), lastHourEnd.Format("2006-01-02 15:04:05"))
fmt.Printf(" 汇总数据:成功=%v, ID=%d\n", result.SumSuccess, result.SumID) fmt.Printf(" 汇总数据:成功=%v, ID=%d\n", result.SumSuccess, result.SumID)
fmt.Printf(" 明细数据:总记录数=%d, 成功页数=%d, 失败页数=%d\n", fmt.Printf(" 明细数据:总记录数=%d, 成功页数=%d, 失败页数=%d\n",
result.DetailCount, result.DetailSuccessCount, result.DetailFailCount) result.DetailCount, result.DetailSuccessCount, result.DetailFailCount)
fmt.Printf(" 任务日志ID%d\n", result.TaskLogID) fmt.Printf(" 任务日志ID%d\n", result.TaskLogID)
if len(result.PageResults) > 0 {
fmt.Printf(" 分页任务详情:\n")
for _, pageResult := range result.PageResults {
status := "✓ 成功"
if !pageResult.Success {
status = fmt.Sprintf("✗ 失败: %s", pageResult.ErrorMessage)
}
fmt.Printf(" - 第 %d 页任务ID=%d, 记录数=%d, 耗时=%dms, 状态=%s\n",
pageResult.PageNumber, pageResult.PageTaskLogID,
pageResult.RecordCount, pageResult.DurationMs, status)
}
}
} }