networkrailbusinesssystems / oracle-api
提供从Oracle(iStore目录)发送和接收数据的端点
1.0.0
2023-09-01 15:04 UTC
Requires
- php: ^8.2
- guzzlehttp/guzzle: ^7
- illuminate/support: ^10
Requires (Dev)
- laravel/pint: ^1.7
- orchestra/testbench: ^8
- phpunit/phpunit: ^10
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" ]), ]);