<?php

namespace App\Http\Controllers\Admin;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\User;
use App\Models\Usertype;

class PersonalController extends Controller
{
    /**
     * 本人確認手動処理 一覧画面
     */
    public function list(Request $request)
    {
        $query = User::query();

        if ($request->filled('user_id')) {
            $query->where('user_id', $request->input('user_id'));
        }

        $users = $query->paginate(20);

        return view('admin.personal.list', [
            'users' => $users,
            'request' => $request,
        ]);
    }

    /**
     * 本人確認手動処理 編集画面
     */
    public function edit(Request $request, $id)
    {
        // 利用者情報取得
        $user = User::where('user_id', $id)->firstOrFail();

        // 利用者分類マスタ取得（ラジオボタン用）
        $usertypes = Usertype::orderBy('sort_order')->get();

        // POST時の処理
        if ($request->isMethod('post')) {
            // 利用者分類IDの更新
            $user->user_categoryid = $request->input('user_categoryid', $user->user_categoryid);

            // 本人確認チェックOK/NG
            if ($request->input('check') === 'ok') {
                $user->user_idcard_chk_flag = 1;
            } elseif ($request->input('check') === 'ng') {
                $user->user_idcard_chk_flag = 0;
                // 備考欄も更新（NG理由）
                $user->user_remarks = $request->input('user_remarks', $user->user_remarks);
            }

            $user->save();

            return redirect()->route('personal')->with('success', '更新しました');
        }

        return view('admin.personal.edit', [
            'user' => $user,
            'usertypes' => $usertypes,
        ]);
    }
}