Files
ai-showcase-platform/CREATOR_NAME_FIX_REPORT.md

3.8 KiB
Raw Blame History

創建者名稱修正報告

問題描述

用戶報告:"你的察看詳細內的編輯應用的視窗部是逮資料庫的資料喔,你看他還再系統管理員,但這資料是再資料庫部是系統管理員,所以這是預設資料"

當用戶點擊編輯應用功能時,創建者欄位顯示「系統管理員」,但實際資料庫中的創建者名稱應該是「佩庭」。

問題分析

根本原因

  1. 資料庫中有兩個不同的創建者資訊來源

    • apps.creator_name = "佩庭"(應用程式表中的創建者名稱欄位)
    • users.name = "系統管理員"(用戶表中的用戶名稱)
  2. 列表 API 和詳細 API 使用不同的資料來源

    • 列表 API 使用 users.name(系統管理員)
    • 詳細 API 使用 apps.creator_name(佩庭)
  3. 資料不一致導致編輯視窗顯示錯誤的創建者名稱

影響範圍

  • 編輯應用功能顯示錯誤的創建者名稱
  • 列表和詳細視圖的創建者資訊不一致
  • 影響資料的準確性和用戶體驗

修正方案

修改列表 API 的創建者資訊處理

修改前:

creator: {
  id: app.creator_id,
  name: app.user_creator_name, // 只使用用戶表的名稱
  email: app.user_creator_email,
  department: app.department || app.user_creator_department,
  role: app.creator_role
}

修改後:

creator: {
  id: app.creator_id,
  name: app.creator_name || app.user_creator_name, // 優先使用應用程式表的創建者名稱
  email: app.user_creator_email,
  department: app.department || app.user_creator_department,
  role: app.creator_role
}

修改的檔案

  • app/api/apps/route.ts:列表 API 的創建者資訊格式化邏輯

測試驗證

測試案例:創建者名稱一致性

  • 輸入:包含 apps.creator_nameusers.name 的資料庫查詢結果
  • 期望:優先使用 apps.creator_name(佩庭)
  • 結果 通過

測試結果

📊 原始資料庫查詢結果:
應用程式 1:
  應用名稱: ITBU_佩庭_天氣查詢機器人
  apps.creator_name: 佩庭
  users.name: 系統管理員

📋 修正後的格式化結果:
應用程式 1:
  名稱: ITBU_佩庭_天氣查詢機器人
  創建者名稱: 佩庭
  創建者郵箱: admin@example.com
  創建者部門: ITBU

✅ 驗證結果:
期望創建者名稱: 佩庭
實際創建者名稱: 佩庭
修正是否成功: true

修正效果

修正前

  • 列表視圖顯示「系統管理員」
  • 詳細視圖顯示「佩庭」
  • 編輯視窗顯示「系統管理員」
  • 資料不一致,用戶困惑

修正後

  • 列表視圖顯示「佩庭」
  • 詳細視圖顯示「佩庭」
  • 編輯視窗顯示「佩庭」
  • 資料一致,用戶體驗改善

技術細節

資料庫結構

  • apps.creator_name:應用程式表中的創建者名稱欄位
  • users.name:用戶表中的用戶名稱欄位
  • 兩個欄位可能包含不同的值

API 邏輯

  • 列表 API:現在優先使用 apps.creator_name,如果為空則使用 users.name
  • 詳細 API:使用 apps.creator_name
  • 一致性:確保兩個 API 都使用相同的資料來源

影響的端點

  • GET /api/apps:列表 API
  • GET /api/apps/[id]:詳細 API未修改因為已經正確

總結

此修正確保了創建者資訊在整個應用程式中的一致性,優先使用應用程式表中的創建者名稱,而不是用戶表中的用戶名稱。這解決了編輯視窗顯示錯誤創建者名稱的問題,並改善了整體的資料準確性。

修正狀態 已完成並通過測試 影響範圍:創建者資訊顯示 測試狀態 所有測試案例通過 資料一致性 列表和詳細視圖現在顯示相同的創建者資訊