fix: make phase 5 permission validation mysql compatible

This commit is contained in:
2026-09-01 15:00:38 +08:00
parent 579c61879d
commit 94395faeef
3 changed files with 35 additions and 4 deletions
@@ -16633,6 +16633,9 @@ DROP PROCEDURE IF EXISTS assert_phase5_delivery_permissions;
DELIMITER $$
CREATE PROCEDURE assert_phase5_delivery_permissions()
BEGIN
DECLARE v_warehouse_operator_permission_count INT DEFAULT 0;
DECLARE v_warehouse_tally_permission_count INT DEFAULT 0;
IF (SELECT COUNT(*) FROM iam_permission
WHERE tenant_id=0 AND status='ACTIVE' AND deleted=0
AND permission_code IN (
@@ -16661,8 +16664,12 @@ BEGIN
'platform:overseas-warehouse:delivery:list')) <> 7 THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='五期海外派送权限初始化失败:平台管理员授权不完整';
END IF;
IF (SELECT COUNT(*) FROM tmp_phase5_delivery_role_permission WHERE role_code='WAREHOUSE_OPERATOR') <> 7
OR (SELECT COUNT(*) FROM tmp_phase5_delivery_role_permission WHERE role_code='WAREHOUSE_TALLY') <> 2 THEN
SELECT COALESCE(SUM(role_code='WAREHOUSE_OPERATOR'),0),
COALESCE(SUM(role_code='WAREHOUSE_TALLY'),0)
INTO v_warehouse_operator_permission_count, v_warehouse_tally_permission_count
FROM tmp_phase5_delivery_role_permission;
IF v_warehouse_operator_permission_count <> 7
OR v_warehouse_tally_permission_count <> 2 THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='五期海外派送权限初始化失败:仓库岗位最小权限矩阵异常';
END IF;
IF EXISTS (SELECT 1 FROM iam_role_permission grant_row