优化处理逻辑
This commit is contained in:
@@ -2,6 +2,8 @@ import argparse
|
||||
from pathlib import Path
|
||||
|
||||
from project_bitable_common import (
|
||||
DailySyncConfig,
|
||||
build_daily_sync_context,
|
||||
get_default_end_date,
|
||||
get_default_start_date,
|
||||
get_base_url,
|
||||
@@ -13,11 +15,8 @@ from project_bitable_common import (
|
||||
iter_dates,
|
||||
load_dotenv,
|
||||
log_step,
|
||||
run_gmv_sync,
|
||||
run_metric_sync,
|
||||
send_feishu_app_card,
|
||||
send_feishu_sync_card,
|
||||
sync_field_groups_for_day,
|
||||
run_daily_sync_for_date,
|
||||
send_sync_notification,
|
||||
validate_date,
|
||||
)
|
||||
|
||||
@@ -47,65 +46,22 @@ def main() -> None:
|
||||
raise ValueError("end-date 不能早于 start-date")
|
||||
|
||||
log_step("流水线开始: 按天执行 销售 -> 退款 -> GMV")
|
||||
context = build_daily_sync_context(
|
||||
DailySyncConfig(
|
||||
base_url=args.base_url,
|
||||
mapping_file=Path(args.mapping_file),
|
||||
store_field_name=args.store_field_name,
|
||||
table_map_file=args.table_map_file,
|
||||
dry_run=args.dry_run,
|
||||
skip_missing_tables=args.skip_missing_tables,
|
||||
chat_id=args.chat_id,
|
||||
report_image_path=args.report_image_path,
|
||||
group_webhook=args.group_webhook,
|
||||
)
|
||||
)
|
||||
for stat_date in iter_dates(start_date, end_date):
|
||||
log_step(f"开始处理日期: {stat_date.isoformat()}")
|
||||
run_metric_sync(
|
||||
metric_name="sales",
|
||||
start_date=stat_date,
|
||||
end_date=stat_date,
|
||||
base_url=args.base_url,
|
||||
mapping_file=Path(args.mapping_file),
|
||||
store_field_name=args.store_field_name,
|
||||
table_map_file=args.table_map_file,
|
||||
dry_run=args.dry_run,
|
||||
skip_missing_tables=args.skip_missing_tables,
|
||||
)
|
||||
run_metric_sync(
|
||||
metric_name="refund",
|
||||
start_date=stat_date,
|
||||
end_date=stat_date,
|
||||
base_url=args.base_url,
|
||||
mapping_file=Path(args.mapping_file),
|
||||
store_field_name=args.store_field_name,
|
||||
table_map_file=args.table_map_file,
|
||||
dry_run=args.dry_run,
|
||||
skip_missing_tables=args.skip_missing_tables,
|
||||
)
|
||||
run_gmv_sync(
|
||||
start_date=stat_date,
|
||||
end_date=stat_date,
|
||||
base_url=args.base_url,
|
||||
store_field_name=args.store_field_name,
|
||||
dry_run=args.dry_run,
|
||||
skip_missing_tables=args.skip_missing_tables,
|
||||
)
|
||||
sync_field_groups_for_day(
|
||||
stat_date=stat_date,
|
||||
base_url=args.base_url,
|
||||
store_field_name=args.store_field_name,
|
||||
table_map_file=args.table_map_file,
|
||||
dry_run=args.dry_run,
|
||||
skip_missing_tables=args.skip_missing_tables,
|
||||
)
|
||||
log_step(f"日期处理完成: {stat_date.isoformat()}")
|
||||
if not args.dry_run:
|
||||
if args.chat_id:
|
||||
send_feishu_app_card(
|
||||
chat_id=args.chat_id,
|
||||
title="GMV数据同步",
|
||||
base_url=args.base_url,
|
||||
start_date=start_date,
|
||||
end_date=end_date,
|
||||
image_path=args.report_image_path,
|
||||
)
|
||||
else:
|
||||
send_feishu_sync_card(
|
||||
webhook_url=args.group_webhook,
|
||||
title="GMV数据同步",
|
||||
base_url=args.base_url,
|
||||
start_date=start_date,
|
||||
end_date=end_date,
|
||||
)
|
||||
run_daily_sync_for_date(context, stat_date)
|
||||
send_sync_notification(context, start_date, end_date)
|
||||
log_step("流水线完成")
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user