From 0b74edfcf698a9097f89a2788962b90f61568d0f Mon Sep 17 00:00:00 2001 From: "sosuke.iwabuchi" Date: Mon, 1 Apr 2024 14:58:41 +0900 Subject: [PATCH] =?UTF-8?q?=E7=95=B0=E5=8B=95=E5=B1=A5=E6=AD=B4=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Codes/DepositTransferReason.php | 11 ++++++ app/Logics/QRService/CertificateLogic.php | 3 +- app/Logics/QRService/ChargeLogic.php | 4 +- app/Logics/QRService/CreateLogic.php | 3 +- app/Logics/QRService/DepositCheck.php | 5 ++- .../HtpmsCustomer/Deposit/DepositTransfer.php | 3 ++ ..._add_column_tbl3_dep_deposit_transfers.php | 37 +++++++++++++++++++ 7 files changed, 62 insertions(+), 4 deletions(-) create mode 100644 app/Codes/DepositTransferReason.php create mode 100644 database/migrations/2024_04_01_140500_add_column_tbl3_dep_deposit_transfers.php diff --git a/app/Codes/DepositTransferReason.php b/app/Codes/DepositTransferReason.php new file mode 100644 index 0000000..39e94bf --- /dev/null +++ b/app/Codes/DepositTransferReason.php @@ -0,0 +1,11 @@ +shop_id, $discountAmount); + self::useDeposit($qr->shop_id, $discountAmount, DepositTransferReason::駐車料金割引_認証); $qr->used_at = $adjustDatetime; $qr->discount_amount = $discountAmount; $qr->discount_ticket_code = $discountTicketCode; diff --git a/app/Logics/QRService/ChargeLogic.php b/app/Logics/QRService/ChargeLogic.php index ab2a41f..f487813 100644 --- a/app/Logics/QRService/ChargeLogic.php +++ b/app/Logics/QRService/ChargeLogic.php @@ -2,6 +2,7 @@ namespace App\Logics\QRService; +use App\Codes\DepositTransferReason; class ChargeLogic { @@ -18,9 +19,10 @@ class ChargeLogic [$shop, $deposit] = self::getData($shopId); - $deposit->deposit += $amount; $history = self::makeTransferHistory($shopId, $amount); + $deposit->deposit += $amount; + $history->transfer_reason = DepositTransferReason::チャージ; $deposit->save(); $history->save(); diff --git a/app/Logics/QRService/CreateLogic.php b/app/Logics/QRService/CreateLogic.php index 30d7970..1eb033c 100644 --- a/app/Logics/QRService/CreateLogic.php +++ b/app/Logics/QRService/CreateLogic.php @@ -2,6 +2,7 @@ namespace App\Logics\QRService; +use App\Codes\DepositTransferReason; use App\Exceptions\AppCommonException; use App\Models\ColumnName; use App\Models\HtpmsCustomer\QRService\AcquisitionAvailableSetting; @@ -119,7 +120,7 @@ class CreateLogic self::checkQrParkingGroup($qr->qr_service_parking_group_id, $parkingManagementCode); // デポジット処理 - self::useDeposit($qr->shop_id, $discountAmount); + self::useDeposit($qr->shop_id, $discountAmount, DepositTransferReason::駐車料金割引_取得); $qr->discount_amount = $discountAmount; // 利用情報 diff --git a/app/Logics/QRService/DepositCheck.php b/app/Logics/QRService/DepositCheck.php index 0471236..9affa06 100644 --- a/app/Logics/QRService/DepositCheck.php +++ b/app/Logics/QRService/DepositCheck.php @@ -2,6 +2,7 @@ namespace App\Logics\QRService; +use App\Codes\DepositTransferReason; use App\Contexts\Model\Deposit as ContextDeposit; use App\Contexts\Model\Shop as ContextShop; use App\Exceptions\AppCommonException; @@ -32,6 +33,7 @@ trait DepositCheck protected static function useDeposit( string $shopId, int $amount, + DepositTransferReason $reason, ) { // データ取得 [$shop, $deposit] = self::getData($shopId); @@ -42,6 +44,7 @@ trait DepositCheck // 異動履歴作成 $history = self::makeTransferHistory($shopId, -1 * $amount); + $history->transfer_reason = $reason; // デポジット減算 $deposit->deposit -= $amount; @@ -60,7 +63,7 @@ trait DepositCheck $transfer = new DepositTransfer(); $transfer->shop_id = $shopId; $transfer->transfer_datetime = DateUtil::now(); - $transfer->transfer_amount = -1 * $amount; + $transfer->transfer_amount = $amount; $transfer->before_amount = $deposit->deposit; $transfer->after_amount = $deposit->deposit + $amount; return $transfer; diff --git a/app/Models/HtpmsCustomer/Deposit/DepositTransfer.php b/app/Models/HtpmsCustomer/Deposit/DepositTransfer.php index 64e5626..33e541b 100644 --- a/app/Models/HtpmsCustomer/Deposit/DepositTransfer.php +++ b/app/Models/HtpmsCustomer/Deposit/DepositTransfer.php @@ -2,6 +2,7 @@ namespace App\Models\HtpmsCustomer\Deposit; +use App\Codes\DepositTransferReason; use App\Models\Cast; use App\Models\ColumnName; use App\Models\HistoryModel; @@ -14,6 +15,7 @@ class DepositTransfer extends HtpmsCustomerAppModel { const COL_NAME_SHOP_ID = ColumnName::SHOP_ID; // 店舗ID const COL_NAME_TRANSFER_DATETIME = "transfer_datetime"; // 異動日時 + const COL_NAME_TRANSFER_REASON = "transfer_reason"; // 異動理由 const COL_NAME_TRANSFER_AMOUNT = "transfer_amount"; // デポジット残高 const COL_NAME_BEFORE_AMOUNT = "before_amount"; // 異動前デポジット const COL_NAME_AFTER_AMOUNT = "after_amount"; // 異動後デポジット @@ -22,6 +24,7 @@ class DepositTransfer extends HtpmsCustomerAppModel protected $casts = [ self::COL_NAME_TRANSFER_DATETIME => Cast::DATETIME, + self::COL_NAME_TRANSFER_REASON => DepositTransferReason::class, ]; public function getHistory(): ?HistoryModel diff --git a/database/migrations/2024_04_01_140500_add_column_tbl3_dep_deposit_transfers.php b/database/migrations/2024_04_01_140500_add_column_tbl3_dep_deposit_transfers.php new file mode 100644 index 0000000..92ea61a --- /dev/null +++ b/database/migrations/2024_04_01_140500_add_column_tbl3_dep_deposit_transfers.php @@ -0,0 +1,37 @@ +string("transfer_reason")->nullable()->comment("異動理由"); + }; + + MigrationHelper::alterTable("tbl3_dep_deposit_transfers", $schema); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('tbl3_dep_deposit_transfers', function (Blueprint $table) { + if (Schema::hasColumn($table->getTable(), "transfer_reason")) { + $table->dropColumn("transfer_reason"); + } + }); + } +};