修改提交
This commit is contained in:
@@ -18019,6 +18019,104 @@ DELIMITER ;
|
||||
CALL assert_wallet_event_schema();
|
||||
DROP PROCEDURE IF EXISTS assert_wallet_event_schema;
|
||||
|
||||
-- 退货库存菜单:企业管理员和已具备海外入库订单查看权的活跃商户角色均可查看。
|
||||
USE baiyue_iam;
|
||||
-- 平台端海外仓退货库存与退货箱号菜单。
|
||||
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)
|
||||
VALUES
|
||||
(5107190,0,'PLATFORM','MENU',0,'platform:overseas-warehouse:return-inventory:list','退货库存管理','/overseas-warehouse/return-inventory','GET',890,'ACTIVE',1,0),
|
||||
(5107191,0,'PLATFORM','MENU',0,'platform:overseas-warehouse:return-cartons:list','退货箱号管理','/overseas-warehouse/return-cartons','GET',891,'ACTIVE',1,0)
|
||||
ON DUPLICATE KEY UPDATE permission_name=VALUES(permission_name),route_path=VALUES(route_path),http_method=VALUES(http_method),
|
||||
sort_no=VALUES(sort_no),status='ACTIVE',built_in=1,deleted=0;
|
||||
INSERT IGNORE INTO iam_role_permission (tenant_id,role_id,permission_id,created_at)
|
||||
SELECT 0,role.id,permission.id,CURRENT_TIMESTAMP(3)
|
||||
FROM iam_role role JOIN iam_permission permission ON permission.id IN(5107190,5107191) AND permission.tenant_id=0
|
||||
WHERE role.tenant_id=0 AND role.app_code='PLATFORM' AND UPPER(role.role_code) IN('PLATFORM_ADMIN','PLATFORM_CUSTOM_ADMIN')
|
||||
AND role.status='ACTIVE' AND role.deleted=0;
|
||||
|
||||
DROP PROCEDURE IF EXISTS migrate_merchant_return_inventory_permission;
|
||||
|
||||
-- 退货箱号管理菜单,复用退货库存查看授权。
|
||||
DROP PROCEDURE IF EXISTS migrate_merchant_return_cartons_permission;
|
||||
DELIMITER $$
|
||||
CREATE PROCEDURE migrate_merchant_return_cartons_permission()
|
||||
BEGIN
|
||||
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)
|
||||
VALUES
|
||||
(5306141,0,'MERCHANT','MENU',0,'merchant:overseas-warehouse:return-cartons:list','退货箱号管理','/overseas-warehouse/return-cartons','GET',96,'ACTIVE',1,0)
|
||||
ON DUPLICATE KEY UPDATE permission_name=VALUES(permission_name), route_path=VALUES(route_path), http_method=VALUES(http_method),
|
||||
sort_no=VALUES(sort_no), status='ACTIVE', built_in=1, deleted=0;
|
||||
INSERT IGNORE INTO iam_role_permission (tenant_id,role_id,permission_id,created_at)
|
||||
SELECT role.tenant_id, role.id, permission.id, CURRENT_TIMESTAMP(3)
|
||||
FROM iam_role role JOIN iam_permission permission ON permission.id=5306141
|
||||
WHERE role.app_code='MERCHANT' AND role.status='ACTIVE' AND role.deleted=0
|
||||
AND (role.role_code='MERCHANT_OWNER' OR EXISTS (
|
||||
SELECT 1 FROM iam_role_permission prior_grant JOIN iam_permission prior_permission ON prior_permission.id=prior_grant.permission_id
|
||||
WHERE prior_grant.tenant_id=role.tenant_id AND prior_grant.role_id=role.id
|
||||
AND prior_permission.permission_code='merchant:overseas-warehouse:return-inventory:list'));
|
||||
END$$
|
||||
DELIMITER ;
|
||||
CALL migrate_merchant_return_cartons_permission();
|
||||
DROP PROCEDURE IF EXISTS migrate_merchant_return_cartons_permission;
|
||||
DELIMITER $$
|
||||
CREATE PROCEDURE migrate_merchant_return_inventory_permission()
|
||||
BEGIN
|
||||
IF EXISTS (
|
||||
SELECT 1 FROM iam_permission
|
||||
WHERE (id=5306140 AND (tenant_id<>0 OR app_code<>'MERCHANT' OR permission_type<>'MENU'
|
||||
OR permission_code<>'merchant:overseas-warehouse:return-inventory:list'))
|
||||
OR (tenant_id=0 AND app_code='MERCHANT'
|
||||
AND permission_code='merchant:overseas-warehouse:return-inventory:list' AND id<>5306140)
|
||||
) THEN
|
||||
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='退货库存权限初始化失败:权限ID或编码冲突';
|
||||
END IF;
|
||||
|
||||
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)
|
||||
VALUES
|
||||
(5306140,0,'MERCHANT','MENU',0,'merchant:overseas-warehouse:return-inventory:list','退货库存','/overseas-warehouse/return-inventory','GET',95,'ACTIVE',1,0)
|
||||
ON DUPLICATE KEY UPDATE permission_name=VALUES(permission_name), route_path=VALUES(route_path), http_method=VALUES(http_method),
|
||||
sort_no=VALUES(sort_no), status='ACTIVE', built_in=1, deleted=0;
|
||||
|
||||
INSERT IGNORE INTO iam_role_permission (tenant_id,role_id,permission_id,created_at)
|
||||
SELECT role.tenant_id, role.id, permission.id, CURRENT_TIMESTAMP(3)
|
||||
FROM iam_role role
|
||||
JOIN iam_permission permission ON permission.tenant_id=0 AND permission.app_code='MERCHANT'
|
||||
AND permission.permission_code='merchant:overseas-warehouse:return-inventory:list'
|
||||
WHERE role.app_code='MERCHANT' AND role.status='ACTIVE' AND role.deleted=0
|
||||
AND permission.status='ACTIVE' AND permission.deleted=0
|
||||
AND (role.role_code='MERCHANT_OWNER' OR EXISTS (
|
||||
SELECT 1 FROM iam_role_permission prior_grant
|
||||
JOIN iam_permission prior_permission ON prior_permission.id=prior_grant.permission_id
|
||||
AND prior_permission.tenant_id=0 AND prior_permission.app_code='MERCHANT'
|
||||
WHERE prior_grant.tenant_id=role.tenant_id AND prior_grant.role_id=role.id
|
||||
AND prior_permission.permission_code='merchant:warehouse:inbound:list'
|
||||
AND prior_permission.status='ACTIVE' AND prior_permission.deleted=0
|
||||
));
|
||||
|
||||
IF (SELECT COUNT(*) FROM iam_permission
|
||||
WHERE id=5306140 AND tenant_id=0 AND app_code='MERCHANT' AND permission_type='MENU' AND parent_id=0
|
||||
AND permission_code='merchant:overseas-warehouse:return-inventory:list' AND route_path='/overseas-warehouse/return-inventory'
|
||||
AND http_method='GET' AND status='ACTIVE' AND built_in=1 AND deleted=0) <> 1 THEN
|
||||
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='退货库存权限初始化失败:菜单资源不完整';
|
||||
END IF;
|
||||
IF EXISTS (SELECT 1 FROM iam_role role
|
||||
WHERE role.app_code='MERCHANT' AND role.role_code='MERCHANT_OWNER' AND role.status='ACTIVE' AND role.deleted=0
|
||||
AND NOT EXISTS (SELECT 1 FROM iam_role_permission role_permission
|
||||
JOIN iam_permission permission ON permission.id=role_permission.permission_id
|
||||
AND permission.tenant_id=0 AND permission.app_code='MERCHANT'
|
||||
WHERE role_permission.tenant_id=role.tenant_id AND role_permission.role_id=role.id
|
||||
AND permission.permission_code='merchant:overseas-warehouse:return-inventory:list'
|
||||
AND permission.status='ACTIVE' AND permission.deleted=0)) THEN
|
||||
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='退货库存权限初始化失败:企业管理员授权不完整';
|
||||
END IF;
|
||||
END$$
|
||||
DELIMITER ;
|
||||
CALL migrate_merchant_return_inventory_permission();
|
||||
DROP PROCEDURE IF EXISTS migrate_merchant_return_inventory_permission;
|
||||
|
||||
CALL baiyue_firstleg.assert_unified_final_schema();
|
||||
DROP PROCEDURE IF EXISTS baiyue_firstleg.assert_unified_final_schema;
|
||||
SELECT 'PASS' AS migration_status,
|
||||
|
||||
@@ -1769,3 +1769,20 @@ CREATE TABLE IF NOT EXISTS ll_destuff_pallet_cost_allocation (
|
||||
PRIMARY KEY(id), UNIQUE KEY uk_ll_destuff_customer(cost_id,customer_id), UNIQUE KEY uk_ll_destuff_fee_source(fee_source_id),
|
||||
CONSTRAINT chk_ll_destuff_allocation CHECK(actual_volume_cbm>0 AND allocated_amount>=0)
|
||||
) ENGINE=InnoDB COMMENT='拆柜打托成本按客户实收体积分摊';
|
||||
|
||||
USE baiyue_lastleg;
|
||||
SET @ddl = (SELECT IF(
|
||||
EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema=DATABASE() AND table_name='ll_relabel_item' AND column_name='destination_fba_warehouse_code'),
|
||||
'SELECT 1',
|
||||
'ALTER TABLE ll_relabel_item ADD COLUMN destination_fba_warehouse_code VARCHAR(128) NULL COMMENT ''FBA目的仓编码(与海外操作仓分离)'''));
|
||||
PREPARE stmt FROM @ddl; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
SET @ddl = (SELECT IF(
|
||||
EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema=DATABASE() AND table_name='ll_relabel_item' AND column_name='operation_type'),
|
||||
'SELECT 1',
|
||||
'ALTER TABLE ll_relabel_item ADD COLUMN operation_type VARCHAR(32) NOT NULL DEFAULT ''CARTON_LABEL'' COMMENT ''换标模式:箱唛、SKU或组合换标'''));
|
||||
PREPARE stmt FROM @ddl; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
SET @ddl = (SELECT IF(
|
||||
EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema=DATABASE() AND table_name='ll_relabel_item' AND column_name='sku_relabel_items_json'),
|
||||
'SELECT 1',
|
||||
'ALTER TABLE ll_relabel_item ADD COLUMN sku_relabel_items_json JSON NULL COMMENT ''同箱SKU换标子明细快照(数量按件)'''));
|
||||
PREPARE stmt FROM @ddl; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
|
||||
Reference in New Issue
Block a user