dong 1 年之前
父節點
當前提交
324e81291b
共有 2 個文件被更改,包括 155 次插入13 次删除
  1. 118 13
      mapi/api/ctcard/CTCard.php
  2. 37 0
      test/mapi/TestCTCard.php

+ 118 - 13
mapi/api/ctcard/CTCard.php

@@ -48,59 +48,164 @@ class CTCard implements IOpenCard
 
     public function fraud_check($biz, &$net_errno = 0) : array
     {
+        $callBack = function ($resp)
+        {
+            $resp = json_decode($resp, true);
+            if(empty($resp["biz"])){
+                $code = $resp["head"]["code"];
+                $err = $resp["head"]["err"];
+                return [$code, $err];
+            }
+            $code = $resp["biz"]["code"];
+            $codeMessage = $resp["biz"]["codeMessage"];
+            return [$code, $codeMessage];
+        };
+
         $params['head'] = $this->head("fraudCheck");
         $params['biz'] = $biz;
-        $requestParameters = json_encode($params);
+        $requestParameters = json_encode($params, JSON_UNESCAPED_UNICODE);
         $resp = http_post_data(config::production_env['DcoosExternalNetwork'], $requestParameters , config::HeaderProduction, $net_errno);
         if (empty($resp)) {
             return [false, '网络错误'];
         }
         else
         {
-            $resp = json_decode($resp, true);
-            if(empty($resp["biz"])){
-                $err = $resp["head"]["err"];
-                return [false, $err];
-            }
-            $code = $resp["biz"]["code"];
-            $codeMessage = $resp["biz"]["codeMessage"];
+            list($code, $codeMessage) = $callBack($resp);
             if ($code == 0){ // 成功
                 return [true, $codeMessage];
             }else { // 失败
                 return [false, $codeMessage];
             }
         }
-
     }
 
     public function number_list($biz, &$net_errno = 0) : array
     {
         $params['head'] = $this->head("qryNbrList");
         $params['biz'] = $biz;
-        $requestParameters = json_encode($params);
+        $requestParameters = json_encode($params, JSON_UNESCAPED_UNICODE);
         $resp = http_post_data(config::production_env['DcoosExternalNetwork'], $requestParameters , config::HeaderProduction, $net_errno);
+        return [];
     }
 
     public function address_delivery($biz, &$net_errno = 0) : array
     {
+        $callBack = function ($resp)
+        {
+            $resp = json_decode($resp, true);
+            $err = $resp["head"]["err"];
+            $code = $resp["head"]["code"];
+            if(empty($resp["biz"])){
+                return [$err, $code, []];
+            }
+            return [$err, $code, $resp];
+        };
+
         $params['head'] = $this->head("qryReceiveAddr");
         $params['biz'] = $biz;
-        $requestParameters = json_encode($params);
+        $requestParameters = json_encode($params, JSON_UNESCAPED_UNICODE);
+        $resp = http_post_data(config::production_env['DcoosExternalNetwork'], $requestParameters , config::HeaderProduction, $net_errno);
+        if (empty($resp)) {
+            return [false, '网络错误'];
+        }
+        else
+        {
+            list($err, $code, $response) = $callBack($resp);
+            if ($code == 0){ // 成功
+                return [true, "成功", $response];
+            }else { // 失败
+                return [false, $err];
+            }
+        }
+    }
+
+    public function broadband_address_list($biz, &$net_errno = 0) : array
+    {
+        $callBack = function ($resp)
+        {
+            $resp = json_decode($resp, true);
+            $err = $resp["head"]["err"];
+            $code = $resp["head"]["code"];
+            if(empty($resp["biz"])){
+                return [$err, $code, []];
+            }
+            return [$err, $code, $resp];
+        };
+
+        $params['head'] = $this->head("qryAddressInfo");
+        $params['biz'] = $biz;
+        $requestParameters = json_encode($params, JSON_UNESCAPED_UNICODE);
         $resp = http_post_data(config::production_env['DcoosExternalNetwork'], $requestParameters , config::HeaderProduction, $net_errno);
         if (empty($resp)) {
             return [false, '网络错误'];
         }
         else
         {
+            list($err, $code, $response) = $callBack($resp);
+            if ($code == 0){ // 成功
+                return [true, "成功", $response];
+            }else { // 失败
+                return [false, $err];
+            }
+        }
+    }
+
+    public function broadband_address_resource_query($biz, &$net_errno = 0) : array
+    {
+        $callBack = function ($resp)
+        {
             $resp = json_decode($resp, true);
             $err = $resp["head"]["err"];
+            $code = $resp["head"]["code"];
             if(empty($resp["biz"])){
+                return [$err, $code, []];
+            }
+            return [$err, $code, $resp];
+        };
+
+        $params['head'] = $this->head("getAddressCover");
+        $params['biz'] = $biz;
+        $requestParameters = json_encode($params, JSON_UNESCAPED_UNICODE);
+        $resp = http_post_data(config::production_env['DcoosExternalNetwork'], $requestParameters , config::HeaderProduction, $net_errno);
+        if (empty($resp)) {
+            return [false, '网络错误'];
+        }
+        else
+        {
+            list($err, $code, $response) = $callBack($resp);
+            if ($code == 0){ // 成功
+                return [true, "成功", $response];
+            }else { // 失败
                 return [false, $err];
             }
+        }
+    }
+
+    public function logistics_path_query($biz, &$net_errno = 0) : array
+    {
+        $callBack = function ($resp)
+        {
+            $resp = json_decode($resp, true);
+            $err = $resp["head"]["err"];
             $code = $resp["head"]["code"];
+            if(empty($resp["biz"])){
+                return [$err, $code, []];
+            }
+            return [$err, $code, $resp];
+        };
+
+        $params['head'] = $this->head("getAddressCover");
+        $params['biz'] = $biz;
+        $requestParameters = json_encode($params, JSON_UNESCAPED_UNICODE);
+        $resp = http_post_data(config::production_env['DcoosExternalNetwork'], $requestParameters , config::HeaderProduction, $net_errno);
+        if (empty($resp)) {
+            return [false, '网络错误'];
+        }
+        else
+        {
+            list($err, $code, $response) = $callBack($resp);
             if ($code == 0){ // 成功
-                $addrList = $resp["biz"]['addrList'];
-                return [true, "成功", $addrList];
+                return [true, "成功", $response];
             }else { // 失败
                 return [false, $err];
             }

+ 37 - 0
test/mapi/TestCTCard.php

@@ -53,4 +53,41 @@ class TestCTCard extends TestCase
 
         $ctcard->address_delivery($params);
     }
+
+    public function testBroadbandAddressList()
+    {
+        $ctcard = new CTCard();
+        // biz
+        $params = [
+            "areaCode" => "89801",
+            "areaName" => "秀英",
+            "endCode" => "10",
+            "fromCode" => "1"
+        ];
+
+        $ctcard->broadband_address_list($params);
+    }
+
+
+    public function testBroadbandAddressResourceQuery()
+    {
+        $ctcard = new CTCard();
+        // biz
+        $params = [
+            "addrId" => "19631954"
+        ];
+        $ctcard->broadband_address_resource_query($params);
+    }
+
+    public function testLogisticsPathQuery()
+    {
+        $ctcard = new CTCard();
+        // biz
+        $params = [
+            "orderCode" => "DQ201909260000112355670197",
+            "logisticNbr" => "JDV003703415445"
+        ];
+
+        $ctcard->logistics_path_query($params);
+    }
 }