增加软删除

This commit is contained in:
wuweihua
2026-10-12 09:52:24 +08:00
parent 5aba8af49d
commit d08485d738
25 changed files with 561 additions and 101 deletions
+11 -5
View File
@@ -299,6 +299,7 @@ CREATE TABLE `product` (
`effective_date` datetime DEFAULT NULL COMMENT '目录生效时间(到小时)',
`expire_date` datetime DEFAULT NULL COMMENT '产品失效时间(空=长期;下一版生效时间=本版失效时间)',
`status` char(1) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '0' COMMENT '0待生效 1已生效 2已失效',
`is_del` char(1) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '0' COMMENT '是否删除 0未删除 1已删除',
`source_sheet` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '来源Excel sheet名',
`remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`tms_id` int(11) DEFAULT NULL COMMENT '多租户ID',
@@ -307,7 +308,7 @@ CREATE TABLE `product` (
`updated_by` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`product_id`) USING BTREE,
UNIQUE KEY `uk_product_code_eff` (`product_code`,`effective_date`),
UNIQUE KEY `uk_product_code_eff_is_del` (`product_code`,`effective_date`,`is_del`),
KEY `idx_tax_status` (`tax_mode`,`status`) USING BTREE,
KEY `idx_product_code` (`product_code`)
) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='产品主表-来自产品目录';
@@ -336,10 +337,11 @@ CREATE TABLE `product_country` (
`effective_date` datetime DEFAULT NULL COMMENT '产品价表生效时间(到小时)',
`expire_date` datetime DEFAULT NULL COMMENT '失效时间(空=开放;下一版导入生效时间=本版失效时间)',
`status` char(1) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '0' COMMENT '0待生效 1已生效 2已失效',
`is_del` char(1) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '0' COMMENT '是否删除 0未删除 1已删除',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`detail_id`) USING BTREE,
UNIQUE KEY `uk_product_country_zone_weight_eff` (`product_code`,`country_name`,`zone_code`,`weight_min`,`weight_max`,`effective_date`),
UNIQUE KEY `uk_product_country_zone_weight_eff_is_del` (`product_code`,`country_name`,`zone_code`,`weight_min`,`weight_max`,`effective_date`,`is_del`),
KEY `idx_country_code` (`country_code`) USING BTREE,
KEY `idx_weight_match` (`product_code`,`country_code`,`weight_min`,`weight_max`) USING BTREE,
KEY `idx_product_eff` (`product_code`,`effective_date`,`expire_date`),
@@ -364,6 +366,7 @@ CREATE TABLE IF NOT EXISTS `redline_product` (
`effective_date` datetime DEFAULT NULL COMMENT '目录生效时间(到小时)',
`expire_date` datetime DEFAULT NULL COMMENT '失效时间(空=长期)',
`status` char(1) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '0' COMMENT '0待生效 1已生效 2已失效',
`is_del` char(1) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '0' COMMENT '是否删除 0未删除 1已删除',
`source_sheet` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '来源Excel sheet名',
`pef_id` bigint(20) DEFAULT NULL COMMENT '关联导入价表Excel附件 prc_price_excel_file.pef_id',
`remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
@@ -373,7 +376,7 @@ CREATE TABLE IF NOT EXISTS `redline_product` (
`updated_by` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`product_id`) USING BTREE,
UNIQUE KEY `uk_redline_product_code_eff` (`product_code`,`effective_date`),
UNIQUE KEY `uk_redline_product_code_eff_is_del` (`product_code`,`effective_date`,`is_del`),
KEY `idx_redline_tax_status` (`tax_mode`,`status`) USING BTREE,
KEY `idx_redline_product_code` (`product_code`),
KEY `idx_redline_product_pef_id` (`pef_id`)
@@ -398,10 +401,11 @@ CREATE TABLE IF NOT EXISTS `redline_product_country` (
`effective_date` datetime DEFAULT NULL COMMENT '生效时间(到小时)',
`expire_date` datetime DEFAULT NULL COMMENT '失效时间(空=开放)',
`status` char(1) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '0' COMMENT '0待生效 1已生效 2已失效',
`is_del` char(1) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '0' COMMENT '是否删除 0未删除 1已删除',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`detail_id`) USING BTREE,
UNIQUE KEY `uk_redline_country_zone_weight_eff` (`product_code`,`country_name`,`zone_code`,`weight_min`,`weight_max`,`effective_date`),
UNIQUE KEY `uk_redline_country_zone_weight_eff_is_del` (`product_code`,`country_name`,`zone_code`,`weight_min`,`weight_max`,`effective_date`,`is_del`),
KEY `idx_redline_country_code` (`country_code`) USING BTREE,
KEY `idx_redline_weight_match` (`product_code`,`country_code`,`weight_min`,`weight_max`) USING BTREE,
KEY `idx_redline_product_eff` (`product_code`,`effective_date`,`expire_date`),
@@ -1505,6 +1509,7 @@ CREATE TABLE `prc_surcharge` (
`currency` char(3) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'CNY' COMMENT '币种',
`round_mode` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'HALF_UP' COMMENT '取值方式(字典bms_round_mode)',
`ss_code` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'on' COMMENT '状态 on/of',
`is_del` char(1) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '0' COMMENT '是否删除 0未删除 1已删除',
`country_code` char(2) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '适用国家ISO2(空=全部)',
`sc_note` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注',
`tms_id` bigint(20) DEFAULT NULL COMMENT '租户ID',
@@ -1529,12 +1534,13 @@ CREATE TABLE `prc_surcharge_rel` (
`detail_id` bigint(20) DEFAULT NULL COMMENT '明细ID:PRODUCT/REDLINE=product_country.detail_id(空=产品全部);SALES=prc_price_set_detail.psd_id',
`price_type` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'PRODUCT' COMMENT '价格类型 PRODUCT产品价/SALES销售价/REDLINE红线价',
`country_code` char(2) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '适用国家ISO2(空=全部)',
`is_del` char(1) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '0' COMMENT '是否删除 0未删除 1已删除',
`created_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建人',
`create_time` datetime DEFAULT NULL,
`updated_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新人',
`update_time` datetime DEFAULT NULL,
PRIMARY KEY (`rel_id`),
UNIQUE KEY `uk_rel_scope` (`sc_id`,`product_id`,`detail_id`,`price_type`,`country_code`),
UNIQUE KEY `uk_rel_scope_is_del` (`sc_id`,`product_id`,`detail_id`,`price_type`,`country_code`,`is_del`),
KEY `idx_rel_sc` (`sc_id`),
KEY `idx_rel_product` (`product_id`),
KEY `idx_rel_product_code` (`product_code`),