diff --git a/app/Codes/DepositTransferReason.php b/app/Codes/DepositTransferReason.php index 39e94bf..21087a7 100644 --- a/app/Codes/DepositTransferReason.php +++ b/app/Codes/DepositTransferReason.php @@ -4,7 +4,7 @@ namespace App\Codes; enum DepositTransferReason: string { - case チャージ = "駐車料金割引(認証)"; + case チャージ = "チャージ"; case 駐車料金割引_認証 = "駐車料金割引_認証"; case 駐車料金割引_印字 = "駐車料金割引_印字"; case 駐車料金割引_取得 = "駐車料金割引_取得"; diff --git a/app/Http/Controllers/Web/Shop/DepositTransferListController.php b/app/Http/Controllers/Web/Shop/DepositTransferListController.php new file mode 100644 index 0000000..b4b7735 --- /dev/null +++ b/app/Http/Controllers/Web/Shop/DepositTransferListController.php @@ -0,0 +1,42 @@ +param; + + $list = $this->repository->get([ + ...$param->toArray(), + DepositTransferRepository::CONDITION_SHOP_ID => $this->sessionUser->shopId(), + ]); + $res = [ + "list" => $list, + ]; + return $this->successResponse($res); + } +} diff --git a/app/Http/Controllers/Web/Shop/DepositTransferListParam.php b/app/Http/Controllers/Web/Shop/DepositTransferListParam.php new file mode 100644 index 0000000..2078c16 --- /dev/null +++ b/app/Http/Controllers/Web/Shop/DepositTransferListParam.php @@ -0,0 +1,18 @@ +sortableRules(), + ]; + } +} diff --git a/app/Repositories/DepositTransferRepository.php b/app/Repositories/DepositTransferRepository.php new file mode 100644 index 0000000..a7c53e6 --- /dev/null +++ b/app/Repositories/DepositTransferRepository.php @@ -0,0 +1,74 @@ + + */ + public function get(array $condition): Collection + { + + $table = DepositTransfer::getBuilder(static::TABLE_TRANSFER); + // -----検索条件 + + // SHOP_ID 必須項目 + $shopId = data_get($condition, self::CONDITION_SHOP_ID); + if ($shopId) { + $this->where($table, $condition, static::CONDITION_SHOP_ID, $this->makeColumnName([static::TABLE_TRANSFER, DepositTransfer::COL_NAME_SHOP_ID])); + } else { + throw new AppCommonException("SHOP_ID不正"); + } + + // ID + $this->where($table, $condition, static::CONDITION_ID, $this->makeColumnName([static::TABLE_TRANSFER, DepositTransfer::COL_NAME_ID])); + + $table->select($this->columns()); + + $main = DB::connection("htpms_customer")->table($table, "main"); + + // ソート + $this->sort($main, $condition); + $main->orderByDesc($this->makeColumnName([DepositTransfer::COL_NAME_TRANSFER_DATETIME])); + + // リミット + $this->limit($main, $condition); + + + + return LoginUserRepositoryData::makeList($main->get()); + } + + private function columns() + { + $transfer = static::TABLE_TRANSFER; + $columns = [ + $this->makeColumnNameForSelect([$transfer, DepositTransfer::COL_NAME_ID]), + $this->makeColumnNameForSelect([$transfer, DepositTransfer::COL_NAME_TRANSFER_DATETIME]), + $this->makeColumnNameForSelect([$transfer, DepositTransfer::COL_NAME_TRANSFER_AMOUNT]), + $this->makeColumnNameForSelect([$transfer, DepositTransfer::COL_NAME_TRANSFER_REASON]), + $this->makeColumnNameForSelect([$transfer, DepositTransfer::COL_NAME_AFTER_AMOUNT]), + $this->makeColumnNameForSelect([$transfer, DepositTransfer::COL_NAME_BEFORE_AMOUNT]), + ]; + + + return $columns; + } +} diff --git a/app/Repositories/DepositTransferRepositoryData.php b/app/Repositories/DepositTransferRepositoryData.php new file mode 100644 index 0000000..45c337c --- /dev/null +++ b/app/Repositories/DepositTransferRepositoryData.php @@ -0,0 +1,10 @@ +group(function () { // 店舗ルート Route::middleware(RouteHelper::role([UserRole::SHOP]))->group(function () { RouteHelper::get('/shop/deposit', App\Http\Controllers\Web\Shop\MyDepositController::class); + RouteHelper::get('/shop/deposit/transfer/list', App\Http\Controllers\Web\Shop\DepositTransferListController::class); RouteHelper::get('/qr-service/acquisition/token', App\Http\Controllers\Web\QRService\Acquisition\GetAcquisitionTokenController::class); RouteHelper::post('/qr-service/acquisition/token/refresh', App\Http\Controllers\Web\QRService\Acquisition\RefreshAcquisitionTokenController::class); RouteHelper::post('/qr-service/certification/check-data-format', App\Http\Controllers\Web\QRService\Certification\CheckDataFormatController::class);