WsDataAccount.php 1.2 KB
<?php

namespace trader\struct;

class WsDataAccount
{
    public array $assets;

    public static function TransferOkxAccount(array $data): array
    {
        $ret = [];
        foreach ($data as $item) {
            $asset = new Asset();
            $asset->coin = $item['ccy'];
            $asset->totalRight = $item['availBal'];
            $asset->avail = $item['availEq'];
            $asset->frozen = $item['frozenBal'];
            $asset->upl = $item['upl'];
            $ret[$asset->coin] = $asset;
        }
        return $ret; //WsDataAccoun
    }

    public function toArray(): array
    {
        $ret = [];
        foreach ($this->assets as $asset) {
            $ret[$asset->coin] = $asset->toArray();
        }
        return $ret;
    }
}

class Asset
{
    public string $coin;
    public float $totalRight; //总权益
    public float $avail; //可用
    public float $frozen; //冻结
    public float $upl; //未实现盈亏

    public function toArray(): array
    {
        return [
            'coin' => $this->coin,
            'totalRight' => $this->totalRight,
            'avail' => $this->avail,
            'frozen' => $this->frozen,
            'upl' => $this->upl,
        ];
    }
}