"""第三方(滇运通)接口 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)