瀏覽代碼

feat(lakala): add ledger binding application list query functionality

- Implemented queryBindApplyList method in LedgerService
- Added support for querying ledger relationship application lists
- Updated test cases with PHP attributes for better test organization
- Modified test data generation for profit share receiver scenarios
- Enhanced response debugging output in test methods
- Added new test case for queryBindApplyList functionality
runphp 4 月之前
父節點
當前提交
009cae6c43
共有 2 個文件被更改,包括 49 次插入8 次删除
  1. 30 0
      src/Service/LedgerService.php
  2. 19 8
      tests/Service/LedgerServiceTest.php

+ 30 - 0
src/Service/LedgerService.php

@@ -127,4 +127,34 @@ class LedgerService
         # 响应原文
         echo $response->getOriginalText();
     }
+
+    /**
+     * 分账关系申请列表查询
+     *
+     * @link https://o.lakala.com/#/home/document/detail?id=939
+     */
+    public function queryBindApplyList(array $reqData, int $pageNum = 1, int $pageSize = 10, string $orgCode = '1', string $version = '1.0')
+    {
+        $request = new V2ModelRequest();
+        $reqData = array_merge($reqData, [
+            'version' => $version,
+            'orgCode' => $orgCode,
+            'pageNum' => $pageNum,
+            'pageSize' => $pageSize,
+        ]);
+        $request->setReqData($reqData);
+        $response = $this->v2LakalaApi->tradeApi('/api/v2/mms/openApi/ledger/openWeb/listRelationApply', $request);
+        if ($response->getRespData()) {
+            print_r($response->getRespData());
+        } else {
+            print_r($response);
+        }
+        echo $response->getRetCode();
+
+        # 响应头信息
+        print_r($response->getHeaders());
+
+        # 响应原文
+        echo $response->getOriginalText();
+    }
 }

+ 19 - 8
tests/Service/LedgerServiceTest.php

@@ -2,6 +2,7 @@
 declare(strict_types=1);
 namespace SixShop\Lakala\Service;
 
+use PHPUnit\Framework\Attributes\Test;
 use PHPUnit\Framework\TestCase;
 use SixShop\Payment\Enum\NumberBizEnum;
 
@@ -13,11 +14,12 @@ class LedgerServiceTest extends TestCase
         $this->ledgerService = app(LedgerService::class);
     }
 
-    public function testApplyLedgerReceiver():void
+    #[Test]
+    public function applyLedgerReceiver():void
     {
         $reqData = [
             // 14位年月日时(24小时制)分秒+8位的随机数(不重复)如:2021020112000012345678
-            'orderNo' => generate_number(NumberBizEnum::WITHDRAWAL, 5),
+            'orderNo' => generate_number(NumberBizEnum::PROFIT_SHARE_RECEIVER, 5),
             'orgCode' => '1',
             'receiverName' => '中国',
             'contactMobile' => '13800138000',
@@ -25,13 +27,13 @@ class LedgerServiceTest extends TestCase
             'acctName' => '中国',
             'acctTypeCode' => '58',
             'acctCertificateType' => '17',
-            'acctCertificateNo' => '522624201810237551',
+            'acctCertificateNo' => '522624201810237551x',
             'acctOpenBankCode' => '01050000', // 收款账户开户行号
-            'acctOpenBankName' => '建设银行',
+            'acctOpenBankName' => '建设银行abc',
             'acctClearBankCode' => '01050000', // 收款账户清算行行号
         ];
-        $this->ledgerService->applyLedgerReceiver($reqData);
-
+        $response = $this->ledgerService->applyLedgerReceiver($reqData);
+        dump($response);
         /**
          * (
          * [version] => 1.0
@@ -55,8 +57,17 @@ class LedgerServiceTest extends TestCase
          */
     }
 
-    public function testQueryReceiverDetail():void
+    #[Test]
+    public function queryReceiverDetail():void
+    {
+        $this->ledgerService->queryReceiverDetail(generate_number(NumberBizEnum::PROFIT_SHARE_RECEIVER, 5), 'SR2024021200610',);
+    }
+
+    #[Test]
+    public function queryBindApplyList():void
     {
-        $this->ledgerService->queryReceiverDetail('2025110915361004006104', 'SR2024021200610',);
+        $this->ledgerService->queryBindApplyList([
+            'orderNo' => generate_number(NumberBizEnum::PROFIT_SHARE_RECEIVER, 5),
+        ], 1, 99,);
     }
 }