104 lines
3.2 KiB
Plaintext
104 lines
3.2 KiB
Plaintext
DELIMITER //
|
|
|
|
CREATE PROCEDURE zen_codeinit (
|
|
IN p_new_ip VARCHAR(100),
|
|
IN p_new_db1 VARCHAR(100), -- Business
|
|
IN p_new_db2 VARCHAR(100) -- Wizard
|
|
)
|
|
/*
|
|
Function : 登入後設定 zen_jsoncode 的 ip 及 db
|
|
Description: 原本想自動化執行, 但穩妥起見, 目前先仍維持手動執行一次(切換環境時), 目前暫不使用, 手動改 ip 即可
|
|
Sample:
|
|
Build Date : 2023-12-10
|
|
|
|
Modify History
|
|
Item Who Date Modify Docs
|
|
==== ========== ========== ================================================
|
|
1 Michael 2023-12-10 改寫為 MySQL 版
|
|
|
|
*/
|
|
BEGIN
|
|
DECLARE v_cnt INT;
|
|
DECLARE v_org_ip VARCHAR(100);
|
|
DECLARE v_org_db1 VARCHAR(100); -- Business
|
|
DECLARE v_org_db2 VARCHAR(100); -- Wizard
|
|
|
|
/*
|
|
要先想辦法解析(或手工設定) 在 zen_jsoncode 內的 ip 及 db
|
|
目前僅先考慮出廠的變更, 也就是
|
|
org 的內容
|
|
ip 只會有 127.0.0.1 和 gcp-api.gex.com.tw 或 api.gex.com.tw
|
|
db 只會有 zenBusiness / zenWizard / zenEIS
|
|
|
|
db 二合一很簡單, 但是一分為二, 就麻煩了
|
|
*/
|
|
|
|
SET v_org_ip = '';
|
|
SELECT COUNT(*) INTO v_cnt FROM zen_jsoncode WHERE jsoncode LIKE '%127.0.0.1%';
|
|
IF v_cnt > 0 THEN
|
|
SET v_org_ip = '127.0.0.1';
|
|
ELSE
|
|
SELECT COUNT(*) INTO v_cnt FROM zen_jsoncode WHERE jsoncode LIKE '%gcp-api.gex.com.tw%';
|
|
IF v_cnt > 0 THEN
|
|
SET v_org_ip = 'gcp-api.gex.com.tw';
|
|
ELSE
|
|
SELECT COUNT(*) INTO v_cnt FROM zen_jsoncode WHERE jsoncode LIKE '%api.gex.com.tw%';
|
|
IF v_cnt > 0 THEN
|
|
SET v_org_ip = 'api.gex.com.tw';
|
|
END IF;
|
|
END IF;
|
|
END IF;
|
|
|
|
SET v_org_db1 = '';
|
|
SELECT COUNT(*) INTO v_cnt FROM zen_jsoncode WHERE jsoncode LIKE '%zenEIS%';
|
|
IF v_cnt > 0 THEN
|
|
SET v_org_db1 = 'zenEIS';
|
|
SET v_org_db2 = 'zenEIS';
|
|
ELSE
|
|
SET v_org_db1 = 'zenBusiness';
|
|
SET v_org_db2 = 'zenWizard';
|
|
END IF;
|
|
|
|
-- 如果是其他非出廠 SOP 的特殊作業, 只能手工設定
|
|
/*
|
|
SET v_org_ip = '127.0.0.1';
|
|
SET v_org_db1 = 'xxxdb1';
|
|
SET v_org_db2 = 'xxxdb2';
|
|
*/
|
|
|
|
-- update ip
|
|
UPDATE zen_jsoncode
|
|
SET jsoncode = REPLACE(jsoncode, v_org_ip, p_new_ip),
|
|
jsoncode2 = REPLACE(jsoncode2, v_org_ip, p_new_ip),
|
|
jsoncode3 = REPLACE(jsoncode3, v_org_ip, p_new_ip);
|
|
|
|
-- 如果 db 是一分為二, 要多判斷 sys
|
|
IF v_org_db1 = 'zenEIS' AND p_new_db1 <> 'zenEIS' THEN
|
|
UPDATE zen_jsoncode
|
|
SET jsoncode = REPLACE(jsoncode, v_org_db1, p_new_db1),
|
|
jsoncode2 = REPLACE(jsoncode2, v_org_db1, p_new_db1),
|
|
jsoncode3 = REPLACE(jsoncode3, v_org_db1, p_new_db1);
|
|
|
|
UPDATE zen_jsoncode
|
|
SET jsoncode = REPLACE(jsoncode, v_org_db2, p_new_db2),
|
|
jsoncode2 = REPLACE(jsoncode2, v_org_db2, p_new_db2),
|
|
jsoncode3 = REPLACE(jsoncode3, v_org_db2, p_new_db2);
|
|
ELSE
|
|
UPDATE zen_jsoncode
|
|
SET jsoncode = REPLACE(jsoncode, v_org_db1, p_new_db1),
|
|
jsoncode2 = REPLACE(jsoncode2, v_org_db1, p_new_db1),
|
|
jsoncode3 = REPLACE(jsoncode3, v_org_db1, p_new_db1);
|
|
|
|
UPDATE zen_jsoncode
|
|
SET jsoncode = REPLACE(jsoncode, v_org_db2, p_new_db2),
|
|
jsoncode2 = REPLACE(jsoncode2, v_org_db2, p_new_db2),
|
|
jsoncode3 = REPLACE(jsoncode3, v_org_db2, p_new_db2);
|
|
END IF;
|
|
|
|
-- 回傳 ds1
|
|
SELECT 0 AS code, 'ok' AS msg;
|
|
|
|
END //
|
|
|
|
DELIMITER ;
|