Files
badminton-scoreboard/server
JianMiauandClaude Fable 5 cb01c14421 功能:結算上傳戰績時自動幫忘記報名的上場球員補報名
摘要:
- POST /api/history 寫入戰績後,檢查上場 4 人是否在當天 attendance 名單,
  沒報名的自動補:有 TG 綁定用 tg_members 的真實 user_id 與名稱,
  沒綁定用名字 md5 前 6 bytes 取負的固定 id(與歷史匯入規則一致,已驗證)
- 名字比對沿用出席統計規則(別名表+大小寫不分),輪空等佔位字不補
- 前端上傳成功後浮出「已幫 ○○ 補報名」提示,6 秒自動消失
- 補報名失敗只記 log,不影響戰績上傳

根本原因:
- 報名靠 TG bot,臨時上場的人常忘了報名,出席統計就少算;
  記分板結算時已經知道誰上場,是補報名最準的時機

影響:
- 跨裝置記分也適用,出席統計(attendance 表)不再漏掉臨時上場的人
- 同一場重複上傳不會重複補(已在名單就跳過)

修法:
- server.mjs 新增 ensureAttendanceSignups / getTaipeiPollDate / syntheticUserId
- types.ts 的 HistoryUploadResponse 增加 addedSignups
- App.tsx 新增 signupNotice 狀態與浮動提示

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-20 13:51:55 +08:00
..