Sfoglia il codice sorgente

利用規約対応

develop
sosuke.iwabuchi 2 anni fa
parent
commit
f49b46607e
7 ha cambiato i file con 158 aggiunte e 0 eliminazioni
  1. +56
    -0
      app/Http/Controllers/Web/ReceiptIssuingOrder/AcceptSomePoliciesController.php
  2. +30
    -0
      app/Http/Controllers/Web/ReceiptIssuingOrder/AcceptSomePoliciesParam.php
  3. +4
    -0
      app/Http/Controllers/Web/ReceiptIssuingOrder/TokenCheckController.php
  4. +16
    -0
      app/Logic/ReceiptIssuingOrder/UpdateManager.php
  5. +3
    -0
      app/Models/ReceiptIssuingOrder.php
  6. +48
    -0
      database/migrations/2023_07_19_084900_add_column_receipt_issuing_orders_table_accept_policies.php
  7. +1
    -0
      routes/api.php

+ 56
- 0
app/Http/Controllers/Web/ReceiptIssuingOrder/AcceptSomePoliciesController.php Vedi File

@@ -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();
}
}

+ 30
- 0
app/Http/Controllers/Web/ReceiptIssuingOrder/AcceptSomePoliciesParam.php Vedi File

@@ -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(),
);
}
}

+ 4
- 0
app/Http/Controllers/Web/ReceiptIssuingOrder/TokenCheckController.php Vedi File

@@ -58,6 +58,10 @@ class TokenCheckController extends WebController
ReceiptIssuingOrder::COL_NAME_STATUS_ORDER_MAIL_DATETIME,
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(),


+ 16
- 0
app/Logic/ReceiptIssuingOrder/UpdateManager.php Vedi File

@@ -82,6 +82,22 @@ class UpdateManager extends ReceiptIssuingOrderManager
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;
}

/**
* 郵送投函完了
*


+ 3
- 0
app/Models/ReceiptIssuingOrder.php Vedi File

@@ -52,6 +52,9 @@ class ReceiptIssuingOrder extends AppModel
const COL_NAME_MAIL_ADDRESS3 = "mail_address3";
const COL_NAME_MAIL_NAME = "mail_name";
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 = [
self::COL_NAME_ORDER_DATETIME => 'datetime',


+ 48
- 0
database/migrations/2023_07_19_084900_add_column_receipt_issuing_orders_table_accept_policies.php Vedi File

@@ -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");
});
}
};

+ 1
- 0
routes/api.php Vedi File

@@ -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::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/email-order', App\Http\Controllers\Web\ReceiptIssuingOrder\EmailOrderController::class);
RouteHelper::post('/receipt-issuing-order/mail-order', App\Http\Controllers\Web\ReceiptIssuingOrder\MailOrderController::class);


Loading…
Annulla
Salva