<?php

namespace Database\Seeders;

use App\Setting;
use App\Template;
use Illuminate\Database\Seeder;

class AddNewEmailTemplateConfig extends Seeder
{
    public function run()
    {
        // 0. 相談室設定（consultation）を追加
        $consultationSettings = [
            ['group' => 'consultation', 'tab' => 'consultation', 'slug' => 'consultation_phone_url', 'name' => '電話相談URL',    'type' => 'text_field', 'content' => '', 'rule' => '', 'is_publish' => 1, 'is_activated' => 1, 'is_deleted' => 0, 'created_at' => now(), 'updated_at' => now()],
            ['group' => 'consultation', 'tab' => 'consultation', 'slug' => 'consultation_web_url',   'name' => 'Web相談URL',     'type' => 'text_field', 'content' => '', 'rule' => '', 'is_publish' => 1, 'is_activated' => 1, 'is_deleted' => 0, 'created_at' => now(), 'updated_at' => now()],
        ];
        foreach ($consultationSettings as $item) {
            if (!Setting::where('slug', $item['slug'])->exists()) {
                Setting::create($item);
                $this->command->info("Created consultation setting: {$item['slug']}");
            } else {
                // 既存レコードの type が誤っている場合は修正する
                Setting::where('slug', $item['slug'])->where('type', '!=', 'text_field')->update(['type' => 'text_field']);
            }
        }

        // 1. Settings にメールテンプレート設定を追加
        // 未使用のslugをDBから削除（開発環境のクリーンアップ）
        $unusedSlugs = [
            'u_register', 'u_survey', 'u_order_created', 'u_order_updated',
            'u_order_finished', 'u_order_cancelled', 'u_identity_approved_orders',
            'u_provisional_order', 'u_order_received', 'u_order_received_credit',
            'u_order_received_bank',
            'm_survey', 'm_order_created', 'm_order_finished', 'm_order_cancelled',
        ];
        $deletedCount = Setting::whereIn('slug', $unusedSlugs)->delete();
        if ($deletedCount > 0) {
            $this->command->info("Deleted {$deletedCount} unused email settings");
        }

        $settings = [
            // ユーザー向け
            ['group' => 'u_email', 'tab' => 'email', 'slug' => 'u_register_confirm',          'name' => '会員登録確認メール（URL付き）',        'type' => 'select|template:user:register_confirm'],
            ['group' => 'u_email', 'tab' => 'email', 'slug' => 'u_forgot_password',           'name' => 'パスワードリセットメール',             'type' => 'select|template:user:forgot_password'],
            ['group' => 'u_email', 'tab' => 'email', 'slug' => 'u_contact',                   'name' => 'お問い合わせ受付メール',              'type' => 'select|template:user:contact'],
            // 注文関連（クレカ/振込分岐）
            ['group' => 'u_email', 'tab' => 'email', 'slug' => 'u_provisional_order_credit',  'name' => '仮予約受付メール（クレカ）',           'type' => 'select|template:user:provisional_order_credit'],
            ['group' => 'u_email', 'tab' => 'email', 'slug' => 'u_provisional_order_bank',    'name' => '仮予約受付メール（銀行振込）',         'type' => 'select|template:user:provisional_order_bank'],
            ['group' => 'u_email', 'tab' => 'email', 'slug' => 'u_order_confirmed_credit',    'name' => '注文確定メール（クレカ）',             'type' => 'select|template:user:order_confirmed_credit'],
            ['group' => 'u_email', 'tab' => 'email', 'slug' => 'u_order_confirmed_bank',      'name' => '注文確定メール（銀行振込）',           'type' => 'select|template:user:order_confirmed_bank'],
            ['group' => 'u_email', 'tab' => 'email', 'slug' => 'u_identity_order_confirmed_credit', 'name' => '本人確認後 注文確定メール（クレカ）',  'type' => 'select|template:user:identity_order_confirmed_credit'],
            ['group' => 'u_email', 'tab' => 'email', 'slug' => 'u_identity_order_confirmed_bank',   'name' => '本人確認後 注文確定メール（銀行振込）', 'type' => 'select|template:user:identity_order_confirmed_bank'],
            // 決済・変更
            ['group' => 'u_email', 'tab' => 'email', 'slug' => 'u_payment_method_changed',    'name' => '支払方法変更メール',                  'type' => 'select|template:user:payment_method_changed'],
            ['group' => 'u_email', 'tab' => 'email', 'slug' => 'u_provisional_cancelled',     'name' => '仮予約キャンセルメール',               'type' => 'select|template:user:provisional_cancelled'],
            ['group' => 'u_email', 'tab' => 'email', 'slug' => 'u_payment_success',           'name' => '自動決済成功メール',                  'type' => 'select|template:user:payment_success'],
            ['group' => 'u_email', 'tab' => 'email', 'slug' => 'u_payment_failed',            'name' => '自動決済失敗メール',                  'type' => 'select|template:user:payment_failed'],
            // 本人確認関連
            ['group' => 'u_email', 'tab' => 'email', 'slug' => 'u_identity_approved',         'name' => '本人確認承認メール',                  'type' => 'select|template:user:identity_approved'],
            ['group' => 'u_email', 'tab' => 'email', 'slug' => 'u_identity_rejected',         'name' => '本人確認却下メール',                  'type' => 'select|template:user:identity_rejected'],
            ['group' => 'u_email', 'tab' => 'email', 'slug' => 'u_identity_rejected_final',   'name' => '本人確認最終却下メール',               'type' => 'select|template:user:identity_rejected_final'],
            // 管理者向け
            ['group' => 'm_email', 'tab' => 'email', 'slug' => 'm_admin_verify_code',         'name' => '【管理】ログイン認証コード',           'type' => 'select|template:manager:admin_verify_code'],
            ['group' => 'm_email', 'tab' => 'email', 'slug' => 'm_register',                  'name' => '【管理】会員登録通知',                'type' => 'select|template:manager:register'],
            ['group' => 'm_email', 'tab' => 'email', 'slug' => 'm_contact',                   'name' => '【管理】お問い合わせ通知',             'type' => 'select|template:manager:contact'],
            ['group' => 'm_email', 'tab' => 'email', 'slug' => 'm_order_received',            'name' => '【管理】注文受付通知',                'type' => 'select|template:manager:order_received'],
        ];

        foreach ($settings as $item) {
            $item['content'] = '';
            $item['rule'] = '';
            $item['is_publish'] = 1;
            $item['is_activated'] = 1;
            $item['is_deleted'] = 0;
            $item['created_at'] = date('Y-m-d H:i:s');
            $item['updated_at'] = date('Y-m-d H:i:s');

            $check = Setting::where('slug', $item['slug'])->first();
            if (!$check) {
                Setting::create($item);
                $this->command->info("Created Setting: {$item['slug']}");
            } else {
                // 名前を最新に更新
                $check->update(['name' => $item['name']]);
                $this->command->info("Updated Setting name: {$item['slug']} -> {$item['name']}");
            }
        }

        // 2. デフォルトテンプレートを作成し、Settings に紐付け
        $templates = [
            // ===== 既存メール（type 0-7）=====
            [
                'slug' => 'u_register',
                'name' => '会員登録メール（ユーザー）',
                'type' => 0,
                'group' => 0,
                'title' => '【{{ site_name }}】会員登録ありがとうございます',
                'content' => '<h3>※このメールはシステムからの自動返信です</h3><br/>
{{ full_name }}様<br/>
<br/>
この度は「{{ site_name }}」サイトに新規会員登録してくださり、ありがとうございました。<br/>
<br/>
新規会員登録内容<br/>
<table style="border-collapse: collapse; width: 100%;">
    <tbody>
    <tr style="background-color: #f2f2f2;">
        <th style="border: 1px solid #ddd; padding: 8px;">お名前：</th>
        <td style="border: 1px solid #ddd; padding: 8px;">{{ full_name }}</td>
    </tr>
    <tr>
        <th style="border: 1px solid #ddd; padding: 8px; width: 35%;">フリガナ：</th>
        <td style="border: 1px solid #ddd; padding: 8px;">{{ furigana_name }}</td>
    </tr>
    <tr style="background-color: #f2f2f2;">
        <th style="border: 1px solid #ddd; padding: 8px;">ニックネーム：</th>
        <td style="border: 1px solid #ddd; padding: 8px;">{{ name }}</td>
    </tr>
    <tr>
        <th style="border: 1px solid #ddd; padding: 8px; width: 35%;">住所：</th>
        <td style="border: 1px solid #ddd; padding: 8px;">{{ post_code }} {{ city }}{{ district }}{{ address }}</td>
    </tr>
    <tr style="background-color: #f2f2f2;">
        <th style="border: 1px solid #ddd; padding: 8px;">電話番号：</th>
        <td style="border: 1px solid #ddd; padding: 8px;">{{ phone_number }}</td>
    </tr>
    <tr>
        <th style="border: 1px solid #ddd; padding: 8px; width: 35%;">メールアドレス：</th>
        <td style="border: 1px solid #ddd; padding: 8px;">{{ email }}</td>
    </tr>
    </tbody>
</table>
───────────────────────────────────<br/>
<br/>
----------------------------------------------------<br/>
{{ site_name }}<br/>
<a href="{{ site_url }}/" target="_blank">{{ site_url }}/</a><br/>
----------------------------------------------------<br/>
※このメールは送信専用アドレスです。<br/>
ご返信いただいても配信元へは届きませんのでご了承ください。<br/>
お問い合せは、以下お問い合わせフォームよりお願いいたします。<br/>
<a href="{{ site_url }}/contact" target="_blank">{{ site_url }}/contact</a><br/>
----------------------------------------------------<br/>',
            ],
            [
                'slug' => 'm_register',
                'name' => '会員登録メール（管理者）',
                'type' => 0,
                'group' => 1,
                'title' => '【{{ site_name }}】新規会員登録がありました',
                'content' => '<h3>※このメールはシステムからの自動返信です</h3><br/>
「{{ site_name }}」の新規会員登録フォームから、新規会員登録がありました。<br/>
<br/>
新規会員登録内容<br/>
<table style="border-collapse: collapse; width: 100%;">
    <tbody>
    <tr style="background-color: #f2f2f2;">
        <th style="border: 1px solid #ddd; padding: 8px;">お名前：</th>
        <td style="border: 1px solid #ddd; padding: 8px;">{{ full_name }}</td>
    </tr>
    <tr>
        <th style="border: 1px solid #ddd; padding: 8px; width: 35%;">フリガナ：</th>
        <td style="border: 1px solid #ddd; padding: 8px;">{{ furigana_name }}</td>
    </tr>
    <tr style="background-color: #f2f2f2;">
        <th style="border: 1px solid #ddd; padding: 8px;">ニックネーム：</th>
        <td style="border: 1px solid #ddd; padding: 8px;">{{ name }}</td>
    </tr>
    <tr>
        <th style="border: 1px solid #ddd; padding: 8px; width: 35%;">住所：</th>
        <td style="border: 1px solid #ddd; padding: 8px;">{{ post_code }} {{ city }}{{ district }}{{ address }}</td>
    </tr>
    <tr style="background-color: #f2f2f2;">
        <th style="border: 1px solid #ddd; padding: 8px;">電話番号：</th>
        <td style="border: 1px solid #ddd; padding: 8px;">{{ phone_number }}</td>
    </tr>
    <tr>
        <th style="border: 1px solid #ddd; padding: 8px; width: 35%;">メールアドレス：</th>
        <td style="border: 1px solid #ddd; padding: 8px;">{{ email }}</td>
    </tr>
    </tbody>
</table>',
            ],
            [
                'slug' => 'u_contact',
                'name' => 'お問い合わせメール（ユーザー）',
                'type' => 1,
                'group' => 0,
                'title' => '【{{ site_name }}】お問い合わせを受け付けました',
                'content' => '<h3>※このメールはシステムからの自動返信です</h3><br/>
{{ name }}様<br/>
<br/>
メールフォームでのお問い合わせありがとうございます。<br/>
<br/>
後日、担当者よりお客様のメールアドレスにご連絡いたします。<br/>
今しばらくお待ちください。<br/>
<br/>
━━━━━━□■□　お問い合わせ内容　□■□━━━━━━<br/>
<table style="border-collapse: collapse; width: 100%;">
    <tbody>
        <tr style="background-color: #f2f2f2;">
            <th style="border: 1px solid #ddd; padding: 8px; width: 30%;">お名前：</th>
            <td style="border: 1px solid #ddd; padding: 8px;">{{ name }}</td>
        </tr>
        <tr>
            <th style="border: 1px solid #ddd; padding: 8px; width: 30%;">メールアドレス：</th>
            <td style="border: 1px solid #ddd; padding: 8px;">{{ email }}</td>
        </tr>
        <tr style="background-color: #f2f2f2;">
            <th style="border: 1px solid #ddd; padding: 8px; width: 30%;">電話番号：</th>
            <td style="border: 1px solid #ddd; padding: 8px;">{{ phone_number }}</td>
        </tr>
        <tr>
            <th style="border: 1px solid #ddd; padding: 8px; width: 30%;">お問い合わせ内容：</th>
            <td style="border: 1px solid #ddd; padding: 8px;">{{ content }}</td>
        </tr>
    </tbody>
</table>
<br/>
<br/>
----------------------------------------------------<br/>
※このメールは送信専用アドレスです。<br/>
ご返信いただいても配信元へは届きませんのでご了承ください。<br/>
----------------------------------------------------<br/>',
            ],
            [
                'slug' => 'm_contact',
                'name' => 'お問い合わせメール（管理者）',
                'type' => 1,
                'group' => 1,
                'title' => '【{{ site_name }}】新しいお問い合わせがあります',
                'content' => '<h3>※このメールはシステムからの自動返信です</h3><br/>
{{ name }}様よりメールフォームにお問い合わせがありました。<br/>
以下の内容でお問い合わせが来ていますので、担当者様はお客様のメールアドレスにご連絡をお願いします。<br/>
<br/>
━━━━━━□■□　お問い合わせ内容　□■□━━━━━━<br/>
<table style="border-collapse: collapse; width: 100%;">
    <tbody>
        <tr style="background-color: #f2f2f2;">
            <th style="border: 1px solid #ddd; padding: 8px; width: 30%;">お名前：</th>
            <td style="border: 1px solid #ddd; padding: 8px;">{{ name }}</td>
        </tr>
        <tr>
            <th style="border: 1px solid #ddd; padding: 8px; width: 30%;">メールアドレス：</th>
            <td style="border: 1px solid #ddd; padding: 8px;">{{ email }}</td>
        </tr>
        <tr style="background-color: #f2f2f2;">
            <th style="border: 1px solid #ddd; padding: 8px; width: 30%;">電話番号：</th>
            <td style="border: 1px solid #ddd; padding: 8px;">{{ phone_number }}</td>
        </tr>
        <tr>
            <th style="border: 1px solid #ddd; padding: 8px; width: 30%;">お問い合わせ内容：</th>
            <td style="border: 1px solid #ddd; padding: 8px;">{{ content }}</td>
        </tr>
    </tbody>
</table>',
            ],
            [
                'slug' => 'u_survey',
                'name' => 'アンケートメール（ユーザー）',
                'type' => 2,
                'group' => 0,
                'title' => '【{{ site_name }}】アンケートの送信ありがとうございます',
                'content' => '<h3>※このメールはシステムからの自動返信です</h3><br/>
{{ name }}様<br/><br/>
アンケートにご回答いただき、ありがとうございます。<br/>
内容を確認の上、担当者よりご連絡させていただきます。<br/><br/>
----------------------------------------------------<br/>
{{ site_name }}<br/>
{{ site_url }}<br/>
----------------------------------------------------<br/>',
            ],
            [
                'slug' => 'm_survey',
                'name' => 'アンケートメール（管理者）',
                'type' => 2,
                'group' => 1,
                'title' => '【{{ site_name }}】新しいアンケート回答があります',
                'content' => '<h3>新しいアンケート回答</h3><br/>
以下のアンケート回答がありました。<br/><br/>
お名前：{{ name }}<br/>
メールアドレス：{{ email }}<br/>
電話番号：{{ phone_number }}<br/>
内容：<br/>
{{ content }}<br/><br/>
----------------------------------------------------<br/>
{{ site_name }}<br/>
{{ site_url }}<br/>
----------------------------------------------------<br/>',
            ],
            [
                'slug' => 'u_order_created',
                'name' => '注文確認メール（ユーザー）',
                'type' => 3,
                'group' => 0,
                'title' => '【{{ site_name }}】お申し込みありがとうございます #{{ code }}',
                'content' => '<h3>※このメールはシステムからの自動返信です</h3><br/>
【{{ site_name }}】にご注文いただきありがとうございます。<br/>
<br/>
ご注文を処理しています。<br/>
<br/>
以下、注文情報です:<br/>
<br/>
<table style="border-collapse: collapse; width: 100%;">
    <tbody>
        <tr style="background-color: #797979;">
            <td colspan="2" style="text-align: left; color: #fff;">
                <p style="padding-left: 20px;">注文</p>
            </td>
        </tr>
        <tr style="background-color: #f2f2f2;">
            <th style="border: 1px solid #ddd; padding: 8px; width: 30%;">オーダーコード：</th>
            <td style="border: 1px solid #ddd; padding: 8px;"><b>#{{ code }}</b></td>
        </tr>
        <tr>
            <th style="border: 1px solid #ddd; padding: 8px; width: 30%;">合計金額：</th>
            <td style="border: 1px solid #ddd; padding: 8px;">{{ total_price }}</td>
        </tr>
        <tr style="background-color: #f2f2f2;">
            <th style="border: 1px solid #ddd; padding: 8px; width: 30%;">支払方法：</th>
            <td style="border: 1px solid #ddd; padding: 8px;">{{ payment_method }}</td>
        </tr>
        <tr>
            <th style="border: 1px solid #ddd; padding: 8px; width: 30%;">支払い状況：</th>
            <td style="border: 1px solid #ddd; padding: 8px;">{{ payment_status }}</td>
        </tr>
        <tr style="background-color: #f2f2f2;">
            <th style="border: 1px solid #ddd; padding: 8px; width: 30%;">ノート：</th>
            <td style="border: 1px solid #ddd; padding: 8px;">{{ note }}</td>
        </tr>
        <tr style="background-color: #797979;">
            <td colspan="2" style="text-align: left; color: #fff;">
                <p style="padding-left: 20px;">配送先住所</p>
            </td>
        </tr>
        <tr>
            <th style="border: 1px solid #ddd; padding: 8px; width: 30%;">お名前：</th>
            <td style="border: 1px solid #ddd; padding: 8px;">{{ last_name }} {{ first_name }}</td>
        </tr>
        <tr style="background-color: #f2f2f2;">
            <th style="border: 1px solid #ddd; padding: 8px; width: 30%;">フリガナ：</th>
            <td style="border: 1px solid #ddd; padding: 8px;">{{ furigana_last_name }} {{ furigana_first_name }}</td>
        </tr>
        <tr>
            <th style="border: 1px solid #ddd; padding: 8px; width: 30%;">住所：</th>
            <td style="border: 1px solid #ddd; padding: 8px;">{{ post_code }} {{ address1 }}{{ address2 }}{{ address3 }}</td>
        </tr>
        <tr style="background-color: #f2f2f2;">
            <th style="border: 1px solid #ddd; padding: 8px; width: 30%;">電話番号：</th>
            <td style="border: 1px solid #ddd; padding: 8px;">{{ phone_number }}</td>
        </tr>
        <tr>
            <th style="border: 1px solid #ddd; padding: 8px; width: 30%;">メールアドレス：</th>
            <td style="border: 1px solid #ddd; padding: 8px;">{{ email }}</td>
        </tr>
    </tbody>
</table>',
            ],
            [
                'slug' => 'm_order_created',
                'name' => '注文確認メール（管理者）',
                'type' => 3,
                'group' => 1,
                'title' => '【{{ site_name }}】新しい注文があります #{{ code }}',
                'content' => '<h3>※このメールはシステムからの自動返信です</h3><br/>
[{{ site_name }}]の新しい注文があります。<br/>
<br/>
新規ご注文内容<br/>
<br/>
<table style="border-collapse: collapse; width: 100%;">
    <tbody>
        <tr style="background-color: #797979;">
            <td colspan="2" style="text-align: left; color: #fff;">
                <p style="padding-left: 20px;">注文</p>
            </td>
        </tr>
        <tr style="background-color: #f2f2f2;">
            <th style="border: 1px solid #ddd; padding: 8px; width: 30%;">オーダーコード：</th>
            <td style="border: 1px solid #ddd; padding: 8px;">
                <a href="{{ site_url }}/admin/order?c={{ code }}" target="_blank"><b>#{{ code }}</b></a>
            </td>
        </tr>
        <tr>
            <th style="border: 1px solid #ddd; padding: 8px; width: 30%;">合計金額：</th>
            <td style="border: 1px solid #ddd; padding: 8px;">{{ total_price }}</td>
        </tr>
        <tr style="background-color: #f2f2f2;">
            <th style="border: 1px solid #ddd; padding: 8px; width: 30%;">支払方法：</th>
            <td style="border: 1px solid #ddd; padding: 8px;">{{ payment_method }}</td>
        </tr>
        <tr>
            <th style="border: 1px solid #ddd; padding: 8px; width: 30%;">支払い状況：</th>
            <td style="border: 1px solid #ddd; padding: 8px;">{{ payment_status }}</td>
        </tr>
        <tr style="background-color: #f2f2f2;">
            <th style="border: 1px solid #ddd; padding: 8px; width: 30%;">ノート：</th>
            <td style="border: 1px solid #ddd; padding: 8px;">{{ note }}</td>
        </tr>
        <tr style="background-color: #797979;">
            <td colspan="2" style="text-align: left; color: #fff;">
                <p style="padding-left: 20px;">配送先住所</p>
            </td>
        </tr>
        <tr>
            <th style="border: 1px solid #ddd; padding: 8px; width: 30%;">お名前：</th>
            <td style="border: 1px solid #ddd; padding: 8px;">{{ last_name }} {{ first_name }}</td>
        </tr>
        <tr style="background-color: #f2f2f2;">
            <th style="border: 1px solid #ddd; padding: 8px; width: 30%;">フリガナ：</th>
            <td style="border: 1px solid #ddd; padding: 8px;">{{ furigana_last_name }} {{ furigana_first_name }}</td>
        </tr>
        <tr>
            <th style="border: 1px solid #ddd; padding: 8px; width: 30%;">住所：</th>
            <td style="border: 1px solid #ddd; padding: 8px;">{{ post_code }} {{ address1 }}{{ address2 }}{{ address3 }}</td>
        </tr>
        <tr style="background-color: #f2f2f2;">
            <th style="border: 1px solid #ddd; padding: 8px; width: 30%;">電話番号：</th>
            <td style="border: 1px solid #ddd; padding: 8px;">{{ phone_number }}</td>
        </tr>
        <tr>
            <th style="border: 1px solid #ddd; padding: 8px; width: 30%;">メールアドレス：</th>
            <td style="border: 1px solid #ddd; padding: 8px;">{{ email }}</td>
        </tr>
    </tbody>
</table>',
            ],
            [
                'slug' => 'u_order_finished',
                'name' => '注文完了メール（ユーザー）',
                'type' => 5,
                'group' => 0,
                'title' => '【{{ site_name }}】ご注文が完了しました #{{ code }}',
                'content' => '{{ last_name }} {{ first_name }}様<br/><br/>
ご注文 #{{ code }} のお取引が完了いたしました。<br/>
この度はご利用いただき、誠にありがとうございました。<br/><br/>
またのご利用を心よりお待ちしております。<br/><br/>
----------------------------------------------------<br/>
{{ site_name }}<br/>
{{ site_url }}<br/>
----------------------------------------------------<br/>',
            ],
            [
                'slug' => 'm_order_finished',
                'name' => '注文完了メール（管理者）',
                'type' => 5,
                'group' => 1,
                'title' => '【{{ site_name }}】注文が完了しました #{{ code }}',
                'content' => '<h3>注文完了</h3><br/>
受注番号：{{ code }}<br/>
お客様名：{{ last_name }} {{ first_name }}<br/><br/>
----------------------------------------------------<br/>
{{ site_name }}<br/>
{{ site_url }}<br/>
----------------------------------------------------<br/>',
            ],
            [
                'slug' => 'u_order_cancelled',
                'name' => '注文キャンセルメール（ユーザー）',
                'type' => 6,
                'group' => 0,
                'title' => '【{{ site_name }}】ご注文がキャンセルされました #{{ code }}',
                'content' => '{{ last_name }} {{ first_name }}様<br/><br/>
ご注文 #{{ code }} がキャンセルされました。<br/><br/>
ご不明な点がございましたら、お気軽にお問い合わせください。<br/><br/>
----------------------------------------------------<br/>
{{ site_name }}<br/>
{{ site_url }}<br/>
----------------------------------------------------<br/>',
            ],
            [
                'slug' => 'm_order_cancelled',
                'name' => '注文キャンセルメール（管理者）',
                'type' => 6,
                'group' => 1,
                'title' => '【{{ site_name }}】注文がキャンセルされました #{{ code }}',
                'content' => '<h3>注文キャンセル</h3><br/>
受注番号：{{ code }}<br/>
お客様名：{{ last_name }} {{ first_name }}<br/><br/>
----------------------------------------------------<br/>
{{ site_name }}<br/>
{{ site_url }}<br/>
----------------------------------------------------<br/>',
            ],
            [
                'slug' => 'u_forgot_password',
                'name' => 'パスワード再設定メール',
                'type' => 7,
                'group' => 0,
                'title' => '【{{ site_name }}】パスワード再設定のご案内',
                'content' => '<br/>
<br/>
{{ full_name }}様<br/>
<br/>
{{ site_name }}のパスワード再設定メールです。<br/>
下記の認証URLをクリックして、パスワードの変更を完了してください。<br/>
<br/>
<a href="{{ link }}" target="_blank"><strong>{{ link }}</strong></a><br/>
<br/>
クリックしてもページに移動しない場合は、認証URLをブラウザの入力欄にコピーしてページ移動してください。<br/>
認証URLの有効時間は15分となっています。<br/>
今後とも、{{ site_name }}をよろしくお願いいたします。<br/>
<br/>
{{ site_name }}<br/>
<a href="{{ site_url }}/" target="_blank"><strong>{{ site_url }}/</strong></a><br/>
<br/>
<br/>',
            ],
            // ===== 新規メール（type 8-19）=====
            [
                'slug' => 'u_identity_approved',
                'name' => '本人確認承認メール',
                'type' => 8,
                'group' => 0,
                'title' => '【{{ site_name }}】本人確認が完了しました',
                'content' => '<h3>※このメールはシステムからの自動返信です</h3><br/>
{{ full_name }}様<br/><br/>
いつも{{ site_name }}をご利用いただき、誠にありがとうございます。<br/><br/>
<strong>本人確認が完了いたしました。</strong><br/><br/>
───────────────────────────────────<br/>
<strong>マイページはこちら</strong><br/>
<a href="{{ site_url }}/mypage">{{ site_url }}/mypage</a><br/>
───────────────────────────────────<br/><br/>
ご不明な点がございましたら、お気軽にお問い合わせください。<br/><br/>
----------------------------------------------------<br/>
{{ site_name }}<br/>
{{ site_url }}<br/>
----------------------------------------------------<br/>',
            ],
            [
                'slug' => 'u_identity_rejected',
                'name' => '本人確認却下メール（再提出可）',
                'type' => 9,
                'group' => 0,
                'title' => '【{{ site_name }}】本人確認書類の再提出をお願いします',
                'content' => '<h3>※このメールはシステムからの自動返信です</h3><br/>
{{ full_name }}様<br/><br/>
いつも{{ site_name }}をご利用いただき、誠にありがとうございます。<br/><br/>
大変申し訳ございませんが、ご提出いただいた本人確認書類について、承認することができませんでした。<br/><br/>
<strong style="color: #dc3545;">【重要】{{ resubmit_deadline_days }}日以内に再提出をお願いします</strong><br/><br/>
期限内に本人確認書類を再提出されない場合、仮予約は自動的にキャンセルとなります。<br/>
お手数ですが、以下のページより再度本人確認書類をご提出ください。<br/><br/>
───────────────────────────────────<br/>
<strong>本人確認書類の再提出はこちら</strong><br/>
<a href="{{ site_url }}/mypage/information/certification">{{ site_url }}/mypage/information/certification</a><br/>
───────────────────────────────────<br/><br/>
<strong>【再提出時のご注意】</strong><br/>
・書類全体が鮮明に写るように撮影してください<br/>
・光の反射や影が入らないようにしてください<br/>
・書類の四隅がすべて写っていることを確認してください<br/>
・加工・編集された画像は受け付けられません<br/><br/>
----------------------------------------------------<br/>
{{ site_name }}<br/>
{{ site_url }}<br/>
----------------------------------------------------<br/>',
            ],
            [
                'slug' => 'u_identity_rejected_final',
                'name' => '本人確認却下メール（最終）',
                'type' => 10,
                'group' => 0,
                'title' => '【{{ site_name }}】本人確認を完了できませんでした',
                'content' => '<h3>※このメールはシステムからの自動返信です</h3><br/>
{{ full_name }}様<br/><br/>
いつも{{ site_name }}をご利用いただき、誠にありがとうございます。<br/><br/>
大変申し訳ございませんが、ご提出いただいた本人確認書類について、承認することができませんでした。<br/><br/>
<strong style="color: #dc3545;">本人確認を完了できませんでした</strong><br/><br/>
2回の確認で本人確認書類が承認されなかったため、仮予約はキャンセルとなりました。<br/><br/>
ご不明な点がございましたら、カスタマーサポートまでお問い合わせください。<br/><br/>
----------------------------------------------------<br/>
{{ site_name }}<br/>
{{ site_url }}<br/>
----------------------------------------------------<br/>',
            ],
            [
                'slug' => 'u_identity_approved_orders',
                'name' => '本人確認承認+注文確定メール',
                'type' => 11,
                'group' => 0,
                'title' => 'ご注文が確定しました。「{{ site_name }}」(着物レンタル）',
                'content' => '{{ full_name }} 様<br/><br/>
この度は、「{{ site_name }}」をご利用いただき、誠にありがとうございます。<br/><br/>
本人確認が完了し、ご注文商品のレンタルが可能となりましたので<br/>
本メールをもって、正式に【{{ first_wearing_date }}】のレンタルを承りました。<br/><br/>
つきましては、ご注文内容を再度ご確認いただき、下記内容を参考にお支払いをお願い致します。<br/><br/>
その他、ご不明な点がありましたらいつでもお気軽にお問い合わせください。<br/><br/>
{{ payment_info }}<br/><br/>
{{ orders_detail }}<br/><br/>
----------------------------------------------------<br/>
{{ site_name }}<br/>
{{ site_url }}<br/>
----------------------------------------------------<br/>',
            ],
            [
                'slug' => 'u_provisional_cancelled',
                'name' => '仮予約キャンセルメール',
                'type' => 12,
                'group' => 0,
                'title' => '【{{ site_name }}】仮予約がキャンセルされました',
                'content' => '<h3>※このメールはシステムからの自動返信です</h3><br/>
{{ full_name }}様<br/><br/>
いつも{{ site_name }}をご利用いただき、誠にありがとうございます。<br/><br/>
大変申し訳ございませんが、以下の仮予約がキャンセルとなりましたので、ご連絡いたします。<br/><br/>
{{ order_detail }}<br/><br/>
ご予約いただいた商品は再度ご注文いただけます。<br/>
ぜひまたのご利用をお待ちしております。<br/><br/>
───────────────────────────────────<br/>
<strong>商品を探す</strong><br/>
<a href="{{ site_url }}/search">{{ site_url }}/search</a><br/>
───────────────────────────────────<br/><br/>
ご不明な点がございましたら、お気軽にお問い合わせください。<br/><br/>
----------------------------------------------------<br/>
{{ site_name }}<br/>
{{ site_url }}<br/>
----------------------------------------------------<br/>',
            ],
            [
                'slug' => 'u_payment_method_changed',
                'name' => '決済方法変更メール',
                'type' => 13,
                'group' => 0,
                'title' => 'お支払い方法変更のご案内 - 注文番号: {{ order_code }}',
                'content' => '{{ full_name }}様<br/><br/>
ご注文 #{{ order_code }} のお支払い方法が変更されました。<br/><br/>
{{ payment_change_detail }}<br/><br/>
ご不明な点がございましたら、お気軽にお問い合わせください。<br/><br/>
----------------------------------------------------<br/>
{{ site_name }}<br/>
{{ site_url }}<br/>
----------------------------------------------------<br/>',
            ],
            [
                'slug' => 'u_payment_success',
                'name' => '自動決済成功メール',
                'type' => 14,
                'group' => 0,
                'title' => '【{{ site_name }}】ご注文の決済が完了しました #{{ order_code }}',
                'content' => '{{ full_name }} 様<br/><br/>
この度は、「{{ site_name }}」をご利用いただき、誠にありがとうございます。<br/><br/>
下記ご注文の決済が完了いたしましたので、ご報告申し上げます。<br/><br/>
---------------------------------------------------------------------------------------------------------------------------<br/>
<span style="margin-left: 14px;">[受注番号] {{ order_code }}</span><br/>
<span style="margin-left: 14px;">[着用予定日] {{ wear_date }}</span><br/>
<span style="margin-left: 14px;">[お支払金額] {{ total_price }}円</span><br/>
<span style="margin-left: 14px;">[お支払方法] クレジットカード（自動決済）</span><br/>
---------------------------------------------------------------------------------------------------------------------------<br/><br/>
商品の発送準備が整い次第、発送のご案内をお送りいたします。<br/><br/>
ご不明な点がございましたら、お気軽にお問い合わせください。<br/><br/>
---------------------------------------------------------------------------------------------------------------------------<br/>
{{ site_name }}<br/>
{{ site_url }}<br/>
---------------------------------------------------------------------------------------------------------------------------<br/>',
            ],
            [
                'slug' => 'u_payment_failed',
                'name' => '自動決済失敗メール',
                'type' => 15,
                'group' => 0,
                'title' => '【{{ site_name }}】ご注文の決済に失敗しました #{{ order_code }}',
                'content' => '{{ full_name }} 様<br/><br/>
この度は、「{{ site_name }}」をご利用いただき、誠にありがとうございます。<br/><br/>
下記ご注文のクレジットカード決済を行いましたが、決済が完了できませんでした。<br/><br/>
---------------------------------------------------------------------------------------------------------------------------<br/>
<span style="margin-left: 14px;">[受注番号] {{ order_code }}</span><br/>
<span style="margin-left: 14px;">[着用予定日] {{ wear_date }}</span><br/>
<span style="margin-left: 14px;">[お支払金額] {{ total_price }}円</span><br/>
---------------------------------------------------------------------------------------------------------------------------<br/><br/>
お手数ですが、以下をご確認のうえ、お早めにご対応をお願いいたします。<br/><br/>
<span style="margin-left: 14px;">・クレジットカードの有効期限が切れていないかご確認ください</span><br/>
<span style="margin-left: 14px;">・ご利用限度額に余裕があるかご確認ください</span><br/>
<span style="margin-left: 14px;">・別のカードでのお支払いをご希望の場合は、当店までご連絡ください</span><br/><br/>
ご不明な点がございましたら、お気軽にお問い合わせください。<br/><br/>
---------------------------------------------------------------------------------------------------------------------------<br/>
{{ site_name }}<br/>
{{ site_url }}<br/>
---------------------------------------------------------------------------------------------------------------------------<br/>',
            ],
            [
                'slug' => 'u_provisional_order',
                'name' => '仮予約受付メール',
                'type' => 16,
                'group' => 0,
                'title' => 'ご注文ありがとうございます。「{{ site_name }}」(着物レンタル）',
                'content' => '{{ full_name }} 様<br/><br/>
この度は、「{{ site_name }}」をご利用いただき、誠にありがとうございます。<br/>
スタッフ一同真心を込めて対応させていただきますので、お取引終了までどうぞよろしくお願いいたします。<br/><br/>
---------------------------------------------------------------------------------------------------------------------------<br/>
只今、ご登録いただきました身分証明証による本人確認を行っております。<br/>
本人確認が完了し、ご注文商品のレンタルが可能となりましたら<br/>
改めて「ご注文が確定しました。」というメールにてお知らせいたします。<br/>
---------------------------------------------------------------------------------------------------------------------------<br/><br/>
{{ order_detail }}<br/><br/>
{{ rental_flow }}<br/><br/>
----------------------------------------------------<br/>
{{ site_name }}<br/>
{{ site_url }}<br/>
----------------------------------------------------<br/>',
            ],
            [
                'slug' => 'u_order_received',
                'name' => '注文受付メール（ユーザー）',
                'type' => 17,
                'group' => 0,
                'title' => '【{{ site_name }}】お申し込みありがとうございます #{{ order_code }}',
                'content' => '<h3>※このメールはシステムからの自動返信です</h3><br/>
【{{ site_name }}】にご注文いただきありがとうございます。<br/><br/>
ご注文を処理しています。<br/><br/>
{{ order_detail }}<br/><br/>
----------------------------------------------------<br/>
{{ site_name }}<br/>
{{ site_url }}<br/>
----------------------------------------------------<br/>',
            ],
            [
                'slug' => 'm_order_received',
                'name' => '注文受付メール（管理者）',
                'type' => 18,
                'group' => 1,
                'title' => '【{{ site_name }}】新しい注文があります #{{ order_code }}',
                'content' => '<h3>新しい注文があります</h3><br/>
{{ order_detail }}<br/><br/>
----------------------------------------------------<br/>
{{ site_name }}<br/>
{{ site_url }}<br/>
----------------------------------------------------<br/>',
            ],
            [
                'slug' => 'm_admin_verify_code',
                'name' => '管理者ログイン認証コードメール',
                'type' => 19,
                'group' => 1,
                'title' => '【{{ site_name }}】管理者ログインの確認',
                'content' => '<br/><br/>
<p>ログイン認証コード: <br/><span style="font-size: 25px; font-weight: bold; margin-left: 30px;">{{ code }}</span></p>
<br/><br/>
※記載されたコードの有効期限は5分間です。ご注意ください。<br/>
<br/>
────────────────────────────<br/>
{{ site_name }}<br/>
{{ site_url }}<br/>
────────────────────────────<br/>',
            ],
            // ===== 追加テンプレート =====
            [
                'slug' => 'u_register_confirm',
                'name' => '登録確認メール（確認URL付き）',
                'type' => 0,
                'group' => 0,
                'title' => '【{{ site_name }}】ご利用登録URLのご案内',
                'content' => '<h3>この度は「{{ site_name }}」を、ご利用いただきまして、誠にありがとうございます。</h3><br/>
<br/>
下記URLよりご利用登録を行なってください。<br/>
<a href="{{ site_url }}/register/{{ code }}" target="_blank">{{ site_url }}/register/{{ code }}</a><br/>
※メールに記載されているURLの有効時間は100分となっております。ご注意ください。<br/>
<br/>
今後とも���うぞ、「{{ site_name }}」をよろしくお願い申し上げます��<br/>
<br/>
────────────────────────────<br/>
{{ site_name }}<br/>
<a href="{{ site_url }}/" target="_blank">{{ site_url }}/</a><br/>
────────────────────────────<br/>',
            ],
            [
                'slug' => 'u_provisional_order_credit',
                'name' => '仮予約受付メール（クレカ）',
                'type' => 16,
                'group' => 0,
                'title' => 'ご注文ありがとう��ざいます。「{{ site_name }}��(着物レンタル）',
                'content' => '{{ full_name }} 様<br/><br/>
この度は、「{{ site_name }}」をご利用いただき、誠にありがとうございます。<br/>
ス��ッフ一同真心を込めて対応させていただきますので、お取引終了までどうぞよろしくお願いいたします。<br/><br/>
---------------------------------------------------------------------------------------------------------------------------<br/>
只今、ご登録いただきました身分証明証による本人確認を行っております。<br/>
本人確認が完了し、ご注文商品のレンタルが可能となりましたら<br/>
改めて「ご注文が確定しました。」というメールにてお知らせいたします。<br/>
---------------------------------------------------------------------------------------------------------------------------<br/><br/>
{{ order_detail }}<br/><br/>
{{ rental_flow }}<br/><br/>
<strong>※着用日の11日前にクレジットカードによる自動決済が行われます。</strong><br/><br/>
----------------------------------------------------<br/>
{{ site_name }}<br/>
{{ site_url }}<br/>
----------------------------------------------------<br/>',
            ],
            [
                'slug' => 'u_provisional_order_bank',
                'name' => '仮予約受付メール（振込）',
                'type' => 16,
                'group' => 0,
                'title' => 'ご注文ありがとうございます。「{{ site_name }}」(着物レンタル）',
                'content' => '{{ full_name }} 様<br/><br/>
この度は、「{{ site_name }}」をご利用いただき、誠にありがとうございます。<br/>
スタッフ一同真心を込めて対応させていただきますので、お取引終了までどうぞよろしくお願いいたします。<br/><br/>
---------------------------------------------------------------------------------------------------------------------------<br/>
只今、ご登録いただきました身分証明証による本人確認を行っております。<br/>
本人確認が完了し、ご注文商品のレンタルが可能となりましたら<br/>
改めて「ご注文が確定しました。」というメールにてお知らせいたします。<br/>
---------------------------------------------------------------------------------------------------------------------------<br/><br/>
{{ order_detail }}<br/><br/>
{{ rental_flow }}<br/><br/>
----------------------------------------------------<br/>
{{ site_name }}<br/>
{{ site_url }}<br/>
----------------------------------------------------<br/>',
            ],
            [
                'slug' => 'u_order_received_credit',
                'name' => '注文受付メール（クレカ）',
                'type' => 17,
                'group' => 0,
                'title' => '【{{ site_name }}】��申し込みありがとうございます #{{ order_code }}',
                'content' => '<h3>※このメールはシステムからの自動返信です</h3><br/>
【{{ site_name }}��にご注文いただきありがとうございます。<br/><br/>
ご注文を処理しています。<br/><br/>
{{ order_detail }}<br/><br/>
<strong>※着用日の11日前にクレジットカードによる自動決済が行われます。</strong><br/><br/>
----------------------------------------------------<br/>
{{ site_name }}<br/>
{{ site_url }}<br/>
----------------------------------------------------<br/>',
            ],
            [
                'slug' => 'u_order_received_bank',
                'name' => '注文受付メール（振込）',
                'type' => 17,
                'group' => 0,
                'title' => '【{{ site_name }}】お申し込みありがとうございます #{{ order_code }}',
                'content' => '<h3>※このメールはシステムからの自動返信です</h3><br/>
【{{ site_name }}】にご注文いただきありがとうございます。<br/><br/>
ご注文を処理しています。<br/><br/>
{{ order_detail }}<br/><br/>
----------------------------------------------------<br/>
{{ site_name }}<br/>
{{ site_url }}<br/>
----------------------------------------------------<br/>',
            ],
            [
                'slug' => 'u_order_confirmed_credit',
                'name' => '受注確定メール（クレカ・認証済み）',
                'type' => 11,
                'group' => 0,
                'title' => 'ご注文が確定しました。「{{ site_name }}」(着物レンタル）',
                'content' => '{{ full_name }} 様<br/><br/>
この度は、「{{ site_name }}」をご利用いただき、誠にありがとうございます。<br/>
スタッフ一同真心を込めて対応させていただきますので、お取引終了までどうぞよろしくお願いいたします。<br/><br/>
ご注文が確定いたしました。<br/><br/>
---------------------------------------------------------------------------------------------------------------------------<br/>
<strong>【クレジットカード払い】</strong><br/>
ご注文時にご登録いただきましたクレジットカード宛てに<br/>
ご着用予定日の【{{ payment_deadline_days }}日前】に当店より引き落としを行います。<br/>
お支払いの手続きは必要ありません。<br/>
---------------------------------------------------------------------------------------------------------------------------<br/><br/>
{{ order_detail }}<br/><br/>
{{ rental_flow }}<br/><br/>
----------------------------------------------------<br/>
{{ site_name }}<br/>
{{ site_url }}<br/>
----------------------------------------------------<br/>',
            ],
            [
                'slug' => 'u_order_confirmed_bank',
                'name' => '受注確認メール（振込・認証済み）',
                'type' => 11,
                'group' => 0,
                'title' => '【{{ site_name }}】ご注文を受け付けました',
                'content' => '{{ full_name }} 様<br/><br/>
この度は、「{{ site_name }}」をご利用いただき、誠にありがとうございます。<br/>
スタッフ一同真心を込めて対応させていただきますので、お取引終了までどうぞよろしくお願いいたします。<br/><br/>
ご注文を受け付けました。下記内容を参考にお支払いをお願いいたします。<br/><br/>
{{ payment_info }}<br/><br/>
{{ order_detail }}<br/><br/>
{{ rental_flow }}<br/><br/>
----------------------------------------------------<br/>
{{ site_name }}<br/>
{{ site_url }}<br/>
----------------------------------------------------<br/>',
            ],
            [
                'slug' => 'u_identity_order_confirmed_credit',
                'name' => '本人確認完了後・受注確定メール（クレカ）',
                'type' => 11,
                'group' => 0,
                'title' => 'ご注文が確定しました。「{{ site_name }}」(着物レンタル）',
                'content' => '{{ full_name }} 様<br/><br/>
この度は、「{{ site_name }}」をご利用いただき、誠にありがとうございます。<br/><br/>
<strong>本人確認が完了し、ご注文商品のレンタルが可能となりましたので</strong><br/>
本メールをもって、正式に【{{ first_wearing_date }}】のレンタルを承りました。<br/><br/>
つきましては、ご注文内容を再度ご確認ください。<br/><br/>
---------------------------------------------------------------------------------------------------------------------------<br/>
<strong>【クレジットカード払い】</strong><br/>
ご注文時にご登録いただきましたクレジットカード宛てに<br/>
ご着用予定日の【{{ payment_deadline_days }}日前】に当店より引き落としを行います。<br/>
お支払いの手続きは必要ありません。<br/>
---------------------------------------------------------------------------------------------------------------------------<br/><br/>
{{ orders_detail }}<br/><br/>
----------------------------------------------------<br/>
{{ site_name }}<br/>
{{ site_url }}<br/>
----------------------------------------------------<br/>',
            ],
            [
                'slug' => 'u_identity_order_confirmed_bank',
                'name' => '本人確認完了後・受注確認メール（振込）',
                'type' => 11,
                'group' => 0,
                'title' => 'ご注文が確定しました。「{{ site_name }}」(着物レンタル）',
                'content' => '{{ full_name }} 様<br/><br/>
この度は、「{{ site_name }}」をご利用いただき、誠にありがとうございます。<br/><br/>
<strong>本人確認が完了し、ご注文商品のレンタルが可能となりましたので</strong><br/>
本メールをもって、正式に【{{ first_wearing_date }}】のレンタルを承りました。<br/><br/>
つきましては、ご注文内容を再度ご確認いただき、下記内容を参考にお支払いをお願い致します。<br/><br/>
{{ payment_info }}<br/><br/>
{{ orders_detail }}<br/><br/>
----------------------------------------------------<br/>
{{ site_name }}<br/>
{{ site_url }}<br/>
----------------------------------------------------<br/>',
            ],
        ];

        foreach ($templates as $tpl) {
            $slug = $tpl['slug'];
            unset($tpl['slug']);

            $tpl['user_id'] = 1;
            $tpl['is_activated'] = 1;
            $tpl['is_deleted'] = 0;
            $tpl['created_at'] = now();
            $tpl['updated_at'] = now();

            // Settings から既に紐付いているテンプレートIDを取得
            $setting = Setting::where('slug', $slug)->first();
            $existingId = $setting ? $setting->content : null;
            $existing = $existingId ? Template::find($existingId) : Template::where('name', $tpl['name'])->first();

            if (!$existing) {
                $template = Template::create($tpl);
                Setting::where('slug', $slug)->update(['content' => $template->id]);
                $this->command->info("Created template '{$tpl['name']}' (ID: {$template->id}) -> {$slug}");
            } else {
                // 既存テンプレートはtype/groupのみ更新（CMS編集済みのtitle/contentは保持）
                $existing->update([
                    'type' => $tpl['type'],
                    'group' => $tpl['group'],
                    'updated_at' => now(),
                ]);
                Setting::where('slug', $slug)->update(['content' => $existing->id]);
                $this->command->info("Linked existing template '{$tpl['name']}' (ID: {$existing->id}) -> {$slug} (content preserved)");
            }
        }
    }
}
