wesmiler 1 tahun lalu
induk
melakukan
fc91f20d29

+ 2 - 2
app/Http/Controllers/Api/v1/TestController.php

@@ -23,8 +23,8 @@ class TestController extends webApp
 
     public function check()
     {
-//        $result = CregisPayService::make()->createAddress(1000);
-        $result = WalletService::make()->getTradeDetail('9rVdLPXouaKGx9F3P5sjoun2kKz6j8AJHBi9FAU4ZA4j6yr7hmMTVUMiVxaspVSwHwU1bW3pHseGUK4VnMQ3rjU');
+        $result = CregisPayService::make()->checkAddress('2WBm8p8ig1znQ55Jo24jCxhyEVR1Z4rJRJZ3LY4zNMVs');
+//        $result = WalletService::make()->getTradeDetail('9rVdLPXouaKGx9F3P5sjoun2kKz6j8AJHBi9FAU4ZA4j6yr7hmMTVUMiVxaspVSwHwU1bW3pHseGUK4VnMQ3rjU');
 //        $result  = WalletService::make()->getUsdtBalance('58YsXE527EojowwqSFDV1V7tCWUGVFbEqnD1f3TUUALQ',true);
         var_dump($result);
 //        $result = CregisPayService::make()->withdraw('58YsXE527EojowwqSFDV1V7tCWUGVFbEqnD1f3TUUALQ',1,'TS'.date('YmdHis'),1000);

+ 22 - 13
app/Services/CregisPayService.php

@@ -103,19 +103,24 @@ class CregisPayService extends BaseService
 
     /**
      * 创建钱包地址
-     * @param string $mainCoinType
+     * @param string $mainCoinType 主链编号,1000-solana,195-波场
      * @return mixed
      */
     public function createAddress($mainCoinType = '1000')
     {
-        $callback = url(self::$rechargeNotifyUrl, '', true);
-        $result = $this->dispatch->createAddress(self::$config['project_no'], $mainCoinType,'',$callback);
-        $code = isset($result['code']) ? trim($result['code']) : 0;
-        $address = isset($result['data']['address']) ? trim($result['data']['address']) : '';
-        if ($code == '00000' && $address) {
-            return $address;
-        } else {
-            RedisService::set("caches:cregisPay:createAddress:error_" . date('YmdHis'), ['mainCoinType' => $mainCoinType, 'result' => $result], 7200);
+        try {
+            $callback = url(self::$rechargeNotifyUrl, '', true);
+            $result = $this->dispatch->createAddress(self::$config['project_no'], $mainCoinType, '', $callback);
+            $code = isset($result['code']) ? trim($result['code']) : 0;
+            $address = isset($result['data']['address']) ? trim($result['data']['address']) : '';
+            if ($code == '00000' && $address) {
+                return $address;
+            } else {
+                RedisService::set("caches:cregisPay:createAddress:error_" . date('YmdHis'), ['mainCoinType' => $mainCoinType, 'result' => $result], 7200);
+                return '';
+            }
+        }catch (\Exception $exception){
+            RedisService::set("caches:cregisPay:createAddress:error_" . date('YmdHis'), ['error'=>$exception->getMessage(),'mainCoinType' => $mainCoinType, 'result' => $result], 7200);
             return '';
         }
 
@@ -124,14 +129,15 @@ class CregisPayService extends BaseService
     /**
      * 验证钱包地址合法性
      * @param $address 地址
-     * @param string $mainCoinType 主
+     * @param string $mainCoinType 主链编号,1000-solana,195-波场
      * @return mixed
      */
-    public function checkAddress($address, $mainCoinType = '195')
+    public function checkAddress($address, $mainCoinType = '1000')
     {
         try {
             return $this->dispatch->addressLegal(self::$config['project_no'], $mainCoinType, $address);
         } catch (\Exception $exception) {
+            RedisService::set("caches:cregisPay:check_{$address}", ['error'=> $exception->getMessage(),'address'=>$address,'mainType'=>$mainCoinType],7200);
             $this->error = $exception->getMessage();
             return false;
         }
@@ -139,9 +145,11 @@ class CregisPayService extends BaseService
 
     /**
      * 查询地址是否存在
+     * @param $address 地址
+     * @param string $mainCoinType 主链编号,1000-solana,195-波场
      * @return mixed
      */
-    public function existAddress($address, $mainCoinType = '195')
+    public function existAddress($address, $mainCoinType = '1000')
     {
         return $this->dispatch->addressInner(self::$config['project_no'], $mainCoinType, $address);
     }
@@ -162,10 +170,11 @@ class CregisPayService extends BaseService
             $callback = self::$config['callUrl'];
             $tokenAddress = ConfigService::make()->getConfigByCode('solana_usdt_token', 'Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB');
             $coinType = $coinType ? $coinType : $tokenAddress;
-            RedisService::set("caches:cregisPay:{$orderNo}:withdraw", ['callback'=> $callback,'order_no'=>$orderNo,'amount'=>$amount,'remark'=>$remark,'mainType'=>$mainCoinType,'coinType'=>$address],7200);
+            RedisService::set("caches:cregisPay:{$orderNo}:withdraw", ['callback'=> $callback,'order_no'=>$orderNo,'amount'=>$amount,'remark'=>$remark,'address'=>$address,'mainType'=>$mainCoinType,'coinType'=>$coinType],7200);
             return $this->dispatch->payout(self::$config['project_no'], $mainCoinType . '@' . $coinType, $address, $amount, $callback, $orderNo, time(), $remark);
         } catch (\Exception $exception) {
             $this->error = $exception->getMessage();
+            RedisService::set("caches:cregisPay:{$orderNo}:withdraw_error", ['order_no'=>$orderNo,'amount'=>$amount,'remark'=>$remark,'address'=>$address,'mainType'=>$mainCoinType],7200);
             return false;
         }
     }