提供具備 customers.view/customers.edit 的管理員查詢會員主檔、更新基本資料,以及停權或恢復 suspended 會員。Email、Firebase UID、登入來源、會員等級與消費總額均不可由後台任意修改。
Admin Firebase Token
→ RBAC 檢查 customers.view 或 customers.edit
→ 第一階段依篩選與排序查 customer ID 分頁
→ 第二階段載入本頁會員、消費摘要與標籤
→ 詳情另載入偏好、預設地址與訂單/預約筆數
列表支援 q、status、tier、可重複的 tagId 與排序白名單。N:M 標籤不直接參與最終分頁列,避免同一會員重複或 totalElements 被放大。
totalSpent、tier、tierName 來自 customer_tier_summary。無消費會員以 LEFT JOIN 補為 0.00、explorer、探險家。
0。409。409。AdminAPI.customers 提供 list、getById、update、suspend、reactivate。Mock 模式保留既有 JSON/localStorage 流程;Backend 模式不讀 Mock 會員資料,隱藏新增會員與關聯資料編輯,並以後端回傳的等級與消費總額為準。
既有 Bootstrap 表格、卡片與展開詳情樣式維持不變,只補上狀態徽章、停權/恢復操作、載入及唯讀狀態。
mvnw.cmd -q -DskipTests compilemvnw.cmd -q -Dtest=AdminCustomerServiceTest testnpm.cmd run test:admin-customersnode --check admin/js/customers.jsnode --check admin/js/admin-api.jsAdminCustomerPostgreSqlIntegrationTest 已連線 PostgreSQL 驗收通過G-2a 已完成程式、前端雙模式、自動測試與 PostgreSQL 整合驗收。