137 lines
6.8 KiB
PHP
137 lines
6.8 KiB
PHP
<!DOCTYPE html>
|
|
<html lang="ja">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>本人確認処理 - 成功</title>
|
|
<style>
|
|
body { font-family: Arial, sans-serif; margin: 20px; background-color: #f8f9fa; }
|
|
.container { max-width: 1200px; margin: 0 auto; background: white; padding: 20px; border-radius: 8px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); }
|
|
.header { text-align: center; color: #28a745; margin-bottom: 30px; }
|
|
.section { margin-bottom: 30px; border: 1px solid #dee2e6; border-radius: 5px; padding: 15px; }
|
|
.section-title { font-size: 18px; font-weight: bold; color: #333; margin-bottom: 15px; background-color: #e9ecef; padding: 10px; margin: -15px -15px 15px -15px; }
|
|
.success { background-color: #d4edda; border-color: #c3e6cb; }
|
|
.success .section-title { background-color: #28a745; color: white; }
|
|
pre { background-color: #f8f9fa; padding: 10px; border-radius: 4px; overflow-x: auto; font-size: 12px; line-height: 1.4; }
|
|
.btn { display: inline-block; padding: 10px 20px; background-color: #007bff; color: white; text-decoration: none; border-radius: 4px; margin-top: 20px; }
|
|
.btn:hover { background-color: #0056b3; }
|
|
.status-ok { color: #28a745; font-weight: bold; }
|
|
.timestamp { text-align: right; color: #6c757d; font-size: 12px; }
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div class="container">
|
|
<div class="header">
|
|
<h1>✅ SHJ-1 本人確認自動処理 - 成功</h1>
|
|
<p>本人確認が正常に完了しました</p>
|
|
</div>
|
|
|
|
<div class="timestamp">
|
|
処理日時: {{ $debugInfo['timestamp'] }}
|
|
</div>
|
|
|
|
@if(isset($debugInfo['error']))
|
|
<div class="section">
|
|
<div class="section-title">❌ エラー情報</div>
|
|
<pre>{{ $debugInfo['error'] }}</pre>
|
|
</div>
|
|
@else
|
|
<!-- ユーザー情報 -->
|
|
<div class="section success">
|
|
<div class="section-title">👤 ユーザー情報</div>
|
|
<pre>
|
|
ユーザーID: {{ $debugInfo['user']->user_id ?? 'N/A' }}
|
|
ユーザー連番: {{ $debugInfo['user']->user_seq ?? 'N/A' }}
|
|
氏名: {{ $debugInfo['user']->user_name ?? 'N/A' }}
|
|
フリガナ: {{ $debugInfo['user']->user_phonetic ?? 'N/A' }}
|
|
居住住所: {{ ($debugInfo['user']->user_regident_pre ?? '') . ($debugInfo['user']->user_regident_city ?? '') . ($debugInfo['user']->user_regident_add ?? '') }}
|
|
関連住所: {{ ($debugInfo['user']->user_relate_pre ?? '') . ($debugInfo['user']->user_relate_city ?? '') . ($debugInfo['user']->user_relate_add ?? '') }}
|
|
本人確認書類: {{ $debugInfo['user']->user_idcard ?? 'N/A' }}
|
|
本人確認フラグ: {{ $debugInfo['user']->user_idcard_chk_flag ?? 'N/A' }}
|
|
確認日時: {{ $debugInfo['user']->user_chk_day ?? 'N/A' }}
|
|
確認オペレータID: {{ $debugInfo['user']->user_chk_opeid ?? 'N/A' }}
|
|
写真ファイル1: {{ $debugInfo['user']->photo_filename1 ?? 'N/A' }}
|
|
写真ファイル2: {{ $debugInfo['user']->photo_filename2 ?? 'N/A' }}
|
|
</pre>
|
|
</div>
|
|
|
|
<!-- 駐輪場情報 -->
|
|
@if($debugInfo['park'])
|
|
<div class="section success">
|
|
<div class="section-title">🚲 駐輪場情報</div>
|
|
<pre>
|
|
駐輪場ID: {{ $debugInfo['park']->park_id }}
|
|
駐輪場名: {{ $debugInfo['park']->park_name }}
|
|
住所: {{ $debugInfo['park']->park_adrs }}
|
|
二点間距離設定: {{ $debugInfo['park']->distance_between_two_points ?? 'N/A' }}m
|
|
緯度: {{ $debugInfo['park']->park_latitude ?? 'N/A' }}
|
|
経度: {{ $debugInfo['park']->park_longitude ?? 'N/A' }}
|
|
</pre>
|
|
</div>
|
|
@endif
|
|
|
|
<!-- 契約情報 -->
|
|
@if($debugInfo['contract'])
|
|
<div class="section success">
|
|
<div class="section-title">📝 契約情報</div>
|
|
<pre>
|
|
契約ID: {{ $contractId }}
|
|
ユーザー連番: {{ $debugInfo['contract']->user_id }}
|
|
駐輪場ID: {{ $debugInfo['contract']->park_id }}
|
|
800mフラグ: {{ $debugInfo['contract']->{'800m_flag'} ?? 'N/A' }}
|
|
作成日時: {{ $debugInfo['contract']->created_at ?? 'N/A' }}
|
|
更新日時: {{ $debugInfo['contract']->updated_at ?? 'N/A' }}
|
|
</pre>
|
|
</div>
|
|
@endif
|
|
|
|
<!-- バッチログ情報 -->
|
|
@if($debugInfo['batch_log'])
|
|
<div class="section success">
|
|
<div class="section-title">⚙️ バッチ処理情報</div>
|
|
<pre>
|
|
バッチ名: {{ $debugInfo['batch_log']->process_name }}
|
|
ステータス: <span class="status-ok">{{ $debugInfo['batch_log']->status }}</span>
|
|
開始時刻: {{ $debugInfo['batch_log']->start_time }}
|
|
終了時刻: {{ $debugInfo['batch_log']->end_time }}
|
|
処理件数: {{ $debugInfo['batch_log']->execution_count ?? 0 }}
|
|
成功件数: {{ $debugInfo['batch_log']->success_count ?? 0 }}
|
|
エラー件数: {{ $debugInfo['batch_log']->error_count ?? 0 }}
|
|
メッセージ: {{ $debugInfo['batch_log']->message }}
|
|
</pre>
|
|
</div>
|
|
@endif
|
|
|
|
<!-- 詳細ログ -->
|
|
<div class="section">
|
|
<div class="section-title">📋 SHJ-1処理詳細ログ (OCR・距離計算・判定結果)</div>
|
|
<pre>{{ $debugInfo['detailed_logs'] }}</pre>
|
|
</div>
|
|
|
|
|
|
<!-- Google Maps API結果 -->
|
|
<div class="section success">
|
|
<div class="section-title">🗺️ Google Maps API (距離計算) 処理結果</div>
|
|
<pre>
|
|
【距離計算結果】
|
|
起点住所: {{ $debugInfo['distance_start_address'] ?? (($debugInfo['user']->user_regident_pre ?? '') . ($debugInfo['user']->user_regident_city ?? '') . ($debugInfo['user']->user_regident_add ?? '')) }}
|
|
終点住所: {{ $debugInfo['park']->park_adrs ?? ($debugInfo['distance_end_address'] ?? 'N/A') }}
|
|
計算距離: {{ $debugInfo['calculated_distance'] ?? 'N/A' }}m @if(isset($debugInfo['distance_text']))({{ $debugInfo['distance_text'] }})@endif
|
|
距離制限: {{ $debugInfo['distance_limit'] ?? config('shj1.distance.default_limit_meters') }}m
|
|
判定結果: {{ isset($debugInfo['distance_passed']) ? ($debugInfo['distance_passed'] ? '✅ 制限内' : '❌ 制限超過') : 'N/A' }}
|
|
|
|
【API呼び出し状況】
|
|
API応答: {{ $debugInfo['maps_api_status'] ?? 'ログから確認してください' }}
|
|
エラー詳細: {{ $debugInfo['maps_api_error'] ?? 'なし' }}
|
|
</pre>
|
|
</div>
|
|
@endif
|
|
|
|
<div style="text-align: center; margin-top: 30px;">
|
|
<a href="/regular-contract/upload_identity_create" class="btn">本人確認画面に戻る</a>
|
|
<a href="/regular_contract/create_confirm?contract_id={{ $contractId }}" class="btn">次のステップへ進む</a>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|