作者 karlet

feat:过滤无法转换的交易对

@@ -703,8 +703,10 @@ class CmBroker @@ -703,8 +703,10 @@ class CmBroker
703 $prem = Premium::transferBinance($value, function ($symbol) { 703 $prem = Premium::transferBinance($value, function ($symbol) {
704 return $this->getSymbolSt($symbol); 704 return $this->getSymbolSt($symbol);
705 }); 705 });
  706 + if ($prem) {
706 $data[$prem->symbol] = $prem; 707 $data[$prem->symbol] = $prem;
707 } 708 }
  709 + }
708 } else { 710 } else {
709 throw new Exception("获取资金费 该交易所未实现,请先实现代码"); 711 throw new Exception("获取资金费 该交易所未实现,请先实现代码");
710 } 712 }
@@ -42,10 +42,14 @@ class Premium @@ -42,10 +42,14 @@ class Premium
42 $uts = $data['ts']; 42 $uts = $data['ts'];
43 return new self($symbolSt, $symbolOri, $rate, $settleTs, $settlePeriod, $uts); 43 return new self($symbolSt, $symbolOri, $rate, $settleTs, $settlePeriod, $uts);
44 } 44 }
45 - public static function transferBinance($data, callable $getSymbolSt): self 45 + public static function transferBinance($data, callable $getSymbolSt): ?self
46 { 46 {
47 $symbolOri = $data['symbol']; 47 $symbolOri = $data['symbol'];
  48 + try {
48 $symbolSt = $getSymbolSt($symbolOri); 49 $symbolSt = $getSymbolSt($symbolOri);
  50 + } catch (\Throwable $th) {
  51 + return null;
  52 + }
49 $rate = $data['lastFundingRate']; 53 $rate = $data['lastFundingRate'];
50 $settleTs = $data['nextFundingTime']; 54 $settleTs = $data['nextFundingTime'];
51 $settlePeriod = 0; 55 $settlePeriod = 0;