| @@ -0,0 +1,56 @@ | |||||
| <?php | |||||
| namespace App\Http\Controllers\Web\ReceiptIssuingOrder; | |||||
| use App\Http\Controllers\Web\IParam; | |||||
| use App\Http\Controllers\Web\WebController; | |||||
| use App\Logic\ReceiptIssuingOrder\UpdateManager; | |||||
| use App\Models\User; | |||||
| use Illuminate\Http\JsonResponse; | |||||
| use Illuminate\Http\Request; | |||||
| class AcceptSomePoliciesController extends WebController | |||||
| { | |||||
| public function name(): string | |||||
| { | |||||
| return "領収証発行依頼各ポリシー同意"; | |||||
| } | |||||
| public function description(): string | |||||
| { | |||||
| return "領収証発行依頼各ポリシーへの同意"; | |||||
| } | |||||
| public function __construct( | |||||
| protected AcceptSomePoliciesParam $param, | |||||
| private UpdateManager $manager | |||||
| ) { | |||||
| parent::__construct(); | |||||
| } | |||||
| protected function getParam(): IParam | |||||
| { | |||||
| return $this->param; | |||||
| } | |||||
| protected function run(Request $request): JsonResponse | |||||
| { | |||||
| $param = $this->param; | |||||
| $this->manager->initByToken($param->accessToken); | |||||
| if ($param->acceptPrivacyPolicy) { | |||||
| $this->manager->acceptPrivacyPolicy(); | |||||
| } | |||||
| if ($param->acceptCorrectEntry) { | |||||
| $this->manager->acceptCorrectEntry(); | |||||
| } | |||||
| if ($param->acceptSitePolicy) { | |||||
| $this->manager->acceptSitePolicy(); | |||||
| } | |||||
| $this->manager->update(); | |||||
| return $this->successResponse(); | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,30 @@ | |||||
| <?php | |||||
| namespace App\Http\Controllers\Web\ReceiptIssuingOrder; | |||||
| use App\Http\Controllers\Web\BaseParam; | |||||
| use App\Http\Controllers\Web\TimestampParam; | |||||
| use App\Models\ReceiptIssuingOrder; | |||||
| /** | |||||
| * @property string $accessToken | |||||
| * @property ?bool acceptPrivacyPolicy | |||||
| * @property ?bool acceptCorrectEntry | |||||
| * @property ?bool acceptSitePolicy | |||||
| */ | |||||
| class AcceptSomePoliciesParam extends BaseParam implements TimestampParam | |||||
| { | |||||
| public function rules(): array | |||||
| { | |||||
| return array_merge( | |||||
| [ | |||||
| ReceiptIssuingOrder::COL_NAME_ACCESS_TOKEN => $this->str(), | |||||
| ReceiptIssuingOrder::COL_NAME_ACCEPT_PRIVACY_POLICY => $this->boolean(true), | |||||
| ReceiptIssuingOrder::COL_NAME_ACCEPT_CORRECT_ENTRY => $this->boolean(true), | |||||
| ReceiptIssuingOrder::COL_NAME_ACCEPT_SITE_POLICY => $this->boolean(true), | |||||
| ], | |||||
| $this->timestamp(), | |||||
| ); | |||||
| } | |||||
| } | |||||
| @@ -58,6 +58,10 @@ class TokenCheckController extends WebController | |||||
| ReceiptIssuingOrder::COL_NAME_STATUS_ORDER_MAIL_DATETIME, | ReceiptIssuingOrder::COL_NAME_STATUS_ORDER_MAIL_DATETIME, | ||||
| ReceiptIssuingOrder::COL_NAME_STATUS_MAIL_POST_DATE, | ReceiptIssuingOrder::COL_NAME_STATUS_MAIL_POST_DATE, | ||||
| ReceiptIssuingOrder::COL_NAME_ACCEPT_PRIVACY_POLICY, | |||||
| ReceiptIssuingOrder::COL_NAME_ACCEPT_CORRECT_ENTRY, | |||||
| ReceiptIssuingOrder::COL_NAME_ACCEPT_SITE_POLICY, | |||||
| ]), | ]), | ||||
| [ | [ | ||||
| 'confirmed' => $this->manager->isConfirmed(), | 'confirmed' => $this->manager->isConfirmed(), | ||||
| @@ -82,6 +82,22 @@ class UpdateManager extends ReceiptIssuingOrderManager | |||||
| return $this; | return $this; | ||||
| } | } | ||||
| public function acceptPrivacyPolicy(): static | |||||
| { | |||||
| $this->order->accept_privacy_policy = true; | |||||
| return $this; | |||||
| } | |||||
| public function acceptCorrectEntry(): static | |||||
| { | |||||
| $this->order->accept_correct_entry = true; | |||||
| return $this; | |||||
| } | |||||
| public function acceptSitePolicy(): static | |||||
| { | |||||
| $this->order->accept_site_policy = true; | |||||
| return $this; | |||||
| } | |||||
| /** | /** | ||||
| * 郵送投函完了 | * 郵送投函完了 | ||||
| * | * | ||||
| @@ -52,6 +52,9 @@ class ReceiptIssuingOrder extends AppModel | |||||
| const COL_NAME_MAIL_ADDRESS3 = "mail_address3"; | const COL_NAME_MAIL_ADDRESS3 = "mail_address3"; | ||||
| const COL_NAME_MAIL_NAME = "mail_name"; | const COL_NAME_MAIL_NAME = "mail_name"; | ||||
| const COL_NAME_MEMO = "memo"; | const COL_NAME_MEMO = "memo"; | ||||
| const COL_NAME_ACCEPT_PRIVACY_POLICY = "accept_privacy_policy"; | |||||
| const COL_NAME_ACCEPT_CORRECT_ENTRY = "accept_correct_entry"; | |||||
| const COL_NAME_ACCEPT_SITE_POLICY = "accept_site_policy"; | |||||
| protected $casts = [ | protected $casts = [ | ||||
| self::COL_NAME_ORDER_DATETIME => 'datetime', | self::COL_NAME_ORDER_DATETIME => 'datetime', | ||||
| @@ -0,0 +1,48 @@ | |||||
| <?php | |||||
| use App\Models\ColumnName; | |||||
| use App\Util\MigrationHelper; | |||||
| use Illuminate\Database\Migrations\Migration; | |||||
| use Illuminate\Database\Schema\Blueprint; | |||||
| use Illuminate\Support\Facades\Schema; | |||||
| return new class extends Migration | |||||
| { | |||||
| /** | |||||
| * Run the migrations. | |||||
| * | |||||
| * @return void | |||||
| */ | |||||
| public function up() | |||||
| { | |||||
| Schema::table('receipt_issuing_orders', function (Blueprint $table) { | |||||
| $table->boolean("accept_privacy_policy")->nullable()->comment("個人情報保護方針への同意"); | |||||
| $table->boolean("accept_correct_entry")->nullable()->comment("虚偽の申請でないことへの同意"); | |||||
| $table->boolean("accept_site_policy")->nullable()->comment("運営ポリシーへの同意"); | |||||
| }); | |||||
| Schema::table('receipt_issuing_order_histories', function (Blueprint $table) { | |||||
| $table->boolean("accept_privacy_policy")->nullable()->comment("個人情報保護方針への同意"); | |||||
| $table->boolean("accept_correct_entry")->nullable()->comment("虚偽の申請でないことへの同意"); | |||||
| $table->boolean("accept_site_policy")->nullable()->comment("運営ポリシーへの同意"); | |||||
| }); | |||||
| } | |||||
| /** | |||||
| * Reverse the migrations. | |||||
| * | |||||
| * @return void | |||||
| */ | |||||
| public function down() | |||||
| { | |||||
| Schema::table('receipt_issuing_orders', function (Blueprint $table) { | |||||
| $table->dropColumn("accept_privacy_policy"); | |||||
| $table->dropColumn("accept_correct_entry"); | |||||
| $table->dropColumn("accept_site_policy"); | |||||
| }); | |||||
| Schema::table('receipt_issuing_order_histories', function (Blueprint $table) { | |||||
| $table->dropColumn("accept_privacy_policy"); | |||||
| $table->dropColumn("accept_correct_entry"); | |||||
| $table->dropColumn("accept_site_policy"); | |||||
| }); | |||||
| } | |||||
| }; | |||||
| @@ -19,6 +19,7 @@ RouteHelper::get('/logout', App\Http\Controllers\Web\Auth\LogoutController::clas | |||||
| RouteHelper::post('/change-contract', App\Http\Controllers\Web\Auth\ChangeContractController::class); | RouteHelper::post('/change-contract', App\Http\Controllers\Web\Auth\ChangeContractController::class); | ||||
| RouteHelper::get('/app-token-check', App\Http\Controllers\Web\ReceiptIssuingOrder\TokenCheckController::class); | RouteHelper::get('/app-token-check', App\Http\Controllers\Web\ReceiptIssuingOrder\TokenCheckController::class); | ||||
| RouteHelper::post('/receipt-issuing-order/accept/policies', App\Http\Controllers\Web\ReceiptIssuingOrder\AcceptSomePoliciesController::class); | |||||
| RouteHelper::post('/receipt-issuing-order/confirm', App\Http\Controllers\Web\ReceiptIssuingOrder\ConfirmController::class); | RouteHelper::post('/receipt-issuing-order/confirm', App\Http\Controllers\Web\ReceiptIssuingOrder\ConfirmController::class); | ||||
| RouteHelper::post('/receipt-issuing-order/email-order', App\Http\Controllers\Web\ReceiptIssuingOrder\EmailOrderController::class); | RouteHelper::post('/receipt-issuing-order/email-order', App\Http\Controllers\Web\ReceiptIssuingOrder\EmailOrderController::class); | ||||
| RouteHelper::post('/receipt-issuing-order/mail-order', App\Http\Controllers\Web\ReceiptIssuingOrder\MailOrderController::class); | RouteHelper::post('/receipt-issuing-order/mail-order', App\Http\Controllers\Web\ReceiptIssuingOrder\MailOrderController::class); | ||||