refactor: consolidate bitable pipeline and add legacy reconstructed backups
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
import argparse
|
||||
from pathlib import Path
|
||||
|
||||
from project_bitable_common import (
|
||||
DEFAULT_END_DATE,
|
||||
DEFAULT_START_DATE,
|
||||
DEFAULT_STORE_FIELD_NAME,
|
||||
get_base_url,
|
||||
get_mapping_file,
|
||||
load_dotenv,
|
||||
log_step,
|
||||
run_metric_sync,
|
||||
validate_date,
|
||||
)
|
||||
|
||||
|
||||
def parse_args() -> argparse.Namespace:
|
||||
parser = argparse.ArgumentParser(description="从 PostgreSQL 拉取退款额并写入飞书多维表格。")
|
||||
parser.add_argument("--start-date", default=DEFAULT_START_DATE, help="开始日期,格式 YYYY-MM-DD")
|
||||
parser.add_argument("--end-date", default=DEFAULT_END_DATE, help="结束日期,格式 YYYY-MM-DD")
|
||||
parser.add_argument("--base-url", default=get_base_url(), help="飞书多维表格地址")
|
||||
parser.add_argument("--mapping-file", default=str(get_mapping_file()), help="店铺映射表 xlsx")
|
||||
parser.add_argument("--store-field-name", default=DEFAULT_STORE_FIELD_NAME, help="飞书中的店铺字段名")
|
||||
parser.add_argument("--table-map-file", default="", help="可选,项目到表名的映射 JSON 文件路径")
|
||||
parser.add_argument("--dry-run", action="store_true", help="只输出将要更新的内容,不调用飞书写接口")
|
||||
parser.add_argument("--skip-missing-tables", action="store_true", help="找不到对应月份的飞书表时跳过")
|
||||
return parser.parse_args()
|
||||
|
||||
|
||||
def main() -> None:
|
||||
load_dotenv()
|
||||
args = parse_args()
|
||||
start_date = validate_date(args.start_date)
|
||||
end_date = validate_date(args.end_date)
|
||||
if end_date < start_date:
|
||||
raise ValueError("end-date 不能早于 start-date")
|
||||
log_step("开始执行退款额同步")
|
||||
run_metric_sync(
|
||||
metric_name="refund",
|
||||
start_date=start_date,
|
||||
end_date=end_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,
|
||||
)
|
||||
log_step("退款额同步完成")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user