Files
Omni_app.db/get_assignData.txt
2026-02-06 23:26:59 +08:00

59 lines
2.1 KiB
Plaintext

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 ;