first commit
This commit is contained in:
@@ -0,0 +1,103 @@
|
||||
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 ;
|
||||
Reference in New Issue
Block a user