Enhance surcharge management by adding support for price type filtering in SurchargeController and related services. Introduce new methods for handling redline product codes in mappers and services. Update front-end API to accommodate price type parameters in surcharge queries. Modify database schema to include redline product and country tables for improved surcharge calculations.
This commit is contained in:
@@ -345,6 +345,68 @@ CREATE TABLE `product_country` (
|
||||
CONSTRAINT `fk_product_country_pid` FOREIGN KEY (`product_id`) REFERENCES `product` (`product_id`) ON DELETE CASCADE
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1609 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='产品国家服务明细-重量段+尺寸/尾程/时效(不含运费)';
|
||||
|
||||
-- redline_product / redline_product_country: mirror of product / product_country
|
||||
-- Run once on existing DB
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `redline_product` (
|
||||
`product_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '红线价产品ID',
|
||||
`product_code` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '产品对接代码,如 WSP037',
|
||||
`product_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '产品名称',
|
||||
`service_level` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '时效等级',
|
||||
`cargo_attr` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '走货属性',
|
||||
`dest_region` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '目的区域',
|
||||
`update_note` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '更新内容说明',
|
||||
`tax_mode` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'TAX_INCLUDED' COMMENT 'TAX_INCLUDED包税 TAX_EXCLUDED不包税',
|
||||
`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已失效',
|
||||
`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,
|
||||
`tms_id` int(11) DEFAULT NULL COMMENT '多租户ID',
|
||||
`created_by` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
|
||||
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`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`),
|
||||
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`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='红线价产品主表';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `redline_product_country` (
|
||||
`detail_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '明细ID',
|
||||
`product_id` bigint(20) DEFAULT NULL COMMENT '红线价产品ID redline_product.product_id',
|
||||
`product_code` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '产品代码',
|
||||
`country_name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '国家中文名',
|
||||
`country_code` char(2) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'ISO2',
|
||||
`zone_id` bigint(20) DEFAULT NULL COMMENT 'prc_zone.zone_id',
|
||||
`zone_code` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`zone_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`weight_min` decimal(10,3) DEFAULT NULL COMMENT '重量段最小值KG(含)',
|
||||
`weight_max` decimal(10,3) DEFAULT NULL COMMENT '重量段最大值KG(含)',
|
||||
`freight_price` decimal(10,4) DEFAULT NULL COMMENT '运费 RMB/KG',
|
||||
`registration_fee` decimal(10,2) DEFAULT NULL COMMENT '挂号费 RMB/票',
|
||||
`size_limit` varchar(1000) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`last_mile` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`lead_time` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`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已失效',
|
||||
`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`),
|
||||
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`),
|
||||
KEY `idx_redline_country_pid` (`product_id`),
|
||||
KEY `idx_redline_country_zone` (`zone_id`),
|
||||
CONSTRAINT `fk_redline_country_pid` FOREIGN KEY (`product_id`) REFERENCES `redline_product` (`product_id`) ON DELETE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='红线价国家服务明细';
|
||||
|
||||
|
||||
-- ----------------------------
|
||||
-- 表结构:`region`
|
||||
-- ----------------------------
|
||||
|
||||
Reference in New Issue
Block a user