From 2f315440a266646526cffd100a5cd14802f40b06 Mon Sep 17 00:00:00 2001 From: "sosuke.iwabuchi" Date: Thu, 24 Aug 2023 09:22:36 +0900 Subject: [PATCH] =?UTF-8?q?HT=E3=81=B8=E3=81=AE=E9=A0=98=E5=8F=8E=E8=A8=BC?= =?UTF-8?q?=E9=80=9A=E7=9F=A5=E3=81=AB=E3=81=A6unicode=E3=82=A8=E3=82=B9?= =?UTF-8?q?=E3=82=B1=E3=83=BC=E3=83=97=E3=81=95=E3=82=8C=E3=81=AA=E3=81=84?= =?UTF-8?q?=E3=82=88=E3=81=86=E3=81=AB=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit SATE_RECEIPT-37 領収証作成通信 --- .../Test/HTReceiptIssuingTestController.php | 18 ++++++++++ app/Http/Controllers/Test/TestController.php | 34 +++++++++++++++++++ app/Providers/RouteServiceProvider.php | 7 ++++ app/Util/Custom/HelloTechno/API.php | 22 ++++++++---- routes/test.php | 16 +++++++++ 5 files changed, 90 insertions(+), 7 deletions(-) create mode 100644 app/Http/Controllers/Test/HTReceiptIssuingTestController.php create mode 100644 app/Http/Controllers/Test/TestController.php create mode 100644 routes/test.php diff --git a/app/Http/Controllers/Test/HTReceiptIssuingTestController.php b/app/Http/Controllers/Test/HTReceiptIssuingTestController.php new file mode 100644 index 0000000..c669fe1 --- /dev/null +++ b/app/Http/Controllers/Test/HTReceiptIssuingTestController.php @@ -0,0 +1,18 @@ +json( + + [ + 'result_code' => 'SUCCESS' + ] + ); + } +} diff --git a/app/Http/Controllers/Test/TestController.php b/app/Http/Controllers/Test/TestController.php new file mode 100644 index 0000000..c85cebb --- /dev/null +++ b/app/Http/Controllers/Test/TestController.php @@ -0,0 +1,34 @@ +setLogContext($request); + + + logger("★★★★★REQUEST TEST", ["request_data" => $request->toArray()]); + + return $this->service($request); + } + + abstract function service(Request $request); + + protected function setLogContext(Request $request) + { + Log::withContext([ + '__requestUuid__' => strval(Str::uuid()), + '__userId__' => Auth::id(), + '__path__' => $request->path(), + ]); + } +} diff --git a/app/Providers/RouteServiceProvider.php b/app/Providers/RouteServiceProvider.php index e40d0fa..8b74a5d 100644 --- a/app/Providers/RouteServiceProvider.php +++ b/app/Providers/RouteServiceProvider.php @@ -2,6 +2,7 @@ namespace App\Providers; +use App\Codes\EnvironmentName; use Illuminate\Cache\RateLimiting\Limit; use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider; use Illuminate\Http\Request; @@ -33,6 +34,12 @@ class RouteServiceProvider extends ServiceProvider Route::middleware('web') ->group(base_path('routes/web.php')); + + + if (app()->environment([EnvironmentName::LOCAL->value])) { + Route::prefix('test') + ->group(base_path('routes/test.php')); + } }); } diff --git a/app/Util/Custom/HelloTechno/API.php b/app/Util/Custom/HelloTechno/API.php index c116df2..4a81682 100644 --- a/app/Util/Custom/HelloTechno/API.php +++ b/app/Util/Custom/HelloTechno/API.php @@ -69,11 +69,6 @@ class API ) { $param = static::makeReceiptIssuingOrderParams($order, $customOrder, $tax, $eventName, $eventDatetime); - if (app()->environment([EnvironmentName::LOCAL->value])) { - logger("HT通知 ローカル環境のため送信しない", ['SEND' => $param]); - return []; - } - return static::post(static::getReceiptIssuingOrderUrl(), $param); } @@ -101,7 +96,17 @@ class API } private static function getReceiptIssuingOrderUrl() { - $condition = [static::getHost(), static::URL_RECEIPT_ISSUING_ORDER]; + + $condition = []; + + if (app()->environment([EnvironmentName::LOCAL->value])) { + // テスト環境用 + $condition = ['http://localhost/test/HT/receipt-issuing']; + } else { + // 正規ルート + $condition = [static::getHost(), static::URL_RECEIPT_ISSUING_ORDER]; + } + return implode('/', $condition); } @@ -191,7 +196,10 @@ class API private static function post(string $url, array $param = []) { try { - $res = Http::post($url, $param); + // そのままポストしてしまうとunicodeエスケープして送られてしまい + // HT側で変換の手間がかかるため、withBodyを使って素のボディ部を設定する + $res = Http::withBody(json_encode($param, JSON_UNESCAPED_UNICODE)) + ->post($url); if ($res->failed()) { throw $res->throw(); } diff --git a/routes/test.php b/routes/test.php new file mode 100644 index 0000000..368203a --- /dev/null +++ b/routes/test.php @@ -0,0 +1,16 @@ +