Files
ai-contract-platform/scripts/verify_chinese_contract_template_utf8.py
T

80 lines
2.6 KiB
Python

import json
import sys
import requests
def main() -> int:
api_base = sys.argv[1].rstrip("/")
account = sys.argv[2]
password = sys.argv[3]
template_id = sys.argv[4]
payload = {
"甲方名称": "甲方物业公司",
"乙方名称": "乙方服务公司",
"项目/物业名称": "测试小区",
"物业坐落": "北京市朝阳区测试路1号",
"物业类型": "住宅",
"服务区域/范围": "全区物业服务",
"服务内容和标准": "保洁安保维修",
"服务期限": "2026年1月1日至2026年12月31日",
"物业服务费标准": "每月10万元",
"费用计收方式": "按月支付",
"付款周期/缴费期限": "每月5日前支付",
"共用部位/共用设施设备维护": "乙方负责日常维护",
"维修资金/专项维修安排": "按维修基金制度执行",
"公共秩序和安全协助事项": "安保巡逻与秩序维护",
"环境卫生与绿化维护": "保洁与绿化养护",
"业主/使用人义务": "遵守物业管理制度",
"业主委员会/授权依据": "业委会授权决议",
"交接验收与资料移交": "完工交接清单",
"违约责任": "违约方承担违约责任",
"争议解决方式": "北京仲裁委员会仲裁",
"签署日期": "2026-05-27",
}
login = requests.post(
f"{api_base}/auth/login",
json={"account": account, "password": password},
timeout=30,
)
login.raise_for_status()
token = login.json()["data"]["access_token"]
headers = {"Authorization": f"Bearer {token}"}
form = {
"template_id": template_id,
"variable_values_json": json.dumps(payload, ensure_ascii=False),
"export_format": "txt",
}
preview = requests.post(
f"{api_base}/contracts/preview",
headers={**headers, "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8"},
data=form,
timeout=60,
)
preview.raise_for_status()
generate = requests.post(
f"{api_base}/contracts/generate",
headers={**headers, "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8"},
data=form,
timeout=180,
)
generate.raise_for_status()
result = {
"preview_status": preview.status_code,
"preview_body": preview.json(),
"generate_status": generate.status_code,
"generate_body": generate.json(),
}
print(json.dumps(result, ensure_ascii=False, indent=2))
return 0
if __name__ == "__main__":
raise SystemExit(main())