This commit is contained in:
2026-08-20 13:34:29 +08:00
parent 3e517ee74e
commit d3183d8f2c
5 changed files with 97 additions and 40 deletions
@@ -9196,16 +9196,22 @@ CREATE PROCEDURE assert_ocean_booking_permission_ids_available()
BEGIN
IF EXISTS (
SELECT 1 FROM iam_permission
WHERE (id BETWEEN 5102140 AND 5102149
AND permission_code <> CASE id
WHEN 5102140 THEN 'platform:firstleg:ocean-booking:list'
WHEN 5102141 THEN 'platform:firstleg:ocean-booking:list'
WHEN 5102142 THEN 'platform:firstleg:ocean-booking:create'
WHEN 5102146 THEN 'platform:firstleg:ocean-booking:release'
WHEN 5102147 THEN 'platform:firstleg:ocean-booking:edit'
WHEN 5102148 THEN 'platform:firstleg:ocean-booking:delete'
WHEN 5102149 THEN 'platform:firstleg:ocean-booking:allocate'
END)
WHERE (id = 5102140 AND permission_code <> 'platform:firstleg:ocean-booking:list')
OR (id = 5102141 AND permission_code NOT IN (
'platform:firstleg:ocean-booking:list',
'platform:firstleg:ocean-booking:view'))
OR (id = 5102142 AND permission_code <> 'platform:firstleg:ocean-booking:create')
OR (id = 5102143 AND permission_code <> 'platform:firstleg:ocean-booking:edit')
OR (id = 5102144 AND permission_code <> 'platform:firstleg:ocean-booking:submit')
OR (id = 5102145 AND permission_code <> 'platform:firstleg:ocean-booking:confirm')
OR (id = 5102146 AND permission_code <> 'platform:firstleg:ocean-booking:release')
OR (id = 5102147 AND permission_code NOT IN (
'platform:firstleg:ocean-booking:cancel',
'platform:firstleg:ocean-booking:edit'))
OR (id = 5102148 AND permission_code NOT IN (
'platform:firstleg:ocean-booking:change',
'platform:firstleg:ocean-booking:delete'))
OR (id = 5102149 AND permission_code <> 'platform:firstleg:ocean-booking:allocate')
OR (permission_code LIKE 'platform:firstleg:ocean-booking:%'
AND (tenant_id <> 0 OR app_code <> 'PLATFORM' OR id NOT BETWEEN 5102140 AND 5102149))
) THEN
@@ -9217,6 +9223,10 @@ DELIMITER ;
CALL assert_ocean_booking_permission_ids_available();
DROP PROCEDURE IF EXISTS assert_ocean_booking_permission_ids_available;
UPDATE iam_permission
SET permission_code='platform:firstleg:ocean-booking:view',status='INACTIVE',deleted=1
WHERE id=5102141 AND permission_code='platform:firstleg:ocean-booking:list';
INSERT INTO iam_permission
(id,tenant_id,app_code,permission_type,parent_id,permission_code,permission_name,
route_path,http_method,sort_no,status,built_in,deleted)
@@ -9236,6 +9246,9 @@ SELECT role.id,permission.id,0 FROM iam_role role JOIN iam_permission permission
ON permission.tenant_id=0 AND permission.permission_code LIKE 'platform:firstleg:ocean-booking:%'
WHERE role.tenant_id=0 AND role.role_code IN ('PLATFORM_ADMIN','ORDER_OPERATOR');
DELETE rp FROM iam_role_permission rp JOIN iam_permission p ON p.tenant_id=rp.tenant_id AND p.id=rp.permission_id
WHERE p.id=5102141;
UPDATE iam_permission SET status='INACTIVE',deleted=1 WHERE id=5102141;
DELETE rp FROM iam_role_permission rp WHERE rp.permission_id IN (5102143,5102144,5102145);
DELETE FROM iam_permission WHERE id IN (5102143,5102144,5102145);
@@ -9321,14 +9334,13 @@ CREATE PROCEDURE assert_truck_appointment_permission_ids_available()
BEGIN
IF EXISTS (
SELECT 1 FROM iam_permission
WHERE (id BETWEEN 5102150 AND 5102154
AND permission_code <> CASE id
WHEN 5102150 THEN 'platform:firstleg:truck-appointment:list'
WHEN 5102151 THEN 'platform:firstleg:truck-appointment:list'
WHEN 5102152 THEN 'platform:firstleg:truck-appointment:create'
WHEN 5102153 THEN 'platform:firstleg:truck-appointment:edit'
WHEN 5102154 THEN 'platform:firstleg:truck-appointment:operate'
END)
WHERE (id = 5102150 AND permission_code <> 'platform:firstleg:truck-appointment:list')
OR (id = 5102151 AND permission_code NOT IN (
'platform:firstleg:truck-appointment:list',
'platform:firstleg:truck-appointment:view'))
OR (id = 5102152 AND permission_code <> 'platform:firstleg:truck-appointment:create')
OR (id = 5102153 AND permission_code <> 'platform:firstleg:truck-appointment:edit')
OR (id = 5102154 AND permission_code <> 'platform:firstleg:truck-appointment:operate')
OR (permission_code LIKE 'platform:firstleg:truck-appointment:%'
AND (tenant_id <> 0 OR app_code <> 'PLATFORM' OR id NOT BETWEEN 5102150 AND 5102154))
) THEN
@@ -9340,6 +9352,10 @@ DELIMITER ;
CALL assert_truck_appointment_permission_ids_available();
DROP PROCEDURE IF EXISTS assert_truck_appointment_permission_ids_available;
UPDATE iam_permission
SET permission_code='platform:firstleg:truck-appointment:view',status='INACTIVE',deleted=1
WHERE id=5102151 AND permission_code='platform:firstleg:truck-appointment:list';
INSERT INTO iam_permission
(id,tenant_id,app_code,permission_type,parent_id,permission_code,permission_name,
route_path,http_method,sort_no,status,built_in,deleted)
@@ -9358,6 +9374,10 @@ SELECT role.id,permission.id,0 FROM iam_role role JOIN iam_permission permission
AND permission.permission_code LIKE 'platform:firstleg:truck-appointment:%'
WHERE role.tenant_id=0 AND role.role_code IN ('PLATFORM_ADMIN','ORDER_OPERATOR');
DELETE rp FROM iam_role_permission rp JOIN iam_permission p ON p.tenant_id=rp.tenant_id AND p.id=rp.permission_id
WHERE p.id=5102151;
UPDATE iam_permission SET status='INACTIVE',deleted=1 WHERE id=5102151;
USE baiyue_firstleg;
DROP PROCEDURE IF EXISTS assert_phase3_service_center_schema;
@@ -9374,10 +9394,12 @@ BEGIN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='统一迁移失败:订舱或拖车预约表未完整创建';
END IF;
IF (SELECT COUNT(*) FROM baiyue_iam.iam_permission
WHERE tenant_id=0 AND app_code='PLATFORM' AND id BETWEEN 5102140 AND 5102149
WHERE tenant_id=0 AND app_code='PLATFORM' AND status='ACTIVE' AND deleted=0
AND id BETWEEN 5102140 AND 5102149
AND permission_code LIKE 'platform:firstleg:ocean-booking:%') <> 6
OR (SELECT COUNT(*) FROM baiyue_iam.iam_permission
WHERE tenant_id=0 AND app_code='PLATFORM' AND id BETWEEN 5102150 AND 5102154
WHERE tenant_id=0 AND app_code='PLATFORM' AND status='ACTIVE' AND deleted=0
AND id BETWEEN 5102150 AND 5102154
AND permission_code LIKE 'platform:firstleg:truck-appointment:%') <> 4 THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='统一迁移失败:订舱或拖车预约权限未完整写入';
END IF;