209 lines
7.6 KiB
PHP
209 lines
7.6 KiB
PHP
<?php
|
||
|
||
return [
|
||
/*
|
||
|--------------------------------------------------------------------------
|
||
| SHJ-1 本人確認自動処理 Configuration
|
||
|--------------------------------------------------------------------------
|
||
| SHJ-1バッチ処理の設定ファイル
|
||
|
|
||
*/
|
||
|
||
/*
|
||
|--------------------------------------------------------------------------
|
||
| External API Configuration
|
||
|--------------------------------------------------------------------------
|
||
| 外部API接続設定(環境変数で設定)
|
||
*/
|
||
'apis' => [
|
||
// Google Cloud Vision API(OCR処理用)
|
||
'google_vision' => [
|
||
'api_key' => env('GOOGLE_VISION_API_KEY', 'dummy_google_vision_api_key_replace_with_real_one'),
|
||
'project_id' => env('GOOGLE_CLOUD_PROJECT_ID', 'dummy-project-id'),
|
||
],
|
||
|
||
// Google Maps API(距離計算用)
|
||
'google_maps' => [
|
||
'api_key' => env('GOOGLE_MAPS_API_KEY', 'dummy_google_maps_api_key_replace_with_real_one'),
|
||
'base_url' => 'https://maps.googleapis.com/maps/api',
|
||
],
|
||
],
|
||
|
||
/*
|
||
|--------------------------------------------------------------------------
|
||
| OCR Processing Configuration
|
||
|--------------------------------------------------------------------------
|
||
| OCR処理関連設定
|
||
*/
|
||
'ocr' => [
|
||
// 文字列類似度の閾値(70%)
|
||
'similarity_threshold' => env('SHJ1_OCR_SIMILARITY_THRESHOLD', 70),
|
||
|
||
// 対応身分証明書タイプ
|
||
'supported_id_types' => [
|
||
'免許証',
|
||
'健康保険証',
|
||
'パスポート',
|
||
'学生証',
|
||
'その他'
|
||
],
|
||
|
||
// OCR結果のキャッシュ時間(分)
|
||
'cache_duration' => 60,
|
||
],
|
||
|
||
/*
|
||
|--------------------------------------------------------------------------
|
||
| File Storage Configuration
|
||
|--------------------------------------------------------------------------
|
||
| ファイル保存設定
|
||
*/
|
||
'storage' => [
|
||
// 本人確認写真の保存ディスク(Laravel Storage使用)
|
||
'photo_disk' => 'public',
|
||
|
||
// 写真ファイルの公開URL用パス
|
||
'photo_public_path' => '/storage/photo',
|
||
|
||
// 許可されるファイル拡張子
|
||
'allowed_extensions' => ['jpg', 'jpeg', 'png', 'pdf'],
|
||
|
||
// 最大ファイルサイズ(MB)
|
||
'max_file_size' => env('SHJ1_MAX_FILE_SIZE', 10),
|
||
],
|
||
|
||
/*
|
||
|--------------------------------------------------------------------------
|
||
| Distance Check Configuration
|
||
|--------------------------------------------------------------------------
|
||
| 距離チェック設定
|
||
*/
|
||
'distance' => [
|
||
// デフォルト距離制限(メートル)
|
||
// ※注意:park表にdistance_between_two_pointsフィールドが存在しないため、
|
||
// この値をデフォルトとして使用
|
||
'default_limit_meters' => env('SHJ1_DEFAULT_DISTANCE_LIMIT', 800),
|
||
|
||
// 距離計算の精度(小数点以下桁数)
|
||
'calculation_precision' => 2,
|
||
|
||
// Park表の実際のフィールド名
|
||
'park_latitude_field' => 'park_latitude',
|
||
'park_longitude_field' => 'park_longitude',
|
||
'park_address_field' => 'park_adrs',
|
||
|
||
// Google Maps Distance Matrix API設定
|
||
'google_maps_config' => [
|
||
'units' => 'metric', // メートル単位
|
||
'mode' => 'walking', // 徒歩での距離
|
||
'language' => 'ja', // 日本語
|
||
'region' => 'jp', // 日本地域
|
||
],
|
||
],
|
||
|
||
/*
|
||
|--------------------------------------------------------------------------
|
||
| User Category Configuration
|
||
|--------------------------------------------------------------------------
|
||
| 利用者分類設定
|
||
*/
|
||
'user_categories' => [
|
||
// 対象外とする分類名3の値(実際の運用に合わせて調整)
|
||
'excluded_categories' => [
|
||
'高齢者',
|
||
'障がい者',
|
||
'生活保護',
|
||
'中国',
|
||
'母子家庭'
|
||
],
|
||
|
||
// 通常処理対象の分類名3(実際のDB値に基づく)
|
||
'normal_category' => '該当なし',
|
||
|
||
// Usertype表の実際のフィールド名
|
||
'category_field' => 'usertype_subject3',
|
||
],
|
||
|
||
/*
|
||
|--------------------------------------------------------------------------
|
||
| Identity Check Status Values
|
||
|--------------------------------------------------------------------------
|
||
| 本人確認ステータス値
|
||
*/
|
||
'identity_check_status' => [
|
||
'auto_ok' => 2, // 自動チェックOK
|
||
'auto_ng' => 5, // 自動チェックNG
|
||
'pending' => 0, // 未確認
|
||
'manual_ok' => 1, // 手動確認済み
|
||
],
|
||
|
||
/*
|
||
|--------------------------------------------------------------------------
|
||
| Operator Queue Configuration
|
||
|--------------------------------------------------------------------------
|
||
| オペレータキュー設定
|
||
*/
|
||
'operator_queue' => [
|
||
// キュー種別ID
|
||
'queue_types' => [
|
||
'general' => 1, // 本人確認(社会人)
|
||
'student' => 2, // 本人確認(学生)
|
||
],
|
||
|
||
// キューステータスID
|
||
'queue_status' => [
|
||
'created' => 1, // キュー発生
|
||
'processing' => 2, // キュー作業中
|
||
'completed' => 3, // キュー作業済
|
||
],
|
||
|
||
// バッチジョブのオペレータID
|
||
'batch_operator_id' => env('SHJ1_BATCH_OPERATOR_ID', 9999999),
|
||
|
||
// デフォルトコメント
|
||
'default_comment' => '本人確認手動処理を行ってください',
|
||
],
|
||
|
||
/*
|
||
|--------------------------------------------------------------------------
|
||
| Mail Template Configuration
|
||
|--------------------------------------------------------------------------
|
||
| メール送信設定
|
||
*/
|
||
'mail' => [
|
||
// 使用プログラムID(バッチ処理:200~299)
|
||
// 注意:実際のmail_templateテーブルにSHJ-1用テンプレートを追加する必要あり
|
||
'program_id_success' => env('SHJ1_MAIL_SUCCESS_TEMPLATE_ID', 201), // 本人確認成功時
|
||
'program_id_failure' => env('SHJ1_MAIL_FAILURE_TEMPLATE_ID', 202), // 本人確認失敗時
|
||
|
||
// Mail Template テーブルの検索条件
|
||
'template_search' => [
|
||
'success' => ['pg_id' => env('SHJ1_MAIL_SUCCESS_TEMPLATE_ID', 201), 'internal_id' => 1, 'use_flag' => 1],
|
||
'failure' => ['pg_id' => env('SHJ1_MAIL_FAILURE_TEMPLATE_ID', 202), 'internal_id' => 1, 'use_flag' => 1],
|
||
],
|
||
],
|
||
|
||
/*
|
||
|--------------------------------------------------------------------------
|
||
| Batch Log Configuration
|
||
|--------------------------------------------------------------------------
|
||
| バッチログ設定
|
||
*/
|
||
'batch_log' => [
|
||
'process_name' => 'SHJ-1本人確認自動処理',
|
||
'status_success' => 'success',
|
||
'status_error' => 'error',
|
||
],
|
||
|
||
/*
|
||
|--------------------------------------------------------------------------
|
||
| Regular Contract 800M Flag
|
||
|--------------------------------------------------------------------------
|
||
| 定期契約800M設定
|
||
*/
|
||
'contract_800m' => [
|
||
'violation_flag' => 1, // 800M違反フラグ(distance > limit時に設定)
|
||
'normal_flag' => 0, // 通常フラグ
|
||
],
|
||
];
|