From bc1f1422e98fabcd8fab35a92b4e6d2f66c379cf Mon Sep 17 00:00:00 2001 From: yiming Date: Wed, 12 Nov 2025 17:21:53 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A0=E5=85=A5=20TODO=20=E8=A8=BB=E8=A7=A3?= =?UTF-8?q?=E6=A8=99=E8=A8=98=E9=9C=80=E5=84=AA=E5=8C=96=E7=9A=84=E6=9F=A5?= =?UTF-8?q?=E8=A9=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 標記位置: 1. GetFollowerOrders (Line 402) - 建議加入分頁或日期範圍限制 2. GetActivityFollowers (Line 1048) - 建議在數據庫層面過濾未完成沖帳項目 - 考慮加入 Take() 或分頁 目的: 方便日後追蹤並優化性能瓶頸 --- web/App_Code/api/transfer_registerController.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/web/App_Code/api/transfer_registerController.cs b/web/App_Code/api/transfer_registerController.cs index 3c17bd8..e9bf456 100644 --- a/web/App_Code/api/transfer_registerController.cs +++ b/web/App_Code/api/transfer_registerController.cs @@ -399,6 +399,7 @@ public class transfer_registerController : ApiController [Route("api/transfer_register/follower_orders")] public IHttpActionResult GetFollowerOrders(int f_num) { + // TODO: 優化建議 - 考慮加入分頁或日期範圍限制,避免單一信眾訂單過多時載入大量數據 // 取得該信眾的所有訂單及明細,並關聯活動名稱與品項名稱 var details = _db.pro_order .Where(o => o.f_num == f_num) @@ -1044,6 +1045,9 @@ public class transfer_registerController : ApiController [Route("api/transfer_register/activity_followers")] public IHttpActionResult GetActivityFollowers(int activity_num) { + // TODO: 性能優化 - 大型活動可能有數千筆訂單,建議: + // 1. 在數據庫層面先過濾出未完成沖帳項目(避免載入所有訂單) + // 2. 考慮加入 Take() 限制返回數量,或實作分頁 // 查詢該法會中有報名單且有未完成沖帳項目的信眾 var followers = _db.pro_order .Where(o => o.activity_num == activity_num)