Compare commits

..

No commits in common. "ab6029e1c8a2417cb46f94793effb987b7f903c8" and "32cd4f873cc3c2d5893e262fcb5061368713b823" have entirely different histories.

2 changed files with 66 additions and 47 deletions

View File

@ -764,6 +764,10 @@ class RegularContractCreateController extends Controller
$month = $request->input('month'); $month = $request->input('month');
$price = $request->input('price_' . $month); $price = $request->input('price_' . $month);
\Log::info('契約期間更新処理', [
'month' => $month,
'price' => $price,
]);
$today = now(); $today = now();
$day = $today->day; $day = $today->day;
if ($day <= 19) { if ($day <= 19) {

View File

@ -75,12 +75,12 @@ class UserWithdrawController extends Controller
} }
// 退会契約チェック // 退会契約チェック
$contracts = DB::table('regular_contract') $contract = DB::table('regular_contract')
->where('user_id', $user_id) ->where('user_id', $user_id)
->orderByDesc('contract_id') ->orderByDesc('contract_id')
->get(); ->first();
if ($contracts->isEmpty()) { if (!$contract) {
// 契約なし→退会完了画面 // 契約なし→退会完了画面
\Log::info('退会完了画面にアクセス', [ \Log::info('退会完了画面にアクセス', [
'user_id' => $user_id, 'user_id' => $user_id,
@ -92,53 +92,68 @@ class UserWithdrawController extends Controller
]); ]);
} }
foreach ($contracts as $contract) { // 有効性判定
// 有効性判定 if ($contract->contract_cancel_flag == 1 || $contract->contract_cancel_flag == 2) {
if ($contract->contract_cancel_flag == 1 || $contract->contract_cancel_flag == 2) { \Log::info('退会完了画面にアクセス', [
continue; // この契約はスキップして次へ 'user_id' => $user_id,
} ]);
session()->forget('user_id');
// 契約期間のyear/month取得 return view('user.withdraw_complete')->with([
$contract_year = $contract->contract_periode ? date('Y', strtotime($contract->contract_periode)) : null; 'active_menu' => 'SWC-1-1', // マイページメニューの選択状態用
$contract_month = $contract->contract_periode ? date('m', strtotime($contract->contract_periode)) : null; 'user_name' => $user ? $user->user_name : '', // ユーザー名(ヘッダー用)
$today_year = $now->year; ]);
$today_month = $now->month;
// 年月が空欄の場合は次の契約へ
if (empty($contract_year) || empty($contract_month)) {
continue;
}
// 今月までなら次の契約へ
if ($contract_year == $today_year && $contract_month == $today_month) {
continue;
}
// 翌月以降なら返金処理キュー登録
if ($contract_year > $today_year || ($contract_year == $today_year && $contract_month > $today_month)) {
DB::table('operator_que')->insert([
'que_class' => 13,
'user_id' => $user_id,
'contract_id' => $contract->contract_id,
'park_id' => $contract->park_id,
'que_comment' => null,
'que_status' => 1,
'que_status_comment' => '返金処理が必要な契約があります',
'work_instructions' => 'お客様にの契約を確認し、退会後の返金処理をおこなってください。',
'created_at' => $now,
'updated_at' => $now,
'operator_id' => null,
]);
}
} }
// 全件確認後に退会完了画面へ
\Log::info('退会完了画面にアクセス', [ // 契約期間のyear/month取得
'user_id' => $user_id, $contract_year = date('Y', strtotime($contract->contract_periode));
]); $contract_month = date('m', strtotime($contract->contract_periode));
session()->forget('user_id'); $today_year = $now->year;
return view('user.withdraw_complete')->with([ $today_month = $now->month;
// 今月までなら退会完了
if ($contract_year == $today_year && $contract_month == $today_month) {
\Log::info('退会完了画面にアクセス', [
'user_id' => $user_id,
]);
session()->forget('user_id');
return view('user.withdraw_complete')->with([
'active_menu' => 'SWC-1-1', // マイページメニューの選択状態用
'user_name' => $user ? $user->user_name : '', // ユーザー名(ヘッダー用)
]);
}
// 翌月以降なら返金処理キュー登録
if ($contract_year > $today_year || ($contract_year == $today_year && $contract_month > $today_month)) {
DB::table('operator_que')->insert([
'que_class' => 13,
'user_id' => $user_id,
'contract_id' => $contract->contract_id,
'park_id' => $contract->park_id,
'que_comment' => null,
'que_status' => 1,
'que_status_comment' => '返金処理が必要な契約があります',
'work_instructions' => 'お客様にの契約を確認し、退会後の返金処理をおこなってください。',
'created_at' => $now,
'updated_at' => $now,
'operator_id' => null,
]);
\Log::info('退会完了画面にアクセス', [
'user_id' => $user_id,
]);
session()->forget('user_id');
return view('user.withdraw_complete')->with([
'active_menu' => 'SWC-1-1', // マイページメニューの選択状態用
'user_name' => $user ? $user->user_name : '', // ユーザー名(ヘッダー用)
]);
}
// どのifにも該当しない場合は退会完了画面にエラーメッセージを表示
\Log::info('退会完了画面にアクセス(エラーにつき退会失敗表示)', [
'user_id' => $user_id,
]);
return view('user.withdraw_confirm')->with([
'active_menu' => 'SWC-1-1', // マイページメニューの選択状態用 'active_menu' => 'SWC-1-1', // マイページメニューの選択状態用
'user_name' => $user ? $user->user_name : '', // ユーザー名(ヘッダー用) 'user_name' => $user ? $user->user_name : '', // ユーザー名(ヘッダー用)
'error_message' => '退会処理に失敗しました。申し訳ございませんが、So-Managerコールセンター03-5856-4720にご連絡をお願いいたします。',
]); ]);
} }
} }