提供从Oracle(iStore目录)发送和接收数据的端点

1.0.0 2023-09-01 15:04 UTC

This package is auto-updated.

Last update: 2024-09-30 02:00:06 UTC


README

此API用于搜索和订购iStore目录项。

为Laravel 10构建。

安装

通过Composer添加库: composer require networkrailbusinesssystems/oracle-api

安装完成后,导出配置: php artisan vendor:publish --provider="NetworkRailBusinessSystems\OracleApi\OracleApiServiceProvider.php"

  • 设置访问Oracle
    ORACLE_CATALOGUE_USERNAME=
    ORACLE_CATALOGUE_PASSWORD=
    ORACLE_CATALOGUE_EMULATOR=false
  • 设置通过项目或描述从Oracle搜索
    ORACLE_CATALOGUE_GET_HOST=

然后您可以在项目中使用OracleCatalogueHelper类函数进行项目搜索

use NetworkRailBusinessSystems\OracleApi\OracleCatalogueHelper;

$response = OracleCatalogueHelper::search('016798 or FENCE', limit = 100); // search by item code or description 
$response = OracleCatalogueHelper::searchByCode('0004/016798', limit = 100); // search by item code 
$response = OracleCatalogueHelper::searchByDescription('FENCE', limit = 100);  // search by item description
  • 设置订单提交
    ORACLE_CATALOGUE_POST_HOST=

然后您可以使用OracleCatalogueHelper类函数进行订单提交

use NetworkRailBusinessSystems\OracleApi\OracleCatalogueHelper;

$oracle_order_number = OracleCatalogueHelper::submitOrderToOracle($orderDetails);

Oracle API软件包使用了Laravel Http Client。这使您能够在测试中模拟Http响应,因此不需要与Oracle API建立实时连接。

  • 设置模拟搜索响应和订单提交。
    ORACLE_CATALOGUE_EMULATOR=true
Http::fake([
    '*' => Http::response([
            "ItemCode" => "0004/016798",
            "ItemDescription" => "POST FENCE  INTERMDT 6 HOLE",
            "ItemYourPrice" => 50.95,
            "Status" => "NR SUPER",
            "PackSize" => "1",
            "IBECustomAttribute15" => null,
            "ConfigurableItem" => null,
            "ItemPrimaryUOMCode" => null,
            "MiniSiteName" => "Non-Heavy Products"
    ]),
]);