| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- <?php
- namespace common\components\delivery\platform\huolala;
- use common\components\delivery\helpers\HttpClient;
- /**
- * 货拉拉商户钱包相关接口
- *
- * 用于查询商户账户余额、子账户信息等钱包相关的操作
- */
- class Shop extends Huolala
- {
- /**
- * 查询钱包余额
- *
- * 通过此接口可以获取商户账户总余额、账户状态、子账户信息等详细的钱包信息
- *
- * 文档参考:u-wallet-account API
- *
- * @param string|null $ip 客户端IP地址(可选参数)
- * @return array 包含以下字段的响应数据:
- * - user_id: 账户编号
- * - account_status: 账户状态 (5-审批中, 10-正常, 20-锁定, 25-资金不可出, 30-不可入)
- * - total_amount: 账户总余额
- * - sub_account_list: 子账户信息列表
- * - total_amount: 总余额
- * - avl_amount: 可用余额
- * - freeze_amount: 冻结金额
- * - sub_account_type: 子账户类型 (1-本金, 2-不可提现, 3-赠金, 4-红包)
- * - sub_account_status: 账户状态
- */
- public function queryWalletBalance($ip = null)
- {
- // 构建请求数据
- $apiData = [];
- if (!empty($ip)) {
- $apiData['ip'] = $ip;
- }
- // 构建请求参数(包含access_token进行用户授权)
- $payload = $this->buildRequestPayload('u-wallet-account', $apiData, $this->accessToken);
- // 发送请求
- $resp = HttpClient::post($this->baseUrl, $payload);
- // 检查API响应状态
- if (isset($resp['ret']) && $resp['ret'] == 0) {
- return [
- 'success' => true,
- 'balance' => $resp['data']['total_amount'],
- 'message' => '查询余额成功',
- ];
- }
- return [
- 'success' => false,
- 'balance' => 0,
- 'message' => '查询余额失败',
- ];
- }
- }
|