优化
This commit is contained in:
@@ -3473,8 +3473,12 @@ BEGIN
|
||||
END IF;
|
||||
IF EXISTS (
|
||||
SELECT 1 FROM iam_permission
|
||||
WHERE (id = 5103040 AND permission_code <> 'platform:download:list')
|
||||
OR (id = 5103041 AND permission_code <> 'platform:download:all')
|
||||
WHERE (id = 5103040 AND NOT (
|
||||
(permission_code = 'platform:download:list' AND parent_id = 5103000)
|
||||
OR (permission_code = 'platform:location:list' AND parent_id = 5103000)))
|
||||
OR (id = 5103041 AND NOT (
|
||||
(permission_code = 'platform:download:all' AND parent_id = 5103040)
|
||||
OR (permission_code = 'platform:location:create' AND parent_id = 5103040)))
|
||||
OR (permission_code = 'platform:download:list' AND id <> 5103040)
|
||||
OR (permission_code = 'platform:download:all' AND id <> 5103041)
|
||||
) THEN
|
||||
@@ -3952,6 +3956,7 @@ CREATE TABLE IF NOT EXISTS wh_overseas_storage_fee_rule (
|
||||
tenant_id BIGINT UNSIGNED NOT NULL COMMENT '客户账号ID,沿用tenant_id物理字段',
|
||||
customer_name VARCHAR(128) NOT NULL COMMENT '客户公司名称快照',
|
||||
currency CHAR(3) NOT NULL COMMENT 'ISO 4217币种三字码',
|
||||
initialization_key VARCHAR(191) NULL COMMENT '初始化幂等键',
|
||||
created_by BIGINT UNSIGNED NULL COMMENT '创建人ID',
|
||||
created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '创建时间',
|
||||
updated_by BIGINT UNSIGNED NULL COMMENT '最后修改人ID',
|
||||
@@ -3973,8 +3978,10 @@ CREATE TABLE IF NOT EXISTS wh_overseas_storage_fee_tier (
|
||||
tenant_id BIGINT UNSIGNED NOT NULL COMMENT '客户账号ID,沿用tenant_id物理字段',
|
||||
rule_id BIGINT UNSIGNED NOT NULL COMMENT '阶梯费用规则ID',
|
||||
start_day SMALLINT UNSIGNED NOT NULL COMMENT '起始天,含边界',
|
||||
end_day SMALLINT UNSIGNED NOT NULL COMMENT '结束天,含边界',
|
||||
unit_price DECIMAL(18,6) NOT NULL COMMENT '仓储费标准',
|
||||
end_day SMALLINT UNSIGNED NULL COMMENT '结束天,含边界;NULL表示以上',
|
||||
fee_type VARCHAR(32) NOT NULL DEFAULT 'STORAGE' COMMENT '费用类型',
|
||||
billing_unit VARCHAR(16) NOT NULL DEFAULT 'CBM' COMMENT '计费单位',
|
||||
unit_price DECIMAL(18,6) NOT NULL COMMENT '仓储费标准,可为0',
|
||||
sort_no SMALLINT UNSIGNED NOT NULL COMMENT '阶梯排序号',
|
||||
created_by BIGINT UNSIGNED NULL COMMENT '创建人ID',
|
||||
created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '创建时间',
|
||||
@@ -3987,12 +3994,30 @@ CREATE TABLE IF NOT EXISTS wh_overseas_storage_fee_tier (
|
||||
GENERATED ALWAYS AS (CASE WHEN deleted = 0 THEN start_day ELSE NULL END) STORED
|
||||
COMMENT '未删除阶梯的起始天唯一键',
|
||||
PRIMARY KEY (id),
|
||||
UNIQUE KEY uk_overseas_fee_tier_start (rule_id, active_start_day),
|
||||
UNIQUE KEY uk_overseas_fee_tier_start (rule_id, fee_type, active_start_day),
|
||||
KEY idx_overseas_fee_tier_rule (tenant_id, rule_id, deleted, sort_no, id),
|
||||
CONSTRAINT chk_overseas_fee_tier_days CHECK (start_day >= 1 AND end_day >= start_day),
|
||||
CONSTRAINT chk_overseas_fee_tier_price CHECK (unit_price > 0)
|
||||
CONSTRAINT chk_overseas_fee_tier_days CHECK (start_day >= 1 AND (end_day IS NULL OR end_day >= start_day)),
|
||||
CONSTRAINT chk_overseas_fee_tier_price CHECK (unit_price >= 0)
|
||||
) ENGINE=InnoDB COMMENT='海外仓阶梯仓储费明细';
|
||||
|
||||
-- 兼容已存在的旧版海外仓费用表:补齐新字段及免费档/无上限档约束。
|
||||
ALTER TABLE wh_overseas_storage_fee_rule
|
||||
ADD COLUMN IF NOT EXISTS initialization_key VARCHAR(191) NULL COMMENT '初始化幂等键';
|
||||
ALTER TABLE wh_overseas_storage_fee_tier
|
||||
ADD COLUMN IF NOT EXISTS fee_type VARCHAR(32) NOT NULL DEFAULT 'STORAGE' COMMENT '费用类型',
|
||||
ADD COLUMN IF NOT EXISTS billing_unit VARCHAR(16) NOT NULL DEFAULT 'CBM' COMMENT '计费单位';
|
||||
ALTER TABLE wh_overseas_storage_fee_tier
|
||||
MODIFY COLUMN end_day SMALLINT UNSIGNED NULL COMMENT '结束天,含边界;NULL表示以上',
|
||||
MODIFY COLUMN unit_price DECIMAL(18,6) NOT NULL COMMENT '仓储费标准,可为0';
|
||||
ALTER TABLE wh_overseas_storage_fee_tier
|
||||
DROP CHECK chk_overseas_fee_tier_days,
|
||||
DROP CHECK chk_overseas_fee_tier_price,
|
||||
ADD CONSTRAINT chk_overseas_fee_tier_days CHECK (start_day >= 1 AND (end_day IS NULL OR end_day >= start_day)),
|
||||
ADD CONSTRAINT chk_overseas_fee_tier_price CHECK (unit_price >= 0);
|
||||
ALTER TABLE wh_overseas_storage_fee_tier
|
||||
DROP INDEX uk_overseas_fee_tier_start,
|
||||
ADD UNIQUE KEY uk_overseas_fee_tier_start (rule_id, fee_type, active_start_day);
|
||||
|
||||
USE baiyue_iam;
|
||||
INSERT INTO iam_permission (
|
||||
id, tenant_id, app_code, permission_type, parent_id, permission_code,
|
||||
|
||||
Reference in New Issue
Block a user