DELIMITER // CREATE OR REPLACE PROCEDURE get_assignData ( -- p_bookid int = 1, IN p_funcTag VARCHAR(100), IN p_classid VARCHAR(100) ) /* Function : 配合 amis 取得 markdown(電子書, FAQ 等) 要顯示的資料 目前專用於電子書, 應該會繼續擴充 get_treedata 應一併修改, 原程式都是傳入 bookid, 改傳入 tag, 但為了增加彈性, 將 tag 和 bookid 的對照, 新增到 zen_keyvalue(book_mapping_id) Description: 電子書應該要支援多本的架構, 目前寫死一本 on line help, 應想辦法擴充(至少加入 FAQ 吧) Build Date : 2021/10/19 Modify History Item Who Date Modify Docs ==== ========== ========== ================================================ 1 Michael 2021/11/26 2 Michael 2022/04/04 改為電子書專用(修改 r43 電子書查閱) 3 Michael 2023/01/13 修改第一個參數為 funcTag, 再參考 zen_keyvalue 轉為 bookid */ BEGIN DECLARE v_bookid VARCHAR(10); -- 回傳初始結果 SELECT 0 AS code, 'ok' AS msg; /* 補初始資料 (ls:now_code) INSERT INTO zen_keyvalue (tablename,fieldname,keyid,keyvalue) VALUES ('xxxx','book_mapping_id','1','eipr43'); INSERT INTO zen_keyvalue (tablename,fieldname,keyid,keyvalue) VALUES ('xxxx','book_mapping_id','2','eipr44'); INSERT INTO zen_keyvalue (tablename,fieldname,keyid,keyvalue) VALUES ('xxxx','book_mapping_id','4','eipr45'); */ -- 將 tag 改為 bookid(進行中) IF LENGTH(p_funcTag) <= 3 THEN -- 如果傳 functag 舊版是傳 bookid(blog.gex.com.tw 舊寫法) SET v_bookid = p_funcTag; ELSE SELECT keyid INTO v_bookid FROM zen_keyvalue WHERE fieldname = 'book_mapping_id' AND keyvalue = p_funcTag LIMIT 1; END IF; IF IFNULL(v_bookid, '') = '' THEN SET v_bookid = '1'; END IF; IF IFNULL(p_classid, '') = '' THEN SELECT classid INTO p_classid FROM eip_online_books WHERE bookid = v_bookid order by bookid LIMIT 1; END IF; -- 取回指定電子書的指定章節內容回傳 SELECT book_desc AS xValue FROM eip_online_books WHERE bookid = v_bookid AND classid = p_classid; END // DELIMITER ;