fix firstleg deployment contract failures

This commit is contained in:
2026-08-13 12:54:34 +08:00
parent 756a6b13eb
commit e5fda0899e
7 changed files with 68 additions and 74 deletions
@@ -8686,7 +8686,7 @@ BEGIN
WHERE (id BETWEEN 5102140 AND 5102149 WHERE (id BETWEEN 5102140 AND 5102149
AND permission_code <> CASE id AND permission_code <> CASE id
WHEN 5102140 THEN 'platform:firstleg:ocean-booking:list' WHEN 5102140 THEN 'platform:firstleg:ocean-booking:list'
WHEN 5102141 THEN 'platform:firstleg:ocean-booking:view' WHEN 5102141 THEN 'platform:firstleg:ocean-booking:list'
WHEN 5102142 THEN 'platform:firstleg:ocean-booking:create' WHEN 5102142 THEN 'platform:firstleg:ocean-booking:create'
WHEN 5102143 THEN 'platform:firstleg:ocean-booking:edit' WHEN 5102143 THEN 'platform:firstleg:ocean-booking:edit'
WHEN 5102144 THEN 'platform:firstleg:ocean-booking:submit' WHEN 5102144 THEN 'platform:firstleg:ocean-booking:submit'
@@ -8712,7 +8712,6 @@ INSERT INTO iam_permission
route_path,http_method,sort_no,status,built_in,deleted) route_path,http_method,sort_no,status,built_in,deleted)
VALUES VALUES
(5102140,0,'PLATFORM','MENU',5102000,'platform:firstleg:ocean-booking:list','订舱管理','/first-leg/ocean-bookings','GET',80,'ACTIVE',1,0), (5102140,0,'PLATFORM','MENU',5102000,'platform:firstleg:ocean-booking:list','订舱管理','/first-leg/ocean-bookings','GET',80,'ACTIVE',1,0),
(5102141,0,'PLATFORM','BUTTON',5102140,'platform:firstleg:ocean-booking:view','查看订舱',NULL,'GET',10,'ACTIVE',1,0),
(5102142,0,'PLATFORM','BUTTON',5102140,'platform:firstleg:ocean-booking:create','创建订舱',NULL,'POST',20,'ACTIVE',1,0), (5102142,0,'PLATFORM','BUTTON',5102140,'platform:firstleg:ocean-booking:create','创建订舱',NULL,'POST',20,'ACTIVE',1,0),
(5102143,0,'PLATFORM','BUTTON',5102140,'platform:firstleg:ocean-booking:edit','编辑订舱',NULL,'PUT',30,'ACTIVE',1,0), (5102143,0,'PLATFORM','BUTTON',5102140,'platform:firstleg:ocean-booking:edit','编辑订舱',NULL,'PUT',30,'ACTIVE',1,0),
(5102144,0,'PLATFORM','BUTTON',5102140,'platform:firstleg:ocean-booking:submit','提交订舱',NULL,'POST',40,'ACTIVE',1,0), (5102144,0,'PLATFORM','BUTTON',5102140,'platform:firstleg:ocean-booking:submit','提交订舱',NULL,'POST',40,'ACTIVE',1,0),
@@ -8807,7 +8806,7 @@ BEGIN
WHERE (id BETWEEN 5102150 AND 5102154 WHERE (id BETWEEN 5102150 AND 5102154
AND permission_code <> CASE id AND permission_code <> CASE id
WHEN 5102150 THEN 'platform:firstleg:truck-appointment:list' WHEN 5102150 THEN 'platform:firstleg:truck-appointment:list'
WHEN 5102151 THEN 'platform:firstleg:truck-appointment:view' WHEN 5102151 THEN 'platform:firstleg:truck-appointment:list'
WHEN 5102152 THEN 'platform:firstleg:truck-appointment:create' WHEN 5102152 THEN 'platform:firstleg:truck-appointment:create'
WHEN 5102153 THEN 'platform:firstleg:truck-appointment:edit' WHEN 5102153 THEN 'platform:firstleg:truck-appointment:edit'
WHEN 5102154 THEN 'platform:firstleg:truck-appointment:operate' WHEN 5102154 THEN 'platform:firstleg:truck-appointment:operate'
@@ -8828,7 +8827,6 @@ INSERT INTO iam_permission
route_path,http_method,sort_no,status,built_in,deleted) route_path,http_method,sort_no,status,built_in,deleted)
VALUES VALUES
(5102150,0,'PLATFORM','MENU',5102000,'platform:firstleg:truck-appointment:list','拖车预约','/first-leg/truck-appointments','GET',90,'ACTIVE',1,0), (5102150,0,'PLATFORM','MENU',5102000,'platform:firstleg:truck-appointment:list','拖车预约','/first-leg/truck-appointments','GET',90,'ACTIVE',1,0),
(5102151,0,'PLATFORM','BUTTON',5102150,'platform:firstleg:truck-appointment:view','查看拖车预约',NULL,'GET',10,'ACTIVE',1,0),
(5102152,0,'PLATFORM','BUTTON',5102150,'platform:firstleg:truck-appointment:create','创建拖车预约',NULL,'POST',20,'ACTIVE',1,0), (5102152,0,'PLATFORM','BUTTON',5102150,'platform:firstleg:truck-appointment:create','创建拖车预约',NULL,'POST',20,'ACTIVE',1,0),
(5102153,0,'PLATFORM','BUTTON',5102150,'platform:firstleg:truck-appointment:edit','编辑拖车预约',NULL,'PUT',30,'ACTIVE',1,0), (5102153,0,'PLATFORM','BUTTON',5102150,'platform:firstleg:truck-appointment:edit','编辑拖车预约',NULL,'PUT',30,'ACTIVE',1,0),
(5102154,0,'PLATFORM','BUTTON',5102150,'platform:firstleg:truck-appointment:operate','操作拖车预约',NULL,'POST',40,'ACTIVE',1,0) (5102154,0,'PLATFORM','BUTTON',5102150,'platform:firstleg:truck-appointment:operate','操作拖车预约',NULL,'POST',40,'ACTIVE',1,0)
@@ -14521,12 +14519,12 @@ ALTER TABLE baiyue_order.ord_order_cargo
USE baiyue_warehouse; USE baiyue_warehouse;
CREATE TABLE IF NOT EXISTS wh_supplier ( CREATE TABLE IF NOT EXISTS wh_supplier (
id BIGINT UNSIGNED NOT NULL COMMENT '供应商ID', tenant_id BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '平台公共作用域,固定为0', id BIGINT UNSIGNED NOT NULL COMMENT '供应商ID', tenant_id BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '平台公共作用域,固定为0',
name VARCHAR(160) NOT NULL COMMENT '供应商名称', category VARCHAR(20) NOT NULL COMMENT 'BOOKING/CUSTOMS/TRUCKING/CERTIFICATE', name VARCHAR(160) NOT NULL COMMENT '供应商名称', category VARCHAR(20) NOT NULL COMMENT '供应商类别:BOOKING订舱、CUSTOMS报关、TRUCKING拖车、CERTIFICATE认证',
scope VARCHAR(20) NULL COMMENT '订舱分类范围:DOMESTIC/INTERNATIONAL', region VARCHAR(80) NOT NULL COMMENT '地区', scope VARCHAR(20) NULL COMMENT '订舱分类范围:DOMESTIC/INTERNATIONAL', region VARCHAR(80) NOT NULL COMMENT '地区',
legal_representative VARCHAR(80) NOT NULL COMMENT '法人代表', contact_name VARCHAR(80) NOT NULL COMMENT '联系人', legal_representative VARCHAR(80) NOT NULL COMMENT '法人代表', contact_name VARCHAR(80) NOT NULL COMMENT '联系人',
phone VARCHAR(40) NOT NULL COMMENT '联系电话', email VARCHAR(160) NULL COMMENT '电子邮箱', address VARCHAR(255) NULL COMMENT '公司地址', phone VARCHAR(40) NOT NULL COMMENT '联系电话', email VARCHAR(160) NULL COMMENT '电子邮箱', address VARCHAR(255) NULL COMMENT '公司地址',
business_license_no VARCHAR(64) NULL COMMENT '营业执照号', license_file_id VARCHAR(128) NULL COMMENT 'File服务营业执照文件ID', business_license_no VARCHAR(64) NULL COMMENT '营业执照号', license_file_id VARCHAR(128) NULL COMMENT 'File服务营业执照文件ID',
status VARCHAR(20) NOT NULL DEFAULT 'ACTIVE' COMMENT 'ACTIVE/INACTIVE', settlement_period VARCHAR(32) NOT NULL COMMENT '结算周期', remark VARCHAR(500) NULL COMMENT '备注', status VARCHAR(20) NOT NULL DEFAULT 'ACTIVE' COMMENT '状态:ACTIVE启用、INACTIVE停用', settlement_period VARCHAR(32) NOT NULL COMMENT '结算周期', remark VARCHAR(500) NULL COMMENT '备注',
created_by BIGINT UNSIGNED NULL COMMENT '创建人ID', created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) 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', updated_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) COMMENT '最后修改时间', updated_by BIGINT UNSIGNED NULL COMMENT '最后修改人ID', updated_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) COMMENT '最后修改时间',
deleted TINYINT NOT NULL DEFAULT 0 COMMENT '逻辑删除标记', version INT NOT NULL DEFAULT 0 COMMENT '乐观锁版本', PRIMARY KEY(id), deleted TINYINT NOT NULL DEFAULT 0 COMMENT '逻辑删除标记', version INT NOT NULL DEFAULT 0 COMMENT '乐观锁版本', PRIMARY KEY(id),
@@ -14608,13 +14606,13 @@ CALL assert_platform_supplier_permissions(); DROP PROCEDURE assert_platform_supp
-- 国内仓整柜入库、出库、库存和不可变交易流水。 -- 国内仓整柜入库、出库、库存和不可变交易流水。
USE baiyue_warehouse; USE baiyue_warehouse;
CREATE TABLE IF NOT EXISTS wh_domestic_container_order ( CREATE TABLE IF NOT EXISTS wh_domestic_container_order (
id BIGINT UNSIGNED NOT NULL, tenant_id BIGINT UNSIGNED NOT NULL DEFAULT 0, business_type VARCHAR(16) NOT NULL, id BIGINT UNSIGNED NOT NULL COMMENT '整柜订单ID', tenant_id BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '平台公共作用域,固定为0', business_type VARCHAR(16) NOT NULL COMMENT '业务类型:INBOUND入库、OUTBOUND出库',
order_no VARCHAR(40) NOT NULL, warehouse_id BIGINT UNSIGNED NOT NULL, warehouse_name VARCHAR(120) NOT NULL, order_no VARCHAR(40) NOT NULL COMMENT '业务单号', warehouse_id BIGINT UNSIGNED NOT NULL COMMENT '平台国内仓ID', warehouse_name VARCHAR(120) NOT NULL COMMENT '仓库名称',
container_no VARCHAR(32) NOT NULL, cargo_name VARCHAR(128) NOT NULL, box_count INT UNSIGNED NOT NULL, container_no VARCHAR(32) NOT NULL COMMENT '柜号', cargo_name VARCHAR(128) NOT NULL COMMENT '货物名称', box_count INT UNSIGNED NOT NULL COMMENT '箱数',
volume_cbm DECIMAL(16,4) NOT NULL DEFAULT 0, operation_time DATETIME(3) NOT NULL, status VARCHAR(16) NOT NULL, volume_cbm DECIMAL(16,4) NOT NULL DEFAULT 0 COMMENT '体积(立方米)', operation_time DATETIME(3) NOT NULL COMMENT '操作时间', status VARCHAR(16) NOT NULL COMMENT '状态:PENDING待处理、COMPLETED已完成',
remark VARCHAR(500) NULL, created_by BIGINT UNSIGNED NULL, created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), remark VARCHAR(500) 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, updated_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3), updated_by BIGINT UNSIGNED NULL COMMENT '最后修改人ID', updated_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) COMMENT '最后修改时间',
deleted TINYINT(1) NOT NULL DEFAULT 0, version INT NOT NULL DEFAULT 0, deleted TINYINT(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标记', version INT NOT NULL DEFAULT 0 COMMENT '乐观锁版本',
PRIMARY KEY(id), UNIQUE KEY uk_dc_order_no(tenant_id,order_no,deleted), PRIMARY KEY(id), UNIQUE KEY uk_dc_order_no(tenant_id,order_no,deleted),
KEY idx_dc_order_list(tenant_id,business_type,warehouse_id,status,operation_time), KEY idx_dc_order_list(tenant_id,business_type,warehouse_id,status,operation_time),
KEY idx_dc_order_container(tenant_id,warehouse_id,container_no,business_type), KEY idx_dc_order_container(tenant_id,warehouse_id,container_no,business_type),
@@ -14622,13 +14620,13 @@ CREATE TABLE IF NOT EXISTS wh_domestic_container_order (
CONSTRAINT chk_dc_order_status CHECK(status IN('PENDING','COMPLETED')), CONSTRAINT chk_dc_order_quantity CHECK(box_count>0 AND volume_cbm>=0) CONSTRAINT chk_dc_order_status CHECK(status IN('PENDING','COMPLETED')), CONSTRAINT chk_dc_order_quantity CHECK(box_count>0 AND volume_cbm>=0)
) ENGINE=InnoDB COMMENT='国内仓独立整柜入出库单'; ) ENGINE=InnoDB COMMENT='国内仓独立整柜入出库单';
CREATE TABLE IF NOT EXISTS wh_domestic_container_inventory ( CREATE TABLE IF NOT EXISTS wh_domestic_container_inventory (
id BIGINT UNSIGNED NOT NULL, tenant_id BIGINT UNSIGNED NOT NULL DEFAULT 0, warehouse_id BIGINT UNSIGNED NOT NULL, id BIGINT UNSIGNED NOT NULL COMMENT '库存ID', tenant_id BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '平台公共作用域,固定为0', warehouse_id BIGINT UNSIGNED NOT NULL COMMENT '平台国内仓ID',
warehouse_name VARCHAR(120) NOT NULL, container_no VARCHAR(32) NOT NULL, cargo_name VARCHAR(128) NOT NULL, warehouse_name VARCHAR(120) NOT NULL COMMENT '仓库名称', container_no VARCHAR(32) NOT NULL COMMENT '柜号', cargo_name VARCHAR(128) NOT NULL COMMENT '货物名称',
inbound_boxes INT UNSIGNED NOT NULL, outbound_boxes INT UNSIGNED NOT NULL DEFAULT 0, available_boxes INT UNSIGNED NOT NULL, inbound_boxes INT UNSIGNED NOT NULL COMMENT '入库箱数', outbound_boxes INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '出库箱数', available_boxes INT UNSIGNED NOT NULL COMMENT '可用箱数',
inbound_volume_cbm DECIMAL(16,4) NOT NULL, inventory_status VARCHAR(24) NOT NULL, inbound_volume_cbm DECIMAL(16,4) NOT NULL COMMENT '入库体积(立方米)', inventory_status VARCHAR(24) NOT NULL COMMENT '库存状态:IN_STOCK在库、PARTIALLY_OUTBOUND部分出库、OUTBOUND已出库',
created_by BIGINT UNSIGNED NULL, created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), created_by BIGINT UNSIGNED NULL COMMENT '创建人ID', created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '创建时间',
updated_by BIGINT UNSIGNED NULL, updated_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3), updated_by BIGINT UNSIGNED NULL COMMENT '最后修改人ID', updated_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) COMMENT '最后修改时间',
deleted TINYINT(1) NOT NULL DEFAULT 0, version INT NOT NULL DEFAULT 0, deleted TINYINT(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标记', version INT NOT NULL DEFAULT 0 COMMENT '乐观锁版本',
PRIMARY KEY(id), UNIQUE KEY uk_dc_inventory_container(tenant_id,warehouse_id,container_no,deleted), PRIMARY KEY(id), UNIQUE KEY uk_dc_inventory_container(tenant_id,warehouse_id,container_no,deleted),
KEY idx_dc_inventory_list(tenant_id,warehouse_id,inventory_status,updated_at), KEY idx_dc_inventory_list(tenant_id,warehouse_id,inventory_status,updated_at),
CONSTRAINT chk_dc_inventory_scope CHECK(tenant_id=0), CONSTRAINT chk_dc_inventory_scope CHECK(tenant_id=0),
@@ -14636,23 +14634,23 @@ CREATE TABLE IF NOT EXISTS wh_domestic_container_inventory (
CONSTRAINT chk_dc_inventory_status CHECK(inventory_status IN('IN_STOCK','PARTIALLY_OUTBOUND','OUTBOUND')) CONSTRAINT chk_dc_inventory_status CHECK(inventory_status IN('IN_STOCK','PARTIALLY_OUTBOUND','OUTBOUND'))
) ENGINE=InnoDB COMMENT='平台国内仓整柜库存台账'; ) ENGINE=InnoDB COMMENT='平台国内仓整柜库存台账';
CREATE TABLE IF NOT EXISTS wh_domestic_container_transaction ( CREATE TABLE IF NOT EXISTS wh_domestic_container_transaction (
id BIGINT UNSIGNED NOT NULL, tenant_id BIGINT UNSIGNED NOT NULL DEFAULT 0, inventory_id BIGINT UNSIGNED NOT NULL, id BIGINT UNSIGNED NOT NULL COMMENT '流水ID', tenant_id BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '平台公共作用域,固定为0', inventory_id BIGINT UNSIGNED NOT NULL COMMENT '库存台账ID',
warehouse_id BIGINT UNSIGNED NOT NULL, container_no VARCHAR(32) NOT NULL, business_type VARCHAR(16) NOT NULL, warehouse_id BIGINT UNSIGNED NOT NULL COMMENT '平台国内仓ID', container_no VARCHAR(32) NOT NULL COMMENT '柜号', business_type VARCHAR(16) NOT NULL COMMENT '业务类型:INBOUND入库、OUTBOUND出库',
order_id BIGINT UNSIGNED NOT NULL, order_no VARCHAR(40) NOT NULL, quantity INT UNSIGNED NOT NULL, order_id BIGINT UNSIGNED NOT NULL COMMENT '业务单ID', order_no VARCHAR(40) NOT NULL COMMENT '业务单号', quantity INT UNSIGNED NOT NULL COMMENT '变动箱数',
operation_time DATETIME(3) NOT NULL, remark VARCHAR(500) NULL, created_by BIGINT UNSIGNED NULL, operation_time DATETIME(3) NOT NULL COMMENT '操作时间', remark VARCHAR(500) NULL COMMENT '备注', created_by BIGINT UNSIGNED NULL COMMENT '创建人ID',
created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), updated_by BIGINT UNSIGNED NULL, created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '创建时间', updated_by BIGINT UNSIGNED NULL COMMENT '最后修改人ID',
updated_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3), updated_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) COMMENT '最后修改时间',
deleted TINYINT(1) NOT NULL DEFAULT 0, version INT NOT NULL DEFAULT 0, deleted TINYINT(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标记', version INT NOT NULL DEFAULT 0 COMMENT '乐观锁版本',
PRIMARY KEY(id), UNIQUE KEY uk_dc_transaction_order(tenant_id,business_type,order_id), PRIMARY KEY(id), UNIQUE KEY uk_dc_transaction_order(tenant_id,business_type,order_id),
KEY idx_dc_transaction_detail(tenant_id,inventory_id,operation_time), KEY idx_dc_transaction_detail(tenant_id,inventory_id,operation_time),
CONSTRAINT chk_dc_transaction_scope CHECK(tenant_id=0), CONSTRAINT chk_dc_transaction_type CHECK(business_type IN('INBOUND','OUTBOUND')), CONSTRAINT chk_dc_transaction_scope CHECK(tenant_id=0), CONSTRAINT chk_dc_transaction_type CHECK(business_type IN('INBOUND','OUTBOUND')),
CONSTRAINT chk_dc_transaction_quantity CHECK(quantity>0) CONSTRAINT chk_dc_transaction_quantity CHECK(quantity>0)
) ENGINE=InnoDB COMMENT='国内仓整柜不可变进销存交易流水'; ) ENGINE=InnoDB COMMENT='国内仓整柜不可变进销存交易流水';
CREATE TABLE IF NOT EXISTS wh_domestic_container_idempotency ( CREATE TABLE IF NOT EXISTS wh_domestic_container_idempotency (
id BIGINT UNSIGNED NOT NULL, tenant_id BIGINT UNSIGNED NOT NULL DEFAULT 0, operation_type VARCHAR(16) NOT NULL, id BIGINT UNSIGNED NOT NULL COMMENT '幂等记录ID', tenant_id BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '平台公共作用域,固定为0', operation_type VARCHAR(16) NOT NULL COMMENT '操作类型:INBOUND入库、OUTBOUND出库',
idempotency_key VARCHAR(128) NOT NULL, request_hash CHAR(64) NOT NULL, resource_id BIGINT UNSIGNED NULL, idempotency_key VARCHAR(128) NOT NULL COMMENT '幂等键', request_hash CHAR(64) NOT NULL COMMENT '请求哈希', resource_id BIGINT UNSIGNED NULL COMMENT '业务资源ID',
resource_no VARCHAR(40) NULL, operation_status VARCHAR(16) NOT NULL, resource_no VARCHAR(40) NULL COMMENT '业务资源编号', operation_status VARCHAR(16) NOT NULL COMMENT '状态:PROCESSING处理中、COMPLETED已完成',
created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), completed_at DATETIME(3) NULL, created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '创建时间', completed_at DATETIME(3) NULL COMMENT '完成时间',
PRIMARY KEY(id), UNIQUE KEY uk_dc_idempotency(tenant_id,operation_type,idempotency_key), PRIMARY KEY(id), UNIQUE KEY uk_dc_idempotency(tenant_id,operation_type,idempotency_key),
CONSTRAINT chk_dc_idempotency_scope CHECK(tenant_id=0), CONSTRAINT chk_dc_idempotency_type CHECK(operation_type IN('INBOUND','OUTBOUND')), CONSTRAINT chk_dc_idempotency_scope CHECK(tenant_id=0), CONSTRAINT chk_dc_idempotency_type CHECK(operation_type IN('INBOUND','OUTBOUND')),
CONSTRAINT chk_dc_idempotency_status CHECK(operation_status IN('PROCESSING','COMPLETED')) CONSTRAINT chk_dc_idempotency_status CHECK(operation_status IN('PROCESSING','COMPLETED'))
@@ -14699,9 +14697,9 @@ AND ((r.app_code='PLATFORM' AND r.role_code='PLATFORM_ADMIN' AND p.permission_co
-- 开发期不保留独立详情权限:列表权限是唯一只读权限。 -- 开发期不保留独立详情权限:列表权限是唯一只读权限。
DELETE rp FROM iam_role_permission rp JOIN iam_permission p ON p.tenant_id=rp.tenant_id AND p.id=rp.permission_id 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.permission_code IN('platform:firstleg:container:view','platform:firstleg:preload:view','platform:firstleg:loading-list:view','platform:firstleg:ocean-booking:view','platform:firstleg:truck-appointment:view','platform:supplier:view'); WHERE p.permission_code IN('platform:firstleg:container:view','platform:firstleg:preload:view','platform:firstleg:loading-list:view','platform:supplier:view');
UPDATE iam_permission SET status='INACTIVE',deleted=1 UPDATE iam_permission SET status='INACTIVE',deleted=1
WHERE permission_code IN('platform:firstleg:container:view','platform:firstleg:preload:view','platform:firstleg:loading-list:view','platform:firstleg:ocean-booking:view','platform:firstleg:truck-appointment:view','platform:supplier:view'); WHERE permission_code IN('platform:firstleg:container:view','platform:firstleg:preload:view','platform:firstleg:loading-list:view','platform:supplier:view');
-- 新完成入库记录使用 WAIT_SPLIT;存量 INBOUNDED 继续作为可分柜兼容状态,统一迁移不改写主表或历史状态。 -- 新完成入库记录使用 WAIT_SPLIT;存量 INBOUNDED 继续作为可分柜兼容状态,统一迁移不改写主表或历史状态。
SELECT 'PASS' AS migration_status, SELECT 'PASS' AS migration_status,
@@ -212,7 +212,7 @@ BEGIN
WHERE (id BETWEEN 5102140 AND 5102149 WHERE (id BETWEEN 5102140 AND 5102149
AND permission_code <> CASE id AND permission_code <> CASE id
WHEN 5102140 THEN 'platform:firstleg:ocean-booking:list' WHEN 5102140 THEN 'platform:firstleg:ocean-booking:list'
WHEN 5102141 THEN 'platform:firstleg:ocean-booking:view' WHEN 5102141 THEN 'platform:firstleg:ocean-booking:list'
WHEN 5102142 THEN 'platform:firstleg:ocean-booking:create' WHEN 5102142 THEN 'platform:firstleg:ocean-booking:create'
WHEN 5102143 THEN 'platform:firstleg:ocean-booking:edit' WHEN 5102143 THEN 'platform:firstleg:ocean-booking:edit'
WHEN 5102144 THEN 'platform:firstleg:ocean-booking:submit' WHEN 5102144 THEN 'platform:firstleg:ocean-booking:submit'
@@ -238,7 +238,6 @@ INSERT INTO iam_permission
route_path,http_method,sort_no,status,built_in,deleted) route_path,http_method,sort_no,status,built_in,deleted)
VALUES VALUES
(5102140,0,'PLATFORM','MENU',5102000,'platform:firstleg:ocean-booking:list','订舱管理','/first-leg/ocean-bookings','GET',80,'ACTIVE',1,0), (5102140,0,'PLATFORM','MENU',5102000,'platform:firstleg:ocean-booking:list','订舱管理','/first-leg/ocean-bookings','GET',80,'ACTIVE',1,0),
(5102141,0,'PLATFORM','BUTTON',5102140,'platform:firstleg:ocean-booking:view','查看订舱',NULL,'GET',10,'ACTIVE',1,0),
(5102142,0,'PLATFORM','BUTTON',5102140,'platform:firstleg:ocean-booking:create','创建订舱',NULL,'POST',20,'ACTIVE',1,0), (5102142,0,'PLATFORM','BUTTON',5102140,'platform:firstleg:ocean-booking:create','创建订舱',NULL,'POST',20,'ACTIVE',1,0),
(5102143,0,'PLATFORM','BUTTON',5102140,'platform:firstleg:ocean-booking:edit','编辑订舱',NULL,'PUT',30,'ACTIVE',1,0), (5102143,0,'PLATFORM','BUTTON',5102140,'platform:firstleg:ocean-booking:edit','编辑订舱',NULL,'PUT',30,'ACTIVE',1,0),
(5102144,0,'PLATFORM','BUTTON',5102140,'platform:firstleg:ocean-booking:submit','提交订舱',NULL,'POST',40,'ACTIVE',1,0), (5102144,0,'PLATFORM','BUTTON',5102140,'platform:firstleg:ocean-booking:submit','提交订舱',NULL,'POST',40,'ACTIVE',1,0),
@@ -257,7 +256,7 @@ SELECT role.id,permission.id,0 FROM iam_role role JOIN iam_permission permission
WHERE role.tenant_id=0 AND role.role_code IN ('PLATFORM_ADMIN','ORDER_OPERATOR'); 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 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.permission_code='platform:firstleg:ocean-booking:view'; WHERE p.id=5102141;
UPDATE iam_permission SET status='INACTIVE',deleted=1 WHERE permission_code='platform:firstleg:ocean-booking:view'; UPDATE iam_permission SET status='INACTIVE',deleted=1 WHERE id=5102141;
USE baiyue_firstleg; USE baiyue_firstleg;
@@ -103,7 +103,7 @@ BEGIN
WHERE (id BETWEEN 5102150 AND 5102154 WHERE (id BETWEEN 5102150 AND 5102154
AND permission_code <> CASE id AND permission_code <> CASE id
WHEN 5102150 THEN 'platform:firstleg:truck-appointment:list' WHEN 5102150 THEN 'platform:firstleg:truck-appointment:list'
WHEN 5102151 THEN 'platform:firstleg:truck-appointment:view' WHEN 5102151 THEN 'platform:firstleg:truck-appointment:list'
WHEN 5102152 THEN 'platform:firstleg:truck-appointment:create' WHEN 5102152 THEN 'platform:firstleg:truck-appointment:create'
WHEN 5102153 THEN 'platform:firstleg:truck-appointment:edit' WHEN 5102153 THEN 'platform:firstleg:truck-appointment:edit'
WHEN 5102154 THEN 'platform:firstleg:truck-appointment:operate' WHEN 5102154 THEN 'platform:firstleg:truck-appointment:operate'
@@ -124,7 +124,6 @@ INSERT INTO iam_permission
route_path,http_method,sort_no,status,built_in,deleted) route_path,http_method,sort_no,status,built_in,deleted)
VALUES VALUES
(5102150,0,'PLATFORM','MENU',5102000,'platform:firstleg:truck-appointment:list','拖车预约','/first-leg/truck-appointments','GET',90,'ACTIVE',1,0), (5102150,0,'PLATFORM','MENU',5102000,'platform:firstleg:truck-appointment:list','拖车预约','/first-leg/truck-appointments','GET',90,'ACTIVE',1,0),
(5102151,0,'PLATFORM','BUTTON',5102150,'platform:firstleg:truck-appointment:view','查看拖车预约',NULL,'GET',10,'ACTIVE',1,0),
(5102152,0,'PLATFORM','BUTTON',5102150,'platform:firstleg:truck-appointment:create','创建拖车预约',NULL,'POST',20,'ACTIVE',1,0), (5102152,0,'PLATFORM','BUTTON',5102150,'platform:firstleg:truck-appointment:create','创建拖车预约',NULL,'POST',20,'ACTIVE',1,0),
(5102153,0,'PLATFORM','BUTTON',5102150,'platform:firstleg:truck-appointment:edit','编辑拖车预约',NULL,'PUT',30,'ACTIVE',1,0), (5102153,0,'PLATFORM','BUTTON',5102150,'platform:firstleg:truck-appointment:edit','编辑拖车预约',NULL,'PUT',30,'ACTIVE',1,0),
(5102154,0,'PLATFORM','BUTTON',5102150,'platform:firstleg:truck-appointment:operate','操作拖车预约',NULL,'POST',40,'ACTIVE',1,0) (5102154,0,'PLATFORM','BUTTON',5102150,'platform:firstleg:truck-appointment:operate','操作拖车预约',NULL,'POST',40,'ACTIVE',1,0)
@@ -139,7 +138,7 @@ SELECT role.id,permission.id,0 FROM iam_role role JOIN iam_permission permission
WHERE role.tenant_id=0 AND role.role_code IN ('PLATFORM_ADMIN','ORDER_OPERATOR'); 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 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.permission_code='platform:firstleg:truck-appointment:view'; WHERE p.id=5102151;
UPDATE iam_permission SET status='INACTIVE',deleted=1 WHERE permission_code='platform:firstleg:truck-appointment:view'; UPDATE iam_permission SET status='INACTIVE',deleted=1 WHERE id=5102151;
USE baiyue_firstleg; USE baiyue_firstleg;
@@ -40,7 +40,6 @@ class OceanBookingSqlContractTest {
void declaresDedicatedPlatformPermissions() throws Exception { void declaresDedicatedPlatformPermissions() throws Exception {
assertThat(sql()) assertThat(sql())
.contains("platform:firstleg:ocean-booking:list") .contains("platform:firstleg:ocean-booking:list")
.contains("platform:firstleg:ocean-booking:view")
.contains("platform:firstleg:ocean-booking:create") .contains("platform:firstleg:ocean-booking:create")
.contains("platform:firstleg:ocean-booking:edit") .contains("platform:firstleg:ocean-booking:edit")
.contains("platform:firstleg:ocean-booking:submit") .contains("platform:firstleg:ocean-booking:submit")
@@ -48,7 +47,8 @@ class OceanBookingSqlContractTest {
.contains("platform:firstleg:ocean-booking:release") .contains("platform:firstleg:ocean-booking:release")
.contains("platform:firstleg:ocean-booking:cancel") .contains("platform:firstleg:ocean-booking:cancel")
.contains("platform:firstleg:ocean-booking:change") .contains("platform:firstleg:ocean-booking:change")
.contains("platform:firstleg:ocean-booking:allocate"); .contains("platform:firstleg:ocean-booking:allocate")
.doesNotContain("platform:firstleg:ocean-booking:view");
} }
private static String sql() throws Exception { private static String sql() throws Exception {
@@ -24,7 +24,6 @@ class Phase3BookingTruckPermissionSqlContractTest {
private static final Set<String> OCEAN_PERMISSIONS = Set.of( private static final Set<String> OCEAN_PERMISSIONS = Set.of(
"platform:firstleg:ocean-booking:list", "platform:firstleg:ocean-booking:list",
"platform:firstleg:ocean-booking:view",
"platform:firstleg:ocean-booking:create", "platform:firstleg:ocean-booking:create",
"platform:firstleg:ocean-booking:edit", "platform:firstleg:ocean-booking:edit",
"platform:firstleg:ocean-booking:submit", "platform:firstleg:ocean-booking:submit",
@@ -36,7 +35,6 @@ class Phase3BookingTruckPermissionSqlContractTest {
private static final Set<String> TRUCK_PERMISSIONS = Set.of( private static final Set<String> TRUCK_PERMISSIONS = Set.of(
"platform:firstleg:truck-appointment:list", "platform:firstleg:truck-appointment:list",
"platform:firstleg:truck-appointment:view",
"platform:firstleg:truck-appointment:create", "platform:firstleg:truck-appointment:create",
"platform:firstleg:truck-appointment:edit", "platform:firstleg:truck-appointment:edit",
"platform:firstleg:truck-appointment:operate"); "platform:firstleg:truck-appointment:operate");
@@ -4,14 +4,14 @@ USE baiyue_warehouse;
CREATE TABLE IF NOT EXISTS wh_domestic_container_order ( CREATE TABLE IF NOT EXISTS wh_domestic_container_order (
id BIGINT UNSIGNED NOT NULL, tenant_id BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '平台公共作用域,固定为0', id BIGINT UNSIGNED NOT NULL, tenant_id BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '平台公共作用域,固定为0',
business_type VARCHAR(16) NOT NULL COMMENT 'INBOUND或OUTBOUND', order_no VARCHAR(40) NOT NULL, business_type VARCHAR(16) NOT NULL COMMENT '业务类型:INBOUND入库、OUTBOUND出库', order_no VARCHAR(40) NOT NULL COMMENT '业务单号',
warehouse_id BIGINT UNSIGNED NOT NULL COMMENT '平台国内仓ID', warehouse_name VARCHAR(120) NOT NULL, warehouse_id BIGINT UNSIGNED NOT NULL COMMENT '平台国内仓ID', warehouse_name VARCHAR(120) NOT NULL COMMENT '仓库名称',
container_no VARCHAR(32) NOT NULL, cargo_name VARCHAR(128) NOT NULL, box_count INT UNSIGNED NOT NULL, container_no VARCHAR(32) NOT NULL COMMENT '柜号', cargo_name VARCHAR(128) NOT NULL COMMENT '货物名称', box_count INT UNSIGNED NOT NULL COMMENT '箱数',
volume_cbm DECIMAL(16,4) NOT NULL DEFAULT 0, operation_time DATETIME(3) NOT NULL, volume_cbm DECIMAL(16,4) NOT NULL DEFAULT 0 COMMENT '体积(立方米)', operation_time DATETIME(3) NOT NULL COMMENT '操作时间',
status VARCHAR(16) NOT NULL COMMENT 'PENDING或COMPLETED', remark VARCHAR(500) NULL, status VARCHAR(16) NOT NULL COMMENT '状态:PENDING待处理、COMPLETED已完成', remark VARCHAR(500) NULL COMMENT '备注',
created_by BIGINT UNSIGNED NULL, created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), created_by BIGINT UNSIGNED NULL COMMENT '创建人ID', created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '创建时间',
updated_by BIGINT UNSIGNED NULL, updated_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3), updated_by BIGINT UNSIGNED NULL COMMENT '最后修改人ID', updated_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) COMMENT '最后修改时间',
deleted TINYINT(1) NOT NULL DEFAULT 0, version INT NOT NULL DEFAULT 0, deleted TINYINT(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标记', version INT NOT NULL DEFAULT 0 COMMENT '乐观锁版本',
PRIMARY KEY (id), UNIQUE KEY uk_dc_order_no (tenant_id, order_no, deleted), PRIMARY KEY (id), UNIQUE KEY uk_dc_order_no (tenant_id, order_no, deleted),
KEY idx_dc_order_list (tenant_id, business_type, warehouse_id, status, operation_time), KEY idx_dc_order_list (tenant_id, business_type, warehouse_id, status, operation_time),
KEY idx_dc_order_container (tenant_id, warehouse_id, container_no, business_type), KEY idx_dc_order_container (tenant_id, warehouse_id, container_no, business_type),
@@ -21,15 +21,15 @@ CREATE TABLE IF NOT EXISTS wh_domestic_container_order (
) ENGINE=InnoDB COMMENT='国内仓独立整柜入出库单,不复用头程装柜货柜模型'; ) ENGINE=InnoDB COMMENT='国内仓独立整柜入出库单,不复用头程装柜货柜模型';
CREATE TABLE IF NOT EXISTS wh_domestic_container_inventory ( CREATE TABLE IF NOT EXISTS wh_domestic_container_inventory (
id BIGINT UNSIGNED NOT NULL, tenant_id BIGINT UNSIGNED NOT NULL DEFAULT 0, id BIGINT UNSIGNED NOT NULL COMMENT '库存ID', tenant_id BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '平台公共作用域,固定为0',
warehouse_id BIGINT UNSIGNED NOT NULL, warehouse_name VARCHAR(120) NOT NULL, warehouse_id BIGINT UNSIGNED NOT NULL COMMENT '平台国内仓ID', warehouse_name VARCHAR(120) NOT NULL COMMENT '仓库名称',
container_no VARCHAR(32) NOT NULL, cargo_name VARCHAR(128) NOT NULL, container_no VARCHAR(32) NOT NULL COMMENT '柜号', cargo_name VARCHAR(128) NOT NULL COMMENT '货物名称',
inbound_boxes INT UNSIGNED NOT NULL, outbound_boxes INT UNSIGNED NOT NULL DEFAULT 0, inbound_boxes INT UNSIGNED NOT NULL COMMENT '入库箱数', outbound_boxes INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '出库箱数',
available_boxes INT UNSIGNED NOT NULL, inbound_volume_cbm DECIMAL(16,4) NOT NULL, available_boxes INT UNSIGNED NOT NULL COMMENT '可用箱数', inbound_volume_cbm DECIMAL(16,4) NOT NULL COMMENT '入库体积(立方米)',
inventory_status VARCHAR(24) NOT NULL COMMENT 'IN_STOCK、PARTIALLY_OUTBOUND或OUTBOUND', inventory_status VARCHAR(24) NOT NULL COMMENT 'IN_STOCK、PARTIALLY_OUTBOUND或OUTBOUND',
created_by BIGINT UNSIGNED NULL, created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), created_by BIGINT UNSIGNED NULL COMMENT '创建人ID', created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '创建时间',
updated_by BIGINT UNSIGNED NULL, updated_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3), updated_by BIGINT UNSIGNED NULL COMMENT '最后修改人ID', updated_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) COMMENT '最后修改时间',
deleted TINYINT(1) NOT NULL DEFAULT 0, version INT NOT NULL DEFAULT 0, deleted TINYINT(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标记', version INT NOT NULL DEFAULT 0 COMMENT '乐观锁版本',
PRIMARY KEY (id), UNIQUE KEY uk_dc_inventory_container (tenant_id, warehouse_id, container_no, deleted), PRIMARY KEY (id), UNIQUE KEY uk_dc_inventory_container (tenant_id, warehouse_id, container_no, deleted),
KEY idx_dc_inventory_list (tenant_id, warehouse_id, inventory_status, updated_at), KEY idx_dc_inventory_list (tenant_id, warehouse_id, inventory_status, updated_at),
CONSTRAINT chk_dc_inventory_scope CHECK (tenant_id=0), CONSTRAINT chk_dc_inventory_scope CHECK (tenant_id=0),
@@ -38,13 +38,13 @@ CREATE TABLE IF NOT EXISTS wh_domestic_container_inventory (
) ENGINE=InnoDB COMMENT='平台国内仓整柜库存台账'; ) ENGINE=InnoDB COMMENT='平台国内仓整柜库存台账';
CREATE TABLE IF NOT EXISTS wh_domestic_container_transaction ( CREATE TABLE IF NOT EXISTS wh_domestic_container_transaction (
id BIGINT UNSIGNED NOT NULL, tenant_id BIGINT UNSIGNED NOT NULL DEFAULT 0, id BIGINT UNSIGNED NOT NULL COMMENT '流水ID', tenant_id BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '平台公共作用域,固定为0',
inventory_id BIGINT UNSIGNED NOT NULL, warehouse_id BIGINT UNSIGNED NOT NULL, container_no VARCHAR(32) NOT NULL, inventory_id BIGINT UNSIGNED NOT NULL COMMENT '库存台账ID', warehouse_id BIGINT UNSIGNED NOT NULL COMMENT '平台国内仓ID', container_no VARCHAR(32) NOT NULL COMMENT '柜号',
business_type VARCHAR(16) NOT NULL, order_id BIGINT UNSIGNED NOT NULL, order_no VARCHAR(40) NOT NULL, business_type VARCHAR(16) NOT NULL COMMENT '业务类型:INBOUND入库、OUTBOUND出库', order_id BIGINT UNSIGNED NOT NULL COMMENT '业务单ID', order_no VARCHAR(40) NOT NULL COMMENT '业务单号',
quantity INT UNSIGNED NOT NULL, operation_time DATETIME(3) NOT NULL, remark VARCHAR(500) NULL, quantity INT UNSIGNED NOT NULL COMMENT '变动箱数', operation_time DATETIME(3) NOT NULL COMMENT '操作时间', remark VARCHAR(500) NULL COMMENT '备注',
created_by BIGINT UNSIGNED NULL, created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), created_by BIGINT UNSIGNED NULL COMMENT '创建人ID', created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '创建时间',
updated_by BIGINT UNSIGNED NULL, updated_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3), updated_by BIGINT UNSIGNED NULL COMMENT '最后修改人ID', updated_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) COMMENT '最后修改时间',
deleted TINYINT(1) NOT NULL DEFAULT 0, version INT NOT NULL DEFAULT 0, deleted TINYINT(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标记', version INT NOT NULL DEFAULT 0 COMMENT '乐观锁版本',
PRIMARY KEY (id), UNIQUE KEY uk_dc_transaction_order (tenant_id, business_type, order_id), PRIMARY KEY (id), UNIQUE KEY uk_dc_transaction_order (tenant_id, business_type, order_id),
KEY idx_dc_transaction_detail (tenant_id, inventory_id, operation_time), KEY idx_dc_transaction_detail (tenant_id, inventory_id, operation_time),
CONSTRAINT chk_dc_transaction_scope CHECK (tenant_id=0), CONSTRAINT chk_dc_transaction_type CHECK (business_type IN ('INBOUND','OUTBOUND')), CONSTRAINT chk_dc_transaction_scope CHECK (tenant_id=0), CONSTRAINT chk_dc_transaction_type CHECK (business_type IN ('INBOUND','OUTBOUND')),
@@ -52,10 +52,10 @@ CREATE TABLE IF NOT EXISTS wh_domestic_container_transaction (
) ENGINE=InnoDB COMMENT='国内仓整柜不可变进销存交易流水'; ) ENGINE=InnoDB COMMENT='国内仓整柜不可变进销存交易流水';
CREATE TABLE IF NOT EXISTS wh_domestic_container_idempotency ( CREATE TABLE IF NOT EXISTS wh_domestic_container_idempotency (
id BIGINT UNSIGNED NOT NULL, tenant_id BIGINT UNSIGNED NOT NULL DEFAULT 0, id BIGINT UNSIGNED NOT NULL COMMENT '幂等记录ID', tenant_id BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '平台公共作用域,固定为0',
operation_type VARCHAR(16) NOT NULL, idempotency_key VARCHAR(128) NOT NULL, request_hash CHAR(64) NOT NULL, operation_type VARCHAR(16) NOT NULL COMMENT '操作类型:INBOUND入库、OUTBOUND出库', idempotency_key VARCHAR(128) NOT NULL COMMENT '幂等键', request_hash CHAR(64) NOT NULL COMMENT '请求哈希',
resource_id BIGINT UNSIGNED NULL, resource_no VARCHAR(40) NULL, operation_status VARCHAR(16) NOT NULL, resource_id BIGINT UNSIGNED NULL COMMENT '业务资源ID', resource_no VARCHAR(40) NULL COMMENT '业务资源编号', operation_status VARCHAR(16) NOT NULL COMMENT '状态:PROCESSING处理中、COMPLETED已完成',
created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), completed_at DATETIME(3) NULL, created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '创建时间', completed_at DATETIME(3) NULL COMMENT '完成时间',
PRIMARY KEY (id), UNIQUE KEY uk_dc_idempotency (tenant_id, operation_type, idempotency_key), PRIMARY KEY (id), UNIQUE KEY uk_dc_idempotency (tenant_id, operation_type, idempotency_key),
CONSTRAINT chk_dc_idempotency_scope CHECK (tenant_id=0), CONSTRAINT chk_dc_idempotency_type CHECK (operation_type IN ('INBOUND','OUTBOUND')), CONSTRAINT chk_dc_idempotency_scope CHECK (tenant_id=0), CONSTRAINT chk_dc_idempotency_type CHECK (operation_type IN ('INBOUND','OUTBOUND')),
CONSTRAINT chk_dc_idempotency_status CHECK (operation_status IN ('PROCESSING','COMPLETED')) CONSTRAINT chk_dc_idempotency_status CHECK (operation_status IN ('PROCESSING','COMPLETED'))
@@ -6,7 +6,7 @@ CREATE TABLE IF NOT EXISTS wh_supplier (
id BIGINT UNSIGNED NOT NULL COMMENT '供应商ID', id BIGINT UNSIGNED NOT NULL COMMENT '供应商ID',
tenant_id BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '平台公共作用域,固定为0', tenant_id BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '平台公共作用域,固定为0',
name VARCHAR(160) NOT NULL COMMENT '供应商名称', name VARCHAR(160) NOT NULL COMMENT '供应商名称',
category VARCHAR(20) NOT NULL COMMENT 'BOOKING/CUSTOMS/TRUCKING/CERTIFICATE', category VARCHAR(20) NOT NULL COMMENT '供应商类别:BOOKING订舱、CUSTOMS报关、TRUCKING拖车、CERTIFICATE认证',
scope VARCHAR(20) NULL COMMENT '订舱分类范围:DOMESTIC/INTERNATIONAL', scope VARCHAR(20) NULL COMMENT '订舱分类范围:DOMESTIC/INTERNATIONAL',
region VARCHAR(80) NOT NULL COMMENT '地区', region VARCHAR(80) NOT NULL COMMENT '地区',
legal_representative VARCHAR(80) NOT NULL COMMENT '法人代表', legal_representative VARCHAR(80) NOT NULL COMMENT '法人代表',
@@ -16,7 +16,7 @@ CREATE TABLE IF NOT EXISTS wh_supplier (
address VARCHAR(255) NULL COMMENT '公司地址', address VARCHAR(255) NULL COMMENT '公司地址',
business_license_no VARCHAR(64) NULL COMMENT '营业执照号', business_license_no VARCHAR(64) NULL COMMENT '营业执照号',
license_file_id VARCHAR(128) NULL COMMENT 'File服务营业执照文件ID', license_file_id VARCHAR(128) NULL COMMENT 'File服务营业执照文件ID',
status VARCHAR(20) NOT NULL DEFAULT 'ACTIVE' COMMENT 'ACTIVE/INACTIVE', status VARCHAR(20) NOT NULL DEFAULT 'ACTIVE' COMMENT '状态:ACTIVE启用、INACTIVE停用',
settlement_period VARCHAR(32) NOT NULL COMMENT '结算周期', settlement_period VARCHAR(32) NOT NULL COMMENT '结算周期',
remark VARCHAR(500) NULL COMMENT '备注', remark VARCHAR(500) NULL COMMENT '备注',
created_by BIGINT UNSIGNED NULL COMMENT '创建人ID', created_by BIGINT UNSIGNED NULL COMMENT '创建人ID',