お知らせ
【改善】顧客情報更新の挙動修正 + 受注 CSV にコール時刻列追加
顧客情報の電話番号・メールアドレス変更時に「重複時エラーが分かりにくい」「変更が反映されない」問題を修正。あわせて受注 CSV 出力に画面表示にある「コール時刻」列を追加しました。
今回のアップデートでは、顧客情報更新画面の挙動 と 受注 CSV 出力項目 の 2 点を改善しました。
1. 顧客情報更新画面の改善
マスター → 顧客管理 から顧客情報を更新する画面で、以下 3 点の問題を解消しました。
Before / After
| 操作 | Before (問題) | After (修正) |
|---|---|---|
| 重複する電話番号に変更 | 500 エラーまたは謎の挙動。モーダルが閉じてしまい、変更がどこに消えたか分からない | 400 エラー + ダイアログで「入力された電話番号はすでに登録済みです (顧客名: ○○様)」を表示、モーダル開いたまま |
| 重複するメールアドレスに変更 | 何も起きない (メッセージなし) | ダイアログ表示 + モーダル保持 |
| メールアドレスを変更して保存 | 顧客区分を変えていないと保存がスキップされる場合あり | どのフィールドを変えても確実に保存される |
なぜ起きていたか
原因は 3 つでした:
- サーバー側の重複エラーハンドリングがコメントアウトされていた — DB の一意制約違反が発生してもエラーメッセージに変換されず、生のシステムエラーが返っていた
- クライアント側がエラーを無視していた — 「送信→失敗→でもモーダル閉じる」という UX。操作した人はエラーが出たことに気付けなかった
- 保存処理の早期 return — 顧客区分 (guestCategory) が変更されていない場合、
returnが実行されて他のフィールド (tel / email / 住所等) の保存も一緒にスキップされていた
仕様の変更点
これまで電話番号のみ企業内一意だったのを、メールアドレスも企業内一意化しました。 会員ページのログイン ID として使われるため、同じメールを複数顧客に登録できないように DB レベルで担保しています。
2. 受注 CSV「コール時刻」列追加
受注一覧画面の call 列 (予約終了の N 分前にかけるコール時刻) が、CSV 出力に含まれていませんでした。今回「実終了」列の直後に 「コール時刻」列 を追加します。
計算ロジック
画面表示と同じ:
基準時刻 = 実終了 (まだなら予定 OUT)
コール時刻 = 基準時刻 - 店舗設定「アラート発信分前」
店舗マスターの「アラート発信分前」が未設定の場合は空欄で出力されます。
反映
- 本日から本番反映済み、追加作業は不要です
- ブラウザキャッシュが残る場合は ハードリロード (Ctrl+Shift+R / Cmd+Shift+R) で即反映