作者 karlet

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

@@ -703,7 +703,9 @@ class CmBroker @@ -703,7 +703,9 @@ 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 - $data[$prem->symbol] = $prem; 706 + if ($prem) {
  707 + $data[$prem->symbol] = $prem;
  708 + }
707 } 709 }
708 } else { 710 } else {
709 throw new Exception("获取资金费 该交易所未实现,请先实现代码"); 711 throw new Exception("获取资金费 该交易所未实现,请先实现代码");
@@ -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 - $symbolSt = $getSymbolSt($symbolOri); 48 + try {
  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;