Files
xst 52b73f456c refactor(api): yun8_sync 并入 tests 分层框架(接口层 apis/yun8 + 用例层 api + Allure)
- tests/core: 新增 BaseHttpClient 统一 HTTP 封装(直连绕行/超时/日志/自定义编码);
  db_helper 追加 Db 长连接类(事务/mogrify/自动重连),既有函数不动
- tests/apis/yun8: 21 个 step 方法按域拆分为 5 个 Mixin(driver/accounting/
  audit_payment/receipt/third_party),Yun8Pipeline 24 步编排原样迁移,
  SQL 全部参数化并集中至 sql_templates
- tests/api: 5 阶段有序 P0 E2E 用例(业务失败由 print 改为真实报错)+
  README 迁移(删除明文密码段,修正步骤编号漂移)
- yun8_sync 目录退役:配置并入 test_config.yaml 的 yun8_api 段;
  造数 CLI 保留(python -m tests.apis.yun8.cli,兼容旧 config.yaml 结构)
- pytest.ini 注册 api/yun8_sync marker;requirements.txt 补 requests>=2.28
- 静态验证: compileall / 全仓 collect 24 条 / marker 过滤 / CLI --help /
  客户端与 pipeline 离线实例化 / SQL 占位符核对 / cross_end 兼容
2026-09-08 11:38:17 +08:00

35 lines
1.4 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""第三方(滇运通)接口 Mixin — step21。
签名/返回值与旧 yun8_sync/client.py 逐字一致;
滇运通为独立 host/token 会话(self.tp_http,base_url 为滇运通域名)。
Usage:
from tests.apis.yun8.third_party_api import ThirdPartyApi
class Yun8ApiClient(ThirdPartyApi, ...): ...
"""
class ThirdPartyApi:
"""滇运通接口(挂载于 Yun8ApiClient,依赖 tp_http / tp_enabled 属性)。"""
# ==================================================================
# Step 21: 滇运通审核 (updateOrderDetailExt)
# ==================================================================
def step21_owner_review(self, order_detail_code: str) -> dict:
"""
POST /ntocc-tms-api/orderDetail/updateOrderDetailExt
滇运通独立接口,独立 token / host。
仅在 config.dianyuntong.enabled=true 时执行。
"""
if not self.tp_enabled or not self.tp_http:
raise RuntimeError("dianyuntong 未启用,请检查配置 yun8_api.dianyuntong.enabled")
params = {
"orderDetailCode": order_detail_code,
"reviewStatus": "1",
"reviewMsg": "",
"invoiceApplicationStatus": "0",
"invoiceApplicationMsg": "",
}
return self.tp_http.post(
"/ntocc-tms-api/orderDetail/updateOrderDetailExt", params=params)