feat(yun8_sync): add API pipeline automating full freight flow (18 interfaces + SQL)

Implements the "运输流程" collection from yun8.postman_collection.json as a
Python pipeline: driver-side order accept/load/unload -> freight accounting
-> payment, with SQL writes, driven by yun8_sync/config.yaml
(api/auth/accounting/payment/database/sql/dianyuntong sections).
This commit is contained in:
xst
2026-08-17 14:30:40 +08:00
parent 18890c0437
commit 73b93bdf0c
7 changed files with 2357 additions and 0 deletions
+127
View File
@@ -0,0 +1,127 @@
# ============================================================
# yun8 运输流程完整自动化 — 配置文件
# 对应 Postman Collection: yun8.postman_collection.json
# ============================================================
# ----- API 配置 -----
api:
base_url: "https://ybxcx.ynyun8.com:8000"
verify_ssl: false
# 通用请求头(与 Postman Collection 一致)
common_headers:
host: "ybxcx.ynyun8.com:8000"
accept-language: "zh-CN,zh;q=0.9,en;q=0.8"
accept-encoding: "gzip"
# 司机端 Header(步骤1-5)
driver:
deviceid: "A58FBAB7161EA82309491FB06CDE9687"
user-agent: "okhttp-okgo/jeasonlzy"
# 管理端 Header(步骤6-16)
admin:
deviceid: "0000000000"
secret: "GouldAMap=d58bb5f7da1aa1d6b78741ded2450f2d"
user-agent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36 Edg/149.0.0.0"
accept: "application/json, text/plain, */*"
referer: "https://ybxcx.ynyun8.com:8000/admin/"
# ----- 授权 Token -----
# 通过命令行 --auth-driver / --auth-admin 传入,或在此写默认值
auth:
# driver_token: "Bearer NRWt5TGNYgZOMYWimJ21xTzYYgEZMYD45Dz3lZEOYcTOZJG4jTT55QMZYFDj" # 司机端 Bearer token (含 Bearer 前缀)
driver_token: "Bearer mJ25zW3NYIYYZQcYMVQZ2QFNmTj5wkzMYMFZlj2NzDWk2mj12mT33QMMMIjM" # 司机端 Bearer token (含 Bearer 前缀)
admin_token: "Bearer Z=AZ3I3YlTTzhTGNOFDO5DDx1YhYMYz5hTTOOQUZkFTl5kFOMYdY3QWM2Em=" # 管理端 Bearer token (含 Bearer 前缀)
# ----- 司机端固定参数(装货/卸货) -----
driver_params:
# 重量模式: "fixed"(固定值) / "random"(每次随机 1-10 小数)
weight_mode: "random"
per_weight: "10" # fixed 模式下的接单单位重量
weight: "10" # fixed 模式下的装货/卸货重量
# 装货/卸货经纬度(不为空时覆盖货源接口返回值)
# load_latitude: "38.5166" # 接单+装货纬度
# load_longitude: "102.308617" # 接单+装货经度
# unload_latitude: "38.529333" # 卸货纬度
# unload_longitude: "102.25395" # 卸货经度
# load_latitude: "28.116007" # 接单+装货纬度
# load_longitude: "112.982951" # 接单+装货经度
# unload_latitude: "30.663179" # 卸货纬度
# unload_longitude: "104.039285" # 卸货经度
load_latitude: "" # 接单+装货纬度
load_longitude: "" # 接单+装货经度
unload_latitude: "" # 卸货纬度
unload_longitude: "" # 卸货经度
# 待运输单重置(清掉旧记录后重新查询,仅影响司机端流程)
reset_order_detail: false # true=step03后执行DELETE+UPDATE再重新查询
reset_order_detail_code: "f234118ee56d4b3db4ae1eeb97b0b194" # DELETE+UPDATE SET 使用的固定 code
# 通用经纬度兜底(当上述配置和接口返回值都为空时使用)
latitude: "25.005731558883365"
longitude: "102.652599407955"
# 装货照片 URL
load_img_url: "https://ynyun8.eos-chongqing-1.cmecloud.cn/2026-06-30/88a6ff85d8ad4e26bf1571d59ae4f60c.jpg?AWSAccessKeyId=AOS5YGU0MP2Y88ELIFFH&Expires=4102329600&Signature=s68ODdXZ%2BI9s09IbaPwLy6Hefxw%3D"
# 卸货照片 URL
unload_img_url: "https://ynyun8.eos-chongqing-1.cmecloud.cn/2026-06-30/66426dc5be6242968dd9a3d0fd6e8b38.jpg?AWSAccessKeyId=AOS5YGU0MP2Y88ELIFFH&Expires=4102329600&Signature=UVKmwyFEnzA4fh%2BmnlGzmDOmuJE%3D"
# ----- 核算固定参数 -----
accounting:
branch_code: "49adb23841asw3118yunnanchenggang"
business_type_code: "1003999"
payee_code: "16d0c260f7e34967b36113c770e03486"
shipment_phone: "15198908093"
shipment_party_code: "ce8b73b38cf6450d84740cf23aa4ed52"
settlement_type: "2"
# 队长分账:payer_receiver/link_man 不为空 且 captainSplitMode=2 时触发
# payer_receiver: "bd759732e4ac442b8fabbf65a405dae1" # 收款人
# payer_receiver_link_man: "车队一" # 收款联系人
# captain_split_mode: "2" # 队长分账模式 (0=不分账, 2=分账)
# execute_after_audit: true # 审核通过后是否执行分账/付款/回单等后续步骤(12-21)
payer_receiver: "" # 收款人
payer_receiver_link_man: "" # 收款联系人
captain_split_mode: "0" # 队长分账模式 (0=不分账, 2=分账)
execute_after_audit: true # 审核通过后是否执行分账/付款/回单等后续步骤(12-21)
# ----- 垫资/付款固定参数 -----
payment:
pay_types: "3,4,5,9,10,11"
pay_platform: "3"
sms_code: "1234"
phone: "13888888888"
pay_type: "arpa_2"
# ----- 数据库配置 -----
database:
host: "36.137.133.24"
port: 3306
user: "ntocc"
password: "Rgxi3!kD9jjXpgzx"
database: "ntocc"
charset: "utf8mb4"
# ----- SQL 模板 -----
sql:
# file_name 格式: {file_prefix}_1_signed.pdf
file_name_template: "{file_prefix}_1_signed.pdf"
# INSERT 模板, 占位符 {file_name} / {pay_no}
template: |
INSERT INTO `ntocc`.`base_gd_mft_file`
(`id`, `code`, `file_name`, `remark`, `is_deleted`,
`created_by`, `gmt_created`, `modified_by`, `gmt_modified`,
`modified_by_name`, `is_directory`, `parent_directory`,
`local_path`, `url_path`, `front_seq_no`)
VALUES
(NULL, '10cd8a53b921463ab8079ea61376574e', '{file_name}',
'批量写入回单编号20260608', 0,
'', '2025-12-21 16:24:11', '', '2025-12-21 16:24:11',
'', 0, '415612025121420251215274330494862543.zip',
'/data/cebBankService/tempFile/415612025121420251215274330494862543/41561202512141330494250466_1_signed.pdf',
'https://public-yun8.eos-chongqing-1.cmecloud.cn/d83a1298991040a4a125a84acadd88b9.pdf',
'{pay_no}')
# ----- 第三方端(滇运通审核,独立 token / host,可选执行) -----
dianyuntong:
enabled: false # true=执行, false=跳过
base_url: "https://yndyt.cxtech.vip"
token: "Bearer NTmlyQYMYYEMwDTy1DDyxWjwykNZyQGO0jDOYYAMMQcNMgMN3jTy0jTYZlZh" # 独立 Bearer Token
cookie: "" # Cookie 字符串 (Admin-Token=xxx; sl-session=xxx)